diff --git a/404.html b/404.html index cef0d5320..8b593f2a0 100644 --- a/404.html +++ b/404.html @@ -2,7 +2,7 @@ - + Page Not Found | Eightshift Development kit @@ -15,9 +15,9 @@ - - - + + +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

diff --git a/assets/css/styles.3f5e0f2f.css b/assets/css/styles.3f5e0f2f.css new file mode 100644 index 000000000..3fdc24a22 --- /dev/null +++ b/assets/css/styles.3f5e0f2f.css @@ -0,0 +1 @@ +@import url(https://use.typekit.net/baz1roy.css);.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))}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.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)}.markdown li,body{word-wrap:break-word}pre,table{overflow:auto}.button,code{vertical-align:middle}.group:focus .group-focus\:scale-75,.group:hover .group-hover\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75}.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit,.DocSearch-Modal .DocSearch-HitsFooter a{transition-duration:.15s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}*,.DocSearch-Container,.DocSearch-Container *,:after,:before{box-sizing:border-box}.toggleButton_gllP,html{-webkit-tap-highlight-color:transparent}: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;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)}.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none{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}.items-start,.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.items-center,.menuExternalLink_NmtK,.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,.theme-doc-sidebar-item-link.theme-doc-sidebar-item-link-level-1:first-child{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}.DocSearch-Modal .DocSearch-Hits,.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)}progress,sub,sup{vertical-align:initial}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)}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.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{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)}.markdown ol ol ol,ol ol,ul ol{list-style-type:lower-roman}ol ol,ol ul,ul ol,ul ul{margin:0}.markdown ol ol ol ol ol,ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}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);color:inherit;text-decoration:inherit}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,.wordWrapButtonEnabled_EoeP .wordWrapButtonIcon_Bwma{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)}.clean-btn,hr{color:inherit}.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}.text--uppercase,.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;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;text-transform:uppercase}.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,.hash-link:focus,:hover>.hash-link{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){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__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:any-link:hover,.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__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}.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,.pt-0{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);float:right;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_Tfdd: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}#nprogress,.dropdown__menu,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.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;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)}.footer__links,.mb-4{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_Djhp article>:first-child,.docItemContainer_Djhp header+*,.footer__item{margin-top:0}.markdown ol,.markdown ul{margin:1rem 0 1rem 1rem}.collapsibleContent_i85q p:last-child,.details_lb9f>summary>p:last-child,.footer__items{margin-bottom:0}.blog-list-page .main-wrapper .container>.row>main article footer>.col,.blog-tags-post-list-page .main-wrapper .container>.row>main article footer>.col,.codeBlockStandalone_MEMb,[type=checkbox],fieldset,legend{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_f1Hy{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_lb9f[data-collapsed=false].isBrowser_bmU9>summary:before,.details_lb9f[open]:not(.isBrowser_bmU9)>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)}.DocSearch-Modal .DocSearch-Hit-action-button: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}.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{content:"";height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;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)}.flex,.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;position:fixed;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;top:0;visibility:hidden;left:0}.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_xLdY,.navbar__title,main .container>.row>.col--3{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.m-0,.navbar__items--center .navbar__brand,blockquote,body,dd,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,menu,ol,p,pre,ul{margin:0}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child,.pr-0{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.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:.9rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.cursor-pointer,.dropdownNavbarItemMobile_S0Fm,.pills__item,.tabs__item,[role=button],button{cursor:pointer}.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);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;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)}.mt-10,.my-10{margin-top:2.5rem}.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}.inline-flex,.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{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,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;display:inline-block;padding:.25rem 1rem;transition:background 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);display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.before\:transition-transform:before,.transition,.transition-colors{transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.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)}.text-black,blockquote p{--tw-text-opacity:1;color:rgb(17 17 17/var(--tw-text-opacity))}.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;--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-key-pressed-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 1px 1px 0 rgba(3,4,9,.302);--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);--ifm-navbar-height:6.5rem;--ifm-color-primary:var(--global-colors-infinum);--ifm-color-primary-dark:#c32323;--ifm-color-primary-darker:#b82121;--ifm-color-primary-darkest:#981c1c;--ifm-color-primary-light:#dc3e3e;--ifm-color-primary-lighter:#de4949;--ifm-color-primary-lightest:#e46969;--ifm-code-font-size:95%;--ifm-code-background:var(--global-colors-sky70);--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-key-pressed-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 1px 0 #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-announcement-bar-height:auto;--docusaurus-collapse-button-bg:#0000;--docusaurus-collapse-button-bg-hover:#0000001a;--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px;--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}.esd-full-fixed{inset:0;position:fixed}.relative,sub,sup{position:relative}progress{appearance:none}progress::-webkit-progress-bar{background-color:#fff;border:1px solid var(--ifm-color-gray-400);border-radius:10rem;height:.5rem}progress::-webkit-progress-value{background-color:#d8262c;border-radius:10rem;height:.5rem;transition:inline-size .5s ease-out}.markdown details,.markdown table thead,.markdown table tr{background-color:initial}progress[value]::-moz-progress-bar{background-color:#d8262c;border-radius:10rem;height:.5rem}*,:after,:before{border:0 solid}.border-t,hr{border-top-width:1px}.DocSearch-Modal .DocSearch-Commands .DocSearch-Commands-Key,.DocSearch.DocSearch-Button .DocSearch-Button-Key{border-radius:.25rem!important;height:1.25rem!important;top:0!important;width:1.25rem!important;font-family:ibm-plex-mono,monospace!important;padding:0!important}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:neue-haas-grotesk-text,Arial,sans-serif;font-feature-settings:normal;font-variation-settings:normal;tab-size:4}body{line-height:inherit}hr{height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ibm-plex-mono,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0}sub{bottom:-.25em}sup{top:-.5em}table{display:block;margin-bottom:var(--ifm-spacing-vertical);border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}.markdown .alert,.shadow{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.font-bold,blockquote p,h1,h2,h3,h4,h5,h6{font-weight:700}.DocSearch-Modal .DocSearch-Commands .DocSearch-Commands-Key,.DocSearch-Modal .DocSearch-Logo .DocSearch-Label,.DocSearch.DocSearch-Button .DocSearch-Button-Key,.DocSearch.DocSearch-Button .DocSearch-Button-Placeholder{line-height:1.5!important;font-size:clamp(.8888888888888888rem,calc(.89437rem - .02741vw),.8680555555555557rem)!important;letter-spacing:.0142em!important}summary{display:list-item}menu,ol,ul{list-style:none;padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.sticky{position:sticky}.isolate{isolation:isolate}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-5{grid-column:span 5/span 5}.col-span-6{grid-column:span 6/span 6}.col-span-8{grid-column:span 8/span 8}.col-start-1{grid-column-start:1}.col-start-5{grid-column-start:5}.col-start-7{grid-column-start:7}.col-start-9{grid-column-start:9}.row-span-full{grid-row:1/-1}.row-start-1{grid-row-start:1}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.-mx-side-padding{margin-left:-5.56vw;margin-right:-5.56vw}.es-h-center,.es-showcase-grid{margin-left:auto;margin-right:auto}.my-10{margin-bottom:2.5rem}.-mb-2{margin-bottom:-.5rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-5{margin-bottom:1.25rem}.block{display:block}.inline,.tags_jXut{display:inline}.grid{display:grid}.contents{display:contents}.aspect-\[3\/2\]{aspect-ratio:3/2}.h-20{height:5rem}.h-24{height:6rem}.h-6{height:1.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-full,nav.theme-doc-breadcrumbs breadcrumbsContainer_node_modules-\@docusaurus-theme-classic-lib-theme-DocBreadcrumbs-styles-module{width:100%}.max-w-\[15ch\],.max-w-prose-mini{max-width:15ch}.max-w-lg{max-width:32rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.origin-right{transform-origin:right}.-scale-x-100,.before\:translate-y-full-plus-px:before,.focus\:before\:translate-y-0:focus:before,.group:focus .group-focus\:scale-75,.group:focus .group-focus\:translate-x-3,.group:hover .group-hover\:scale-75,.group:hover .group-hover\:translate-x-3,.hover\:before\:translate-y-0:hover:before,.hover\:scale-105:hover,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-scale-x-100{--tw-scale-x:-1}.select-none{-webkit-user-select:none;user-select:none}.auto-cols-auto{grid-auto-columns:auto}.grid-flow-col{grid-auto-flow:column}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4,.navbar__items{gap:1rem}.gap-8{gap:2rem}.gap-gutter{gap:2.78vw}.gap-y-10{row-gap:2.5rem}.gap-y-20{row-gap:5rem}.markdown>:not([hidden])~:not([hidden]),.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.breadcrumbs,.overflow-x-auto{overflow-x:auto}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-l-4,blockquote{border-left-width:4px}.border-grey-100{--tw-border-opacity:1;border-color:rgb(245 249 255/var(--tw-border-opacity))}.border-l-candy-30{--tw-border-opacity:1;border-left-color:rgb(216 85 95/var(--tw-border-opacity))}.border-l-infinum,blockquote{border-left-color:rgb(216 38 44/var(--tw-border-opacity));--tw-border-opacity:1}.border-l-olive-30{--tw-border-opacity:1;border-left-color:rgb(90 135 114/var(--tw-border-opacity))}.border-l-sand-30{--tw-border-opacity:1;border-left-color:rgb(217 168 102/var(--tw-border-opacity))}.border-l-sky-30{--tw-border-opacity:1;border-left-color:rgb(100 121 195/var(--tw-border-opacity))}.border-l-violet-30{--tw-border-opacity:1;border-left-color:rgb(145 103 148/var(--tw-border-opacity))}.border-t-grey-200{--tw-border-opacity:1;border-top-color:rgb(228 235 245/var(--tw-border-opacity))}.bg-grey-100{--tw-bg-opacity:1;background-color:rgb(245 249 255/var(--tw-bg-opacity))}.bg-infinum{--tw-bg-opacity:1;background-color:rgb(216 38 44/var(--tw-bg-opacity))}.object-cover{object-fit:cover}.navbar-sidebar__brand,.navbar-sidebar__items .menu,.p-side-padding{padding:5.56vw}.px-7{padding-left:1.75rem;padding-right:1.75rem}.px-7\.5{padding-left:1.875rem;padding-right:1.875rem}.px-side-padding{padding-left:5.56vw;padding-right:5.56vw}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-3\.75{padding-bottom:.9375rem;padding-top:.9375rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pb-20{padding-bottom:5rem}.pb-28{padding-bottom:7rem}.pl-10{padding-left:2.5rem}.pt-10{padding-top:2.5rem}.es-text-center,.text-center{text-align:center}.font-display{font-family:neue-haas-grotesk-display,Arial,sans-serif}.font-sans{font-family:neue-haas-grotesk-text,Arial,sans-serif}.es-big-title,.es-big-title-limited,.navbar-sidebar__items .menu__link,h1,h2,h3,h4,h5,h6{font-family:neue-haas-grotesk-display,Arial,sans-serif}.font-medium{font-weight:500}.not-italic{font-style:normal}.leading-none{line-height:1}.blog-list-page .main-wrapper .container>.row>main article h2+div,.blog-tags-post-list-page .main-wrapper .container>.row>main article h2+div,.text-12,.theme-code-block>div[class^=codeBlockTitle]{font-size:clamp(.7671968738091037rem,calc(.78721rem - .10006vw),.6911478531570941rem);letter-spacing:.0286em;line-height:1.33}.text-candy-30{--tw-text-opacity:1;color:rgb(216 85 95/var(--tw-text-opacity))}.text-grey-400{--tw-text-opacity:1;color:rgb(146 158 178/var(--tw-text-opacity))}.text-grey-500{--tw-text-opacity:1;color:rgb(82 94 108/var(--tw-text-opacity))}.group:hover .group-hover\:text-infinum,.hover\:text-infinum:hover,.markdown a,.text-infinum,section[class*=DocCategoryGeneratedIndexPage] article .card:hover{--tw-text-opacity:1;color:rgb(216 38 44/var(--tw-text-opacity))}.text-olive-30{--tw-text-opacity:1;color:rgb(90 135 114/var(--tw-text-opacity))}.text-sand-30{--tw-text-opacity:1;color:rgb(217 168 102/var(--tw-text-opacity))}.text-sky-30{--tw-text-opacity:1;color:rgb(100 121 195/var(--tw-text-opacity))}.text-violet-30{--tw-text-opacity:1;color:rgb(145 103 148/var(--tw-text-opacity))}.hover\:text-white:hover,.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke}.duration-500{transition-duration:.5s}.text-14{font-size:clamp(.8888888888888888rem,calc(.89437rem - .02741vw),.8680555555555557rem);letter-spacing:.0142em;line-height:1.5}.text-16{font-size:clamp(.9853849721883559rem,calc(.97675rem + .04317vw),1.0181953544068256rem);line-height:1.5}.text-18,h4{font-size:clamp(1.0606601717798212rem,calc(1.03949rem + .10583vw),1.141088661469096rem);line-height:1.44}.navbar-sidebar__items .menu__link,.text-24,blockquote p,h3{font-size:clamp(1.284396490428795rem,calc(1.21856rem + .32919vw),1.5345778128306942rem);line-height:1.25}.text-36,h2{font-size:clamp(1.6692195887945571rem,calc(1.50261rem + .83304vw),2.302327957702624rem);letter-spacing:-.0138em;line-height:1.17}.text-h2{font-size:clamp(2.8193058827290858rem,calc(2.19746rem + 3.10922vw),5.182314101769203rem);letter-spacing:-.0125em;line-height:1.02}.text-h3,h1{font-size:clamp(2.131350900116625rem,calc(1.80776rem + 1.61796vw),3.3609981453282645rem);letter-spacing:-.0096em;line-height:1.12}aside{--doc-sidebar-width:320px}h5{font-size:clamp(.9853849721883559rem,calc(.97675rem + .04317vw),1.0181953544068256rem)}h5,h6{line-height:1.5}h6{font-size:clamp(.8888888888888888rem,calc(.89437rem - .02741vw),.8680555555555557rem);letter-spacing:.0142em}.markdown,.markdown ol li,.markdown ul li,li{font-size:clamp(.9853849721883559rem,calc(.97675rem + .04317vw),1.0181953544068256rem);line-height:1.5}li{font-family:neue-haas-grotesk-text,Arial,sans-serif}blockquote{margin:2.5rem 0;padding:1rem 0 1rem 2.5rem}blockquote p{font-family:neue-haas-grotesk-text,Arial,sans-serif}.es-showcase-grid{display:flex;flex-direction:column;gap:3.5rem;margin-bottom:2.5rem;padding:5.56vw}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-0:before{content:var(--tw-content);inset:0}.before\:-z-10:before{content:var(--tw-content);z-index:-10}.before\:translate-y-full-plus-px:before{content:var(--tw-content);--tw-translate-y:calc(100% + 1px)}.before\:bg-black:before{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(17 17 17/var(--tw-bg-opacity))}.DocSearch-Modal,.DocSearch.DocSearch-Button{background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.before\:transition-transform:before{content:var(--tw-content);transition-property:transform}.before\:duration-300:before{content:var(--tw-content);transition-duration:.3s}.pagination-nav__label,.pagination-nav__label:after,.pagination-nav__label:before,section[class*=DocCategoryGeneratedIndexPage] article .card{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:no-underline:hover{text-decoration-line:none}.hover\:decoration-transparent:hover{text-decoration-color:#0000}.hover\:before\:translate-y-0:hover:before{content:var(--tw-content);--tw-translate-y:0px}.focus\:outline-offset-4:focus{outline-offset:4px}.focus\:outline-infinum:focus{outline-color:#d8262c}.focus\:before\:translate-y-0:focus:before{content:var(--tw-content);--tw-translate-y:0px}.group:focus .group-focus\:translate-x-3,.group:hover .group-hover\:translate-x-3{--tw-translate-x:.75rem}.group:focus .group-focus\:opacity-0,.group:hover .group-hover\:opacity-0{opacity:0}.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 ol li,.markdown ul li{padding-left:.5rem}.markdown ol li ::marker,.markdown ul li ::marker{font-size:clamp(1.0606601717798212rem,calc(1.03949rem + .10583vw),1.141088661469096rem);line-height:1.44}.markdown ol li::marker,.markdown ul li::marker{font-size:clamp(1.0606601717798212rem,calc(1.03949rem + .10583vw),1.141088661469096rem);line-height:1.44}.markdown ul{list-style-type:"●"}.markdown ul ul{list-style-type:"○"}.markdown ul ul ul{list-style-type:"■"}.markdown ul ul ul ul{list-style-type:"□"}.markdown ol{list-style-type:decimal}.markdown ol li ::marker{font-size:clamp(.9853849721883559rem,calc(.97675rem + .04317vw),1.0181953544068256rem);line-height:1.5}.markdown ol li::marker{font-size:clamp(.9853849721883559rem,calc(.97675rem + .04317vw),1.0181953544068256rem);line-height:1.5}.markdown ol ol{list-style-type:upper-roman}.markdown ol ol ol ol{list-style-type:upper-alpha}.markdown>*{scroll-margin-top:4rem}.markdown h2{margin-top:3rem!important}.markdown :is(h3,h4,h5,h6){margin-top:2.5rem!important}.markdown .alert{border-radius:.125rem;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.markdown p+.theme-code-block{margin-top:.5rem}.markdown img{border-radius:.25rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(245 249 255/var(--tw-border-opacity))}.markdown details{border-radius:.375rem!important;display:flex;--tw-border-opacity:1;border-color:rgb(196 206 222/var(--tw-border-opacity));font-size:clamp(.9853849721883559rem,calc(.97675rem + .04317vw),1.0181953544068256rem);line-height:1.5;padding:0}.markdown details summary{align-items:center;display:flex;font-size:clamp(.8888888888888888rem,calc(.89437rem - .02741vw),.8680555555555557rem);font-weight:500;gap:.25rem;letter-spacing:.0142em;line-height:1.5;margin:0;padding:.75rem 1rem}.markdown details summary:before{margin:0;position:static;--tw-border-opacity:1;border-left-color:rgb(82 94 108/var(--tw-border-opacity));content:var(--tw-content);padding:0}.markdown details[open] summary:before{content:var(--tw-content);--tw-border-opacity:1;border-left-color:rgb(216 38 44/var(--tw-border-opacity))}.markdown details>div>div{margin:0;--tw-border-opacity:1;border-top-color:rgb(228 235 245/var(--tw-border-opacity));padding:.75rem 1rem}.DocSearch-Modal .DocSearch-Form,.DocSearch.DocSearch-Button{border-style:solid!important;border-color:rgb(228 235 245/var(--tw-border-opacity))!important;border-width:1px!important;--tw-border-opacity:1!important}.DocSearch.DocSearch-Button{display:flex!important;gap:1rem!important;margin:0!important;--tw-bg-opacity:1!important;padding:0 .5rem!important}.DocSearch-Modal .DocSearch-Footer,.DocSearch.DocSearch-Button .DocSearch-Button-Key{background-color:rgb(245 249 255/var(--tw-bg-opacity))!important;--tw-bg-opacity:1!important;--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.DocSearch.DocSearch-Button .DocSearch-Button-Placeholder{font-weight:400!important;gap:.5rem!important;margin:0!important;padding:0!important}.DocSearch.DocSearch-Button .DocSearch-Button-Placeholder:is(span){line-height:1!important}.DocSearch.DocSearch-Button .DocSearch-Button-Container{gap:.5rem!important}.DocSearch.DocSearch-Button .DocSearch-Button-Keys{display:none!important;gap:.25rem!important;margin:0!important;min-width:-moz-fit-content!important;min-width:fit-content!important;padding:0!important}.DocSearch.DocSearch-Button .DocSearch-Button-Key{border-style:none!important;margin:0!important;--tw-text-opacity:1!important;color:rgb(82 94 108/var(--tw-text-opacity))!important;background-image:none!important}.DocSearch-Modal .DocSearch-Commands .DocSearch-Commands-Key,.DocSearch-Modal .DocSearch-HitsFooter a:hover{background-color:rgb(146 158 178/var(--tw-bg-opacity))!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.DocSearch.DocSearch-Button .DocSearch-Button-Key:is(kbd){line-height:1!important}.DocSearch-Modal{--tw-bg-opacity:1!important;--tw-shadow:0 25px 50px -12px #00000040!important;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.navbar,.theme-doc-sidebar-container{background-color:rgb(245 249 255/var(--tw-bg-opacity))}.navbar,.navbar-sidebar__brand,section[class*=DocCategoryGeneratedIndexPage] article .card{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.DocSearch-Modal .DocSearch-Form{border-radius:.5rem!important}.DocSearch-Modal .DocSearch-Form:hover{--tw-border-opacity:1!important;border-color:rgb(146 158 178/var(--tw-border-opacity))!important}.DocSearch-Modal .DocSearch-Form:focus-visible{--tw-border-opacity:1!important;border-color:rgb(216 38 44/var(--tw-border-opacity))!important}.DocSearch-Modal .DocSearch-Footer{border-style:none!important;--tw-border-opacity:1!important;border-top-color:rgb(228 235 245/var(--tw-border-opacity))!important}.DocSearch-Modal .DocSearch-Logo .DocSearch-Label{--tw-text-opacity:1!important;color:rgb(146 158 178/var(--tw-text-opacity))!important}.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit .DocSearch-Hit-icon,.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Modal .DocSearch-Logo .DocSearch-Label:hover,.DocSearch-Modal .DocSearch-Logo svg:hover,.prism-code .token.cdata,.prism-code .token.comment,.prism-code .token.doctype,.prism-code .token.plain-text,.prism-code .token.prolog{--tw-text-opacity:1!important;color:rgb(82 94 108/var(--tw-text-opacity))!important}.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit .DocSearch-Hit-Tree,.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit .DocSearch-Hit-action,.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit .DocSearch-Hit-path,.DocSearch-Modal .DocSearch-Logo svg{--tw-text-opacity:1!important;color:rgb(146 158 178/var(--tw-text-opacity))!important}.DocSearch-Modal .DocSearch-Logo .cls-1,.DocSearch-Modal .DocSearch-Logo .cls-2{fill:currentColor!important}.DocSearch-Modal .DocSearch-Commands{gap:.75rem!important}.DocSearch-Modal .DocSearch-Commands .DocSearch-Commands-Key{border-style:none!important;margin:0!important;--tw-bg-opacity:1!important;--tw-text-opacity:1!important;--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;background-image:none!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit,.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit-source,.DocSearch-Modal .DocSearch-HitsFooter a,.es-footer-white~.es-footer{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.DocSearch-Modal .DocSearch-Commands .DocSearch-Label,.DocSearch-Modal .DocSearch-HitsFooter a{color:rgb(82 94 108/var(--tw-text-opacity))!important}.DocSearch-Modal .DocSearch-Commands .DocSearch-Label,.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit-source{font-size:clamp(.7671968738091037rem,calc(.78721rem - .10006vw),.6911478531570941rem)!important;letter-spacing:.0286em!important;line-height:1.33!important;--tw-text-opacity:1!important}.DocSearch-Modal .DocSearch-Commands .DocSearch-Commands-Key svg{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.DocSearch-Modal .DocSearch-Commands .DocSearch-Commands-Key:is(kbd){line-height:1!important}.DocSearch-Modal .DocSearch-Commands li{display:flex!important;gap:.25rem!important;margin:0!important;padding:0!important}.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit-source{border-style:none!important;margin:0!important;font-family:neue-haas-grotesk-text,Arial,sans-serif!important;font-weight:500!important;padding:.5rem 0!important;text-transform:uppercase!important;color:rgb(17 17 17/var(--tw-text-opacity))!important}.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit-source+ul{display:flex!important;flex-direction:column!important;gap:.5rem!important;padding:.25rem 0 0!important}.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit{border-radius:.5rem!important;border-style:solid!important;border-width:1px!important;margin:0!important;--tw-border-opacity:1!important;border-color:rgb(228 235 245/var(--tw-border-opacity))!important;padding:0!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke!important}.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit:hover{--tw-border-opacity:1!important;border-color:rgb(216 38 44/var(--tw-border-opacity))!important}.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit>a{background-image:none!important;border-radius:.5rem!important;border-style:none!important;--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important;outline-color:#d8262cbf!important}.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit .DocSearch-Hit-title{font-weight:400!important;margin:0!important;padding:0!important;--tw-text-opacity:1!important;color:rgb(17 17 17/var(--tw-text-opacity))!important;font-size:clamp(.8888888888888888rem,calc(.89437rem - .02741vw),.8680555555555557rem)!important;letter-spacing:.0142em!important;line-height:1.5!important}.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit .DocSearch-Hit-path{font-size:clamp(.7671968738091037rem,calc(.78721rem - .10006vw),.6911478531570941rem)!important;font-weight:400!important;letter-spacing:.0286em!important;line-height:1.33!important;margin:-.25rem 0 0!important;padding:0!important}.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit .DocSearch-Hit-action:hover{--tw-text-opacity:1!important;color:rgb(216 38 44/var(--tw-text-opacity))!important}.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit[aria-selected=true] mark{--tw-text-opacity:1!important;color:rgb(216 38 44/var(--tw-text-opacity))!important;filter:drop-shadow(0 0 .125rem rgb(216 38 44/.25))!important;text-decoration-line:none!important}.DocSearch-Modal .DocSearch-HitsFooter{margin:0!important;padding:1rem!important}.DocSearch-Modal .DocSearch-HitsFooter a{border-radius:.5rem!important;border-style:solid!important;border-width:1px!important;cursor:pointer!important;--tw-border-opacity:1!important;border-color:rgb(146 158 178/var(--tw-border-opacity))!important;font-weight:500!important;padding:.375rem .75rem!important;--tw-text-opacity:1!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter!important}.DocSearch-Modal .DocSearch-HitsFooter a:hover{--tw-bg-opacity:1!important;--tw-text-opacity:1!important}.DocSearch-Modal .DocSearch-HitsFooter a:focus-visible{--tw-border-opacity:1!important;border-color:rgb(216 38 44/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(216 38 44/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important;outline-color:#d8262cbf!important}main .container{display:flex;flex-wrap:nowrap;gap:2.5rem;justify-content:space-between;margin:0;padding-bottom:2.5rem!important;padding-left:8rem;padding-right:5rem;padding-top:2.5rem!important}main .container article{max-width:42rem}.es-single-full-screen-child{display:grid!important;grid-template-columns:repeat(1,minmax(0,1fr));grid-template-rows:repeat(1,minmax(0,1fr));height:100%;width:100%}.es-has-t-border{border-top-width:1px;--tw-border-opacity:1;border-color:rgb(228 235 245/var(--tw-border-opacity))}.es-full-size{height:100%;width:100%}.es-big-title,.es-big-title-limited{font-size:clamp(3.7074202030286756rem,calc(2.59935rem + 5.54035vw),7.9180844472589476rem);font-weight:700;letter-spacing:-.0208em;line-height:.98;padding:1.5rem 5.56vw}.es-big-subtitle,.navbar__link{font-size:clamp(.9853849721883559rem,calc(.97675rem + .04317vw),1.0181953544068256rem)}.es-big-title-limited{max-width:45rem}.es-big-subtitle{line-height:1.5;margin-bottom:2.5rem;margin-top:-.5rem;max-width:68ch;padding-left:5.56vw;padding-right:5.56vw}.es-blog-grid{column-gap:4rem;display:flex;flex-direction:column;grid-auto-rows:auto;margin:0;padding:5.56vw;row-gap:2.5rem}body:has(.es-navbar-white) .navbar{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}body:has(.es-navbar-white) .navbar .DocSearch.DocSearch-Button{border-style:solid!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(228 235 245/var(--tw-border-opacity))!important}.navbar{height:6.25rem;--tw-bg-opacity:1;padding:0 1.5rem}.navbar__brand{padding-top:.25rem}.navbar__logo{max-height:1.5rem;max-width:14.5rem}.navbar__items--right{gap:2rem}.navbar__link{align-items:center;border-top-color:#0000;border-top-width:4px;font-weight:400;height:100%;line-height:1.5;padding:0 .5rem}.navbar__link--active{--tw-border-opacity:1;border-top-color:rgb(216 38 44/var(--tw-border-opacity));color:currentColor}.navbar-sidebar__items .menu__link,.table-of-contents__link{--tw-text-opacity:1;color:rgb(17 17 17/var(--tw-text-opacity))}.blog-list-page .main-wrapper .container>.row>main article footer>.col.text--right,.blog-list-page .main-wrapper .container>.row>main article footer>.col>b,.blog-list-page .main-wrapper .container>.row>main article h2+div+div,.blog-post-page footer.row>.col>b,.blog-tags-post-list-page .main-wrapper .container>.row>main article footer>.col.text--right,.blog-tags-post-list-page .main-wrapper .container>.row>main article footer>.col>b,.blog-tags-post-list-page .main-wrapper .container>.row>main article h2+div+div,.navbar__link svg,.navbar__title{display:none}.navbar-sidebar__brand{border-bottom-width:1px;--tw-border-opacity:1;border-bottom-color:rgb(228 235 245/var(--tw-border-opacity))}.navbar-sidebar__items .menu__link{font-weight:700;margin:0;padding:0}.navbar-sidebar__items .menu__link:hover{--tw-text-opacity:1;background:none;color:rgb(216 38 44/var(--tw-text-opacity))}.breadcrumbs__item--active .breadcrumbs__link,.navbar-sidebar__items .menu__link--active:not(.menu__link--sublist){background-color:initial;--tw-text-opacity:1;color:rgb(216 38 44/var(--tw-text-opacity))}.blog-list-page .main-wrapper .container>.row>main article footer>.col>ul li,.blog-post-page footer.row>.col>ul li,.blog-tags-post-list-page .main-wrapper .container>.row>main article footer>.col>ul li,.blog-tags-post-list-page .main-wrapper>.container>.row>.col,.navbar-sidebar__items .menu__list-item,.table-of-contents li{margin:0;padding:0}.navbar-sidebar__items .menu__list-item.theme-doc-sidebar-item-link-level-2 .menu__link{font-size:clamp(1.0606601717798212rem,calc(1.03949rem + .10583vw),1.141088661469096rem);font-weight:400;letter-spacing:0;line-height:1.44}.navbar-sidebar__items .menu__list{display:flex;flex-direction:column;row-gap:1.25rem}.blog-list-page .navbar,.blog-tags-post-list-page .navbar{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.theme-doc-sidebar-container .menu__caret:hover,.theme-doc-sidebar-container .menu__link:hover{background-color:initial}.blog-list-page .navbar .DocSearch.DocSearch-Button,.blog-tags-post-list-page .navbar .DocSearch.DocSearch-Button{border-style:solid!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(228 235 245/var(--tw-border-opacity))!important}.blog-list-page .main-wrapper .container,.blog-post-page .container,.blog-tags-post-list-page .main-wrapper .container{margin:0!important;max-width:100%!important;padding:5.56vw!important;width:100%!important}.blog-list-page .main-wrapper .container>.row,.blog-tags-post-list-page .main-wrapper .container>.row{display:block;margin:0;padding:0;width:100%}.blog-list-page .main-wrapper .container>.row>main,.blog-tags-post-list-page .main-wrapper .container>.row>main{display:block;margin:0;max-width:100%;padding:0;width:100%}.blog-list-page .main-wrapper .container>.row>main .pagination-nav,.blog-tags-post-list-page .main-wrapper .container>.row>main .pagination-nav{grid-column:span 3/span 3;grid-column-start:1}.blog-list-page .main-wrapper .container>.row>main article,.blog-tags-post-list-page .main-wrapper .container>.row>main article{display:flex;flex-direction:column;margin:0!important;padding:0!important}.blog-list-page .main-wrapper .container>.row>main article h2,.blog-tags-post-list-page .main-wrapper .container>.row>main article h2{font-family:neue-haas-grotesk-text,Arial,sans-serif;font-size:clamp(1.284396490428795rem,calc(1.21856rem + .32919vw),1.5345778128306942rem);font-weight:700;line-height:1.25}.blog-list-page .main-wrapper .container>.row>main article h2+div,.blog-tags-post-list-page .main-wrapper .container>.row>main article h2+div{font-family:neue-haas-grotesk-text,Arial,sans-serif;text-transform:uppercase;--tw-text-opacity:1;color:rgb(17 17 17/var(--tw-text-opacity));margin-bottom:.75rem!important;margin-top:.25rem!important}.blog-list-page .main-wrapper .container>.row>main article .markdown>:not([hidden])~:not([hidden]),.blog-tags-post-list-page .main-wrapper .container>.row>main article .markdown>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.blog-list-page .main-wrapper .container>.row>main article .markdown>:is(h1,h2,h3,h4,h5,h6,p),.blog-tags-post-list-page .main-wrapper .container>.row>main article .markdown>:is(h1,h2,h3,h4,h5,h6,p){display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4;font-family:neue-haas-grotesk-text,Arial,sans-serif;font-weight:400;padding:0;--tw-text-opacity:1;color:rgb(17 17 17/var(--tw-text-opacity));font-size:clamp(.8888888888888888rem,calc(.89437rem - .02741vw),.8680555555555557rem);letter-spacing:.0142em;line-height:1.5}.blog-list-page .main-wrapper .container>.row>main article .markdown>:is(h1,h2,h3,h4,h5,h6,p):first-child,.blog-tags-post-list-page .main-wrapper .container>.row>main article .markdown>:is(h1,h2,h3,h4,h5,h6,p):first-child{margin-top:0!important}.blog-list-page .main-wrapper .container>.row>main article footer,.blog-tags-post-list-page .main-wrapper .container>.row>main article footer{display:flex;margin:1.25rem 0 0!important;padding:0!important}.blog-list-page .main-wrapper .container>.row>main article footer>.col>ul,.blog-post-page footer.row>.col>ul,.blog-tags-post-list-page .main-wrapper .container>.row>main article footer>.col>ul{column-gap:.5rem;display:flex;flex-wrap:wrap;list-style-type:none;margin:0!important;padding:0!important;row-gap:.125rem}.blog-list-page .main-wrapper .container>.row>main article footer>.col>ul li a,.blog-post-page footer.row>.col>ul li a,.blog-tags-post-list-page .main-wrapper .container>.row>main article footer>.col>ul li a{border-radius:9999px;border-style:none;--tw-bg-opacity:1;background-color:rgb(196 206 222/var(--tw-bg-opacity));font-weight:500;text-transform:uppercase;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));font-size:clamp(.7671968738091037rem,calc(.78721rem - .10006vw),.6911478531570941rem);letter-spacing:.0286em;line-height:1.33;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);margin:0!important;padding:.125rem .5rem!important}.blog-list-page .main-wrapper .container>.row>main article footer>.col>ul li a:hover,.blog-post-page footer.row>.col>ul li a:hover,.blog-tags-post-list-page .main-wrapper .container>.row>main article footer>.col>ul li a:hover{--tw-bg-opacity:1;background-color:rgb(146 158 178/var(--tw-bg-opacity))}.blog-tags-post-list-page .main-wrapper>.container>.row{margin:0;width:100%}.blog-tags-post-list-page .main-wrapper>.container>.row>.col.col--3,div.generatedIndexPage_node_modules-\@docusaurus-theme-classic-lib-theme-DocCategoryGeneratedIndexPage-styles-module{max-width:100%!important;width:100%!important}.blog-tags-post-list-page .main-wrapper>.container>.row>.col.col--7{column-gap:4rem;display:flex;flex-direction:column;max-width:100%!important;row-gap:2.5rem;width:100%!important}.blog-tags-post-list-page .main-wrapper>.container>.row>.col.col--7>header{grid-column:span 3/span 3;grid-column-start:1;margin:0!important;padding:0!important}section[class*=DocCategoryGeneratedIndexPage]{display:flex;flex-direction:column;gap:1.25rem;margin:0!important;padding:0!important}.blog-list-page .main-wrapper>.container.margin-vert--lg,.blog-post-page .container>.row>.col,section[class*=DocCategoryGeneratedIndexPage] article.col{margin:0!important;padding:0!important}section[class*=DocCategoryGeneratedIndexPage] article .card{border-radius:.375rem;border-width:1px;display:flex;flex-direction:column;gap:.5rem;--tw-border-opacity:1;border-color:rgb(228 235 245/var(--tw-border-opacity));padding:1rem!important}.blog-list-page .es-blog-grid+.pagination-nav{margin-left:5.56vw;margin-right:5.56vw}.table-of-contents{--tw-border-opacity:1;border-left-color:rgb(146 158 178/var(--tw-border-opacity));padding:0 0 0 .75rem}.table-of-contents__link{padding:.25rem 0;font-size:clamp(.8888888888888888rem,calc(.89437rem - .02741vw),.8680555555555557rem);letter-spacing:.0142em;line-height:1.5}.breadcrumbs__link:hover,.table-of-contents__link--active{color:rgb(216 38 44/var(--tw-text-opacity));--tw-text-opacity:1}.breadcrumbs{margin-bottom:3rem!important}.breadcrumbs,.breadcrumbs__item{align-items:center;display:flex;flex-shrink:0;gap:1.5rem;margin:0;padding:0}.breadcrumbs__item:not(:last-child):after{height:.75rem;margin:.125rem;opacity:1;padding:0;width:.75rem}.breadcrumbs__link{border-radius:0;margin:0;padding:0}.breadcrumbs__link:any-link:hover{background-color:initial}.theme-doc-sidebar-container{margin:0;--tw-bg-opacity:1;padding:0 0 2rem;--tw-border-opacity:1!important;border-right-color:rgb(228 235 245/var(--tw-border-opacity))!important}.theme-doc-sidebar-container .menu-list{margin-bottom:0!important;margin-top:0!important;padding-bottom:0!important;padding-top:0!important}.theme-doc-sidebar-container .menu{margin:0;padding:0;scrollbar-gutter:auto}.theme-doc-sidebar-container .menu__link{background-color:initial;margin:0;padding:0;--tw-text-opacity:1;color:rgb(17 17 17/var(--tw-text-opacity))}.theme-doc-sidebar-container .menu__caret:hover,.theme-doc-sidebar-container .menu__link--active,.theme-doc-sidebar-container .menu__link:hover{color:rgb(216 38 44/var(--tw-text-opacity));--tw-text-opacity:1}.theme-doc-sidebar-container .menu__list .theme-doc-sidebar-container .menu__list,.theme-doc-sidebar-container .menu__list-item:not(:first-child){margin-top:0!important}.theme-doc-sidebar-container .menu__list .theme-doc-sidebar-container .menu__list{padding-left:1.5rem}.theme-doc-sidebar-container .menu__caret{align-items:center;border-radius:0;display:flex;height:2.5rem;justify-content:center;margin-right:.75rem;padding:0;width:2.5rem;--tw-text-opacity:1;color:rgb(17 17 17/var(--tw-text-opacity))}.prism-code .token,.prism-code .token.content,.prism-code .token.front-matter,.prism-code .token.imports,.prism-code .token.language-php,.prism-code .token.maybe-class-name,.prism-code .token.plain,.prism-code .token.property-access,.prism-code .token.property:not(.literal-property),.prism-code .token.punctuation,.prism-code .token.script,.prism-code .token.unit,.theme-code-block{--tw-text-opacity:1!important;color:rgb(17 17 17/var(--tw-text-opacity))!important}.theme-doc-sidebar-container .menu__caret:before{height:1rem!important;width:1rem!important;--tw-rotate:90deg!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important}.theme-doc-sidebar-container .menu__caret:before,.theme-doc-sidebar-container .menu__list-item:not(.menu__list-item--collapsed) .menu__caret:before{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.theme-doc-sidebar-container .menu__list-item:not(.menu__list-item--collapsed) .menu__caret:before{--tw-rotate:180deg!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important}.theme-doc-sidebar-item-link{margin:0!important;padding:.5rem 1.25rem!important}.theme-doc-sidebar-item-link.theme-doc-sidebar-item-link-level-1{padding-bottom:.75rem!important;padding-top:.75rem!important}.menu__link--sublist{margin:0!important;padding:.75rem 1.25rem!important}.menu__link--sublist:hover{background-color:initial!important}.theme-doc-sidebar-item-category-level-1>.menu__list-item-collapsible{font-size:clamp(1.0606601717798212rem,calc(1.03949rem + .10583vw),1.141088661469096rem);font-weight:700;line-height:1.44}.theme-doc-sidebar-item-category-level-1 .menu__list-item-collapsible--active,.theme-doc-sidebar-item-category-level-1 .menu__list-item-collapsible--active:hover,.theme-doc-sidebar-item-category-level-1>.menu__list-item-collapsible:hover{background-color:initial}.theme-doc-sidebar-item-category,.theme-doc-sidebar-item-link-level-1,.theme-doc-sidebar-item-link-level-2,.theme-doc-sidebar-item-link-level-3,.theme-doc-sidebar-item-link-level-4,.theme-doc-sidebar-item-link-level-5{font-size:clamp(.9853849721883559rem,calc(.97675rem + .04317vw),1.0181953544068256rem);font-weight:400;line-height:1.5;margin:0;padding:0}main[class*=docMainContainer]>.container{--ifm-container-width-xl:100%;margin:0!important;padding:1.5rem!important;width:100%!important}main[class*=docMainContainer]>.container>.row{margin:0;max-width:100%!important;width:100%!important}main[class*=docMainContainer]>.container>.row>.col{padding-left:0;padding-right:0}.docs-doc-page .navbar{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(228 235 245/var(--tw-border-opacity));padding-left:1.5rem;padding-right:1.5rem}button.tocCollapsibleButton_node_modules-\@docusaurus-theme-classic-lib-theme-TOCCollapsible-CollapseButton-styles-module{appearance:none;border-radius:.375rem;border-style:solid;border-width:1px;--tw-border-opacity:1;border-color:rgb(196 206 222/var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));font-size:clamp(.8888888888888888rem,calc(.89437rem - .02741vw),.8680555555555557rem);letter-spacing:.0142em;line-height:1.5}button.tocCollapsibleButtonExpanded_node_modules-\@docusaurus-theme-classic-lib-theme-TOCCollapsible-CollapseButton-styles-module{border-bottom-left-radius:0;border-bottom-right-radius:0}div.tocCollapsibleContent_node_modules-\@docusaurus-theme-classic-lib-theme-TOCCollapsible-styles-module{border-style:solid;border-radius:0 0 .375rem .375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(196 206 222/var(--tw-border-opacity));border-top-color:#0000;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}div.tocCollapsibleContent_node_modules-\@docusaurus-theme-classic-lib-theme-TOCCollapsible-styles-module .table-of-contents{background-color:initial;border-top-width:0;margin:0;padding:0}code:not(.prism-code code){background-image:none;border-style:none;font-family:ibm-plex-mono,monospace;font-size:.95em;font-weight:700;margin:0;padding:0;vertical-align:initial}.markdown code:not(.prism-code code){--tw-text-opacity:1;color:rgb(51 58 105/var(--tw-text-opacity))}.prism-code,.theme-code-block{border-radius:0!important;border-style:none!important}.prism-code{--tw-bg-opacity:1!important;background-color:rgb(245 249 255/var(--tw-bg-opacity))!important;font-family:ibm-plex-mono,monospace!important;font-size:clamp(.8888888888888888rem,calc(.89437rem - .02741vw),.8680555555555557rem)!important;font-weight:500!important;letter-spacing:.0142em!important;line-height:1.5!important}.prism-code .theme-code-block-highlighted-line{background-color:#e4ebf599!important}.prism-code .token.boolean,.prism-code .token.constant,.prism-code .token.deleted,.prism-code .token.function-variable,.prism-code .token.important,.prism-code .token.literal-property,.prism-code .token.number,.prism-code .token.parameter,.prism-code .token.regex,.prism-code .token.symbol,.prism-code .token.tag,.prism-code .token.variable{--tw-text-opacity:1!important;color:rgb(217 168 102/var(--tw-text-opacity))!important}.prism-code .token.namespace{opacity:.7!important}.prism-code .token.attr-name,.prism-code .token.builtin,.prism-code .token.char,.prism-code .token.inserted,.prism-code .token.selector,.prism-code .token.string{--tw-text-opacity:1!important;color:rgb(90 135 114/var(--tw-text-opacity))!important}.prism-code .language-css .token.string,.prism-code .style .token.string,.prism-code .token.entity,.prism-code .token.operator,.prism-code .token.url{background-color:#ffffff0d!important;--tw-text-opacity:1!important;color:rgb(99 75 54/var(--tw-text-opacity))!important}.prism-code .token.atrule,.prism-code .token.attr-value,.prism-code .token.color,.prism-code .token.keyword{--tw-text-opacity:1!important;color:rgb(100 121 195/var(--tw-text-opacity))!important}.prism-code .token.class-name,.prism-code .token.function{--tw-text-opacity:1!important;color:rgb(158 121 86/var(--tw-text-opacity))!important}.prism-code .token.bold,.prism-code .token.important{font-weight:700!important}.prism-code .token.entity{cursor:help!important}.theme-code-block{background-image:none!important;--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important;--tw-bg-opacity:1;background-color:rgb(51 58 105/var(--tw-bg-opacity));--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);font-size:clamp(.8888888888888888rem,calc(.89437rem - .02741vw),.8680555555555557rem);line-height:1.6}.theme-code-block>div[class^=codeBlockTitle]{border-radius:0;--tw-bg-opacity:1;background-color:rgb(228 235 245/var(--tw-bg-opacity));font-family:neue-haas-grotesk-text,Arial,sans-serif;font-weight:400;padding:.25rem .625rem;--tw-text-opacity:1;color:rgb(82 94 108/var(--tw-text-opacity))}.pagination-nav{border-top-width:1px;display:flex;flex-direction:column;margin-bottom:1.5rem;--tw-border-opacity:1;border-top-color:rgb(228 235 245/var(--tw-border-opacity));padding-top:1rem}.pagination-nav__link{border-style:none;padding:0}.pagination-nav__label{font-size:clamp(1.284396490428795rem,calc(1.21856rem + .32919vw),1.5345778128306942rem);line-height:1.25}.pagination-nav__label:after,.pagination-nav__label:before{--tw-text-opacity:1;color:rgb(146 158 178/var(--tw-text-opacity));content:var(--tw-content)}.pagination-nav__label:hover:after,.pagination-nav__label:hover:before{content:var(--tw-content);--tw-text-opacity:1;color:rgb(216 38 44/var(--tw-text-opacity))}.pagination-nav__link--prev .pagination-nav__label:before{content:"⬅ "!important}.pagination-nav__link--next .pagination-nav__label:after{content:" ⮕"!important}.blog-post-page main>article>header div[class*=BlogPostItem-Header-Info]+div.margin-top--md.margin-bottom--sm{margin-bottom:2.5rem!important}.blog-post-page .container>.row{display:block;grid-template-columns:minmax(0,28ch) minmax(0,1fr) minmax(0,28ch);margin:0;max-width:100%;padding:0;width:100%}.blog-post-page .container>.row>.col.col--2,.blog-post-page .container>.row>.col.col--3{max-width:100%;width:100%}.blog-post-page .container>.row>.col.col--7{justify-self:center;max-width:48rem}.DocSearch-Button,.DocSearch-Button-Container{align-items:center;display:flex}.blog-post-page .markdown img{border-radius:.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(228 235 245/var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgb(245 249 255/var(--tw-bg-opacity))}.backToTopButton_sjWU{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_sjWU: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_xfvO{opacity:1;transform:scale(1);visibility:visible}.DocSearch-Button{background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;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-Button-Key--pressed{box-shadow:var(--docsearch-key-pressed-shadow);transform:translate3d(0,1px,0)}.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-Container a,.sidebarItemLink_mo7H:hover{text-decoration:none}.DocSearch-Hit[aria-selected=true] mark,.content_knG7 a{text-decoration:underline}.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 a;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-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}#__docusaurus-base-url-issue-banner-container,.docSidebarContainer_YfHR,.navbarSearchContainer_Bca1:empty,.sidebarLogo_isFc,.themedComponent_mlkZ,[data-theme=dark] .lightToggleIcon_pyhR,[data-theme=light] .darkToggleIcon_wfgR,html[data-announcement-bar-initially-dismissed=true] .announcementBar_mb4j,svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon,.tocCollapsibleContent_vkbj 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}.DocSearch-VisuallyHiddenForAccessibility{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.sidebar_re4s,.tableOfContents_bqdL{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto}@keyframes a{0%{opacity:0}to{opacity:1}}.DocSearch-Button{margin:0;transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.DocSearch-Container,.skipToContent_fXgn{z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_fXgn{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}.skipToContent_fXgn:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_CVFx{line-height:0;padding:0}.content_knG7{font-size:85%;padding:5px 0;text-align:center}.content_knG7 a{color:inherit}.announcementBar_mb4j{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_vyr4{flex:0 0 10px}.announcementBarClose_gvF7{align-self:stretch;flex:0 0 30px}.toggle_vylO{height:2rem;width:2rem}.toggleButton_gllP{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_gllP:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_aARS{cursor:not-allowed}.darkNavbarColorModeToggle_X3D1:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedComponent--dark_xIcU,[data-theme=light] .themedComponent--light_NVdE,html:not([data-theme]) .themedComponent--light_NVdE{display:initial}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton_PEFL{display:none;margin:0}.iconExternalLink_nPIU{margin-left:.3rem}.docMainContainer_TBSr,.docRoot_UBD9{display:flex;width:100%}.docsWrapper_hBAB{display:flex;flex:1 0 auto}.iconLanguage_nlXk{margin-right:5px;vertical-align:text-bottom}.navbarHideable_m1mJ{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_jGov{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_a6uf{color:red;white-space:pre-wrap}.errorBoundaryFallback_VBag{color:red;padding:.55rem}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}.anchorWithStickyNavbar_LWe7{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_WYt5{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.mainWrapper_z2l0{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.sidebar_re4s{position:sticky;top:calc(var(--ifm-navbar-height) + 2rem)}.sidebarItemTitle_pO2u{font-size:var(--ifm-h3-font-size);font-weight:var(--ifm-font-weight-bold)}.container_mt6G,.sidebarItemList_Yudw{font-size:.9rem}.sidebarItem__DBe{margin-top:.7rem}.sidebarItemLink_mo7H{color:var(--ifm-font-color-base);display:block}.sidebarItemLinkActive_I1ZP{color:var(--ifm-color-primary)!important}.searchQueryInput_u2C7,.searchVersionInput_m0Ui{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_u2C7:focus,.searchVersionInput_m0Ui:focus{border-color:var(--docsearch-primary-color);outline:0}.searchQueryInput_u2C7::placeholder{color:var(--docsearch-muted-color)}.searchResultsColumn_JPFH{font-size:.9rem;font-weight:700}.algoliaLogo_rT1R{max-width:150px}.algoliaLogoPathFill_WdUC{fill:var(--ifm-font-color-base)}.searchResultItem_Tv2o{border-bottom:1px solid var(--ifm-toc-border-color);padding:1rem 0}.searchResultItemHeading_KbCB{font-weight:400;margin-bottom:0}.searchResultItemPath_lhe1{color:var(--ifm-color-content-secondary);font-size:.8rem;--ifm-breadcrumb-separator-size-multiplier:1}.searchResultItemSummary_AEaO{font-style:italic;margin:.5rem 0 0}.loadingSpinner_XVxU{animation:1s linear infinite b;border:.4em solid #eee;border-radius:50%;border-top:.4em solid var(--ifm-color-primary);height:3rem;margin:0 auto;width:3rem}@keyframes b{to{transform:rotate(1turn)}}.loader_vvXV{margin-top:2rem}.search-result-match{background:#ffd78e40;color:var(--docsearch-hit-color);padding:.09em 0}.buttonGroup__atx button,.codeBlockContainer_Ckt0{background:var(--prism-background-color);color:var(--prism-color)}.authorCol_Hf19{flex-grow:1!important;max-width:inherit!important}.imageOnlyAuthorRow_pa_O{display:flex;flex-flow:row wrap}.imageOnlyAuthorCol_G86a{margin-left:.3rem;margin-right:.3rem}.codeBlockContainer_Ckt0{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_biex{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_Ktv7{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_bY9V{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_Ktv7+.codeBlockContent_biex .codeBlock_bY9V{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_e6Vv{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_o6Pm{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup__atx{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup__atx 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__atx button:focus-visible,.buttonGroup__atx button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup__atx 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_lJS_{counter-increment:a;display:table-row}.codeLineNumber_Tfdd{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_Tfdd:before{content:counter(a);opacity:.4}.codeLineContent_feaV{padding-right:var(--ifm-pre-padding)}.tag_zVej{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_zVej:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular_sFm0{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_h2kH{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tag_Nnez,.tag_QGVx{display:inline-block}.tagWithCount_h2kH:after,.tagWithCount_h2kH:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_h2kH:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_h2kH:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_h2kH 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_Nnez{margin:.5rem .5rem 0 1rem}.theme-code-block:hover .copyButtonCopied_obH4{opacity:1!important}.copyButtonIcons_eSgA{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_y97N,.copyButtonSuccessIcon_LjdS{left:0;position:absolute;top:0;fill:currentColor;height:inherit;opacity:inherit;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_LjdS{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_obH4 .copyButtonIcon_y97N{opacity:0;transform:scale(.33)}.copyButtonCopied_obH4 .copyButtonSuccessIcon_LjdS{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.wordWrapButtonIcon_Bwma{height:1.2rem;width:1.2rem}.tag_QGVx{margin:0 .4rem .5rem 0}.iconEdit_Z9Sw{margin-right:.3em;vertical-align:sub}.lastUpdated_JAkA{font-size:smaller;font-style:italic;margin-top:.2rem}.tocCollapsibleButton_TO0P{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_TO0P: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_MG3E:after,.tocCollapsibleExpanded_sAul{transform:none}.tocCollapsible_ETCw{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_vkbj>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_vkbj ul li{margin:.4rem .8rem}.details_lb9f{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_lb9f>summary{cursor:pointer;list-style:none;padding-left:1rem;position:relative}.details_lb9f>summary::-webkit-details-marker{display:none}.details_lb9f>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_i85q{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_b_Ee{--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)}.containsTaskList_mC6p{list-style:none}:not(.containsTaskList_mC6p>li)>.containsTaskList_mC6p{padding-left:0}.tableOfContents_bqdL{position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.img_ev3q{height:auto}.breadcrumbHomeIcon_YNFT{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_Z_bl{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}@media (min-width:496px){.tablet\:mx-0{margin-left:0;margin-right:0}.tablet\:grid-flow-row{grid-auto-flow:row}.tablet\:auto-rows-auto{grid-auto-rows:auto}.tablet\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tablet\:gap-x-20{column-gap:5rem}.tablet\:overflow-x-hidden{overflow-x:hidden}.tablet\:px-0{padding-left:0;padding-right:0}}@media not all and (min-width:496px){.max-tablet\:no-scrollbar::-webkit-scrollbar{display:none}.max-tablet\:no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}}@media (min-width:997px){.collapseSidebarButton_PEFL,.expandButton_TmdG{background-color:var(--docusaurus-collapse-button-bg)}.es-showcase-grid{display:grid;gap:6rem;grid-template-columns:repeat(2,minmax(0,1fr));width:-moz-fit-content;width:fit-content}.desktop\:sticky{position:sticky}.desktop\:top-navbar{top:6.25rem}.desktop\:row-span-2{grid-row:span 2/span 2}.desktop\:mb-0{margin-bottom:0}.desktop\:mb-1{margin-bottom:.25rem}.desktop\:mb-10{margin-bottom:2.5rem}.desktop\:mb-20{margin-bottom:5rem}.desktop\:block{display:block}.desktop\:grid{display:grid}.desktop\:w-auto{width:auto}.desktop\:max-w-full,.navbar__logo{max-width:100%}.desktop\:max-w-xl{max-width:36rem}.desktop\:auto-rows-auto{grid-auto-rows:auto}.desktop\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.desktop\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.desktop\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.desktop\:grid-cols-fit20{grid-template-columns:repeat(auto-fit,minmax(20rem,1fr))}.desktop\:grid-rows-\[auto_9rem\]{grid-template-rows:auto 9rem}.desktop\:flex-row{flex-direction:row}.desktop\:items-center,.sidebarLogo_isFc{align-items:center}.desktop\:justify-between{justify-content:space-between}.desktop\:gap-x-gutter{column-gap:2.78vw}.desktop\:gap-y-0{row-gap:0}.desktop\:gap-y-20{row-gap:5rem}.desktop\:self-start{align-self:flex-start}.desktop\:py-20{padding-bottom:5rem;padding-top:5rem}.desktop\:py-24{padding-bottom:6rem;padding-top:6rem}.desktop\:pb-0{padding-bottom:0}.desktop\:pb-36{padding-bottom:9rem}.desktop\:pb-side-padding{padding-bottom:5.56vw}.desktop\:pr-0{padding-right:0}.desktop\:pt-10{padding-top:2.5rem}.desktop\:pt-20{padding-top:5rem}.desktop\:pt-24{padding-top:6rem}.desktop\:text-left{text-align:left}.DocSearch.DocSearch-Button{padding-right:.75rem!important}.DocSearch.DocSearch-Button .DocSearch-Button-Keys{display:flex!important}.DocSearch-Modal{border-radius:.75rem!important}.es-big-title,.es-big-title-limited{padding-bottom:0;padding-top:5rem}.es-big-subtitle{margin-bottom:2rem;margin-top:1rem}.es-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));row-gap:8rem}.navbar__link{display:flex}.blog-tags-post-list-page .main-wrapper>.container>.row{display:grid;grid-template-columns:repeat(10,minmax(0,1fr))}.blog-tags-post-list-page .main-wrapper>.container>.row>.col.col--3{grid-column:span 2/span 2;grid-column-start:1}.blog-tags-post-list-page .main-wrapper>.container>.row>.col.col--7{display:grid;grid-column:span 8/span 8;grid-column-start:3;grid-template-columns:repeat(3,minmax(0,1fr));row-gap:8rem}.blog-tags-post-list-page .main-wrapper>.container>.row>.col.col--7>header{margin-bottom:-5rem!important}main[class*=docMainContainer]>.container{padding:2rem 2rem 2rem 3rem!important}.pagination-nav{flex-direction:row;justify-content:space-between;margin-bottom:5rem}.pagination-nav__link--next{margin-left:auto}.blog-post-page main>article>header div[class*=BlogPostItem-Header-Info]+div.margin-top--md.margin-bottom--sm{margin-bottom:5rem!important}.blog-post-page .container>.row{display:grid;justify-content:space-between}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_gvF7,.announcementBarPlaceholder_vyr4{flex-basis:50px}.collapseSidebarButton_PEFL{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_kv0_{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_i1dp,[dir=rtl] .collapseSidebarButtonIcon_kv0_{transform:rotate(0)}.collapseSidebarButton_PEFL:focus,.collapseSidebarButton_PEFL:hover,.expandButton_TmdG:focus,.expandButton_TmdG:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_M9Kj{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_SIkG{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_SIkG{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_GW3s{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_njMd{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_wUlq{padding-top:0}.sidebarHidden_VK0M{opacity:0;visibility:hidden}.sidebarLogo_isFc{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_isFc img{height:2rem;margin-right:.5rem}.expandButton_TmdG{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_i1dp{transform:rotate(180deg)}.docSidebarContainer_YfHR{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_DPk8{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_aRkj{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_TBSr{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_lQrH{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_JWYK{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.navbarSearchContainer_Bca1{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.lastUpdated_JAkA{text-align:right}.tocMobile_ITEo{display:none}.docItemCol_VOVn{max-width:75%!important}}@media (min-width:1365px){.es-showcase-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@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_DEke,.footer__link-separator,.navbar__item,.sidebar_re4s,.tableOfContents_bqdL{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_Bca1{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_F8PC{padding:0 .3rem}}@media only screen and (max-width:996px){.searchQueryColumn_RTkw,.searchResultsColumn_JPFH{max-width:60%!important}.searchLogoColumn_rJIA,.searchVersionColumn_ypXd{max-width:40%!important}.searchLogoColumn_rJIA{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 (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_f1Hy{font-size:2rem}}@media screen and (max-width:576px){.searchQueryColumn_RTkw{max-width:100%!important}.searchVersionColumn_ypXd{max-width:100%!important;padding-left:var(--ifm-spacing-horizontal)!important}}@media (hover:hover){.backToTopButton_sjWU: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}}@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_mb4j,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_ITEo{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_e6Vv{white-space:pre-wrap}} \ No newline at end of file diff --git a/assets/css/styles.ec96aec5.css b/assets/css/styles.ec96aec5.css deleted file mode 100644 index da01b9e78..000000000 --- a/assets/css/styles.ec96aec5.css +++ /dev/null @@ -1 +0,0 @@ -@import url(https://use.typekit.net/baz1roy.css);.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))}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.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)}.markdown li,body{word-wrap:break-word}pre,table{overflow:auto}.button,code{vertical-align:middle}.group:focus .group-focus\:scale-75,.group:hover .group-hover\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75}.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit,.DocSearch-Modal .DocSearch-HitsFooter a{transition-duration:.15s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}*,.DocSearch-Container,.DocSearch-Container *,:after,:before{box-sizing:border-box}.toggleButton_gllP,html{-webkit-tap-highlight-color:transparent}: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{-webkit-font-smoothing:antialiased;text-size-adjust:100%;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);text-rendering:optimizelegibility}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)}.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none{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}.items-start,.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.items-center,.menuExternalLink_NmtK,.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,.theme-doc-sidebar-item-link.theme-doc-sidebar-item-link-level-1:first-child{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}.DocSearch-Modal .DocSearch-Hits,.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)}progress,sub,sup{vertical-align:initial}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)}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.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{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)}.markdown ol ol ol,ol ol,ul ol{list-style-type:lower-roman}ol ol,ol ul,ul ol,ul ul{margin:0}.markdown ol ol ol ol ol,ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}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);color:inherit;text-decoration:inherit}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,.wordWrapButtonEnabled_EoeP .wordWrapButtonIcon_Bwma{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)}.clean-btn,hr{color:inherit}.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}.text--uppercase,.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;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;text-transform:uppercase}.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,.hash-link:focus,:hover>.hash-link{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){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__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:any-link:hover,.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__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}.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,.pt-0{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);float:right;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_Tfdd: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}#nprogress,.dropdown__menu,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.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;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)}.footer__links,.mb-4{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_Djhp article>:first-child,.docItemContainer_Djhp header+*,.footer__item{margin-top:0}.markdown ol,.markdown ul{margin:1rem 0 1rem 1rem}.collapsibleContent_i85q p:last-child,.details_lb9f>summary>p:last-child,.footer__items{margin-bottom:0}.blog-list-page .main-wrapper .container>.row>main article footer>.col,.blog-tags-post-list-page .main-wrapper .container>.row>main article footer>.col,.codeBlockStandalone_MEMb,[type=checkbox],fieldset,legend{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_f1Hy{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_lb9f[data-collapsed=false].isBrowser_bmU9>summary:before,.details_lb9f[open]:not(.isBrowser_bmU9)>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)}.DocSearch-Modal .DocSearch-Hit-action-button: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;top:0;visibility:hidden;left:0}.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{content:"";height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;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)}.flex,.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_xLdY,.navbar__title,main .container>.row>.col--3{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.m-0,.navbar__items--center .navbar__brand,blockquote,body,dd,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,menu,ol,p,pre,ul{margin:0}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child,.pr-0{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.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{-webkit-appearance:none;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:.9rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.cursor-pointer,.dropdownNavbarItemMobile_S0Fm,.pills__item,.tabs__item,[role=button],button{cursor:pointer}.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}.relative,sub,sup{position:relative}.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}.inline-flex,.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{text-decoration:none}.pagination-nav{grid-gap:var(--ifm-spacing-horizontal);display:grid;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,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;display:inline-block;padding:.25rem 1rem;transition:background 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)}.markdown details,.markdown table thead,.markdown table tr{background-color:initial}.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);display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.before\:transition-transform:before,.transition,.transition-colors{transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.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)}.text-black,blockquote p{--tw-text-opacity:1;color:rgb(17 17 17/var(--tw-text-opacity))}.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;--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-key-pressed-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 1px 1px 0 rgba(3,4,9,.302);--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);--ifm-navbar-height:6.5rem;--ifm-color-primary:var(--global-colors-infinum);--ifm-color-primary-dark:#c32323;--ifm-color-primary-darker:#b82121;--ifm-color-primary-darkest:#981c1c;--ifm-color-primary-light:#dc3e3e;--ifm-color-primary-lighter:#de4949;--ifm-color-primary-lightest:#e46969;--ifm-code-font-size:95%;--ifm-code-background:var(--global-colors-sky70);--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-key-pressed-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 1px 0 #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-announcement-bar-height:auto;--docusaurus-collapse-button-bg:#0000;--docusaurus-collapse-button-bg-hover:#0000001a;--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px;--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}.sk-cube-grid{height:3rem;margin:0 auto;width:3rem}.mt-10,.my-10{margin-top:2.5rem}.sk-cube-grid .sk-cube{animation:1.3s ease-in-out infinite a;background-color:#d8262c;float:left;height:33%;width:33%}.sk-cube-grid .sk-cube1,.sk-cube-grid .sk-cube5,.sk-cube-grid .sk-cube9{animation-delay:.2s}.sk-cube-grid .sk-cube2,.sk-cube-grid .sk-cube6{animation-delay:.3s}.sk-cube-grid .sk-cube3{animation-delay:.4s}.sk-cube-grid .sk-cube4,.sk-cube-grid .sk-cube8{animation-delay:.1s}.sk-cube-grid .sk-cube7{animation-delay:0s}@keyframes a{0%,70%,to{transform:scaleX(1)}35%{transform:scale3D(0,0,1)}}*,:after,:before{border:0 solid}.border-t,hr{border-top-width:1px}.DocSearch-Modal .DocSearch-Commands .DocSearch-Commands-Key,.DocSearch.DocSearch-Button .DocSearch-Button-Key{border-radius:.25rem!important;font-family:ibm-plex-mono,monospace!important;height:1.25rem!important;top:0!important;width:1.25rem!important;padding:0!important}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:neue-haas-grotesk-text,Arial,sans-serif;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ibm-plex-mono,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0}sub{bottom:-.25em}sup{top:-.5em}table{display:block;margin-bottom:var(--ifm-spacing-vertical);border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}.markdown .alert,.shadow{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.font-bold,blockquote p,h1,h2,h3,h4,h5,h6{font-weight:700}.DocSearch-Modal .DocSearch-Commands .DocSearch-Commands-Key,.DocSearch-Modal .DocSearch-Logo .DocSearch-Label,.DocSearch.DocSearch-Button .DocSearch-Button-Key,.DocSearch.DocSearch-Button .DocSearch-Button-Placeholder{line-height:1.5!important;font-size:clamp(.8888888888888888rem,calc(.89437rem - .02741vw),.8680555555555557rem)!important;letter-spacing:.0142em!important}summary{display:list-item}menu,ol,ul{list-style:none;padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.sticky{position:sticky}.isolate{isolation:isolate}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-5{grid-column:span 5/span 5}.col-span-6{grid-column:span 6/span 6}.col-span-8{grid-column:span 8/span 8}.col-start-1{grid-column-start:1}.col-start-5{grid-column-start:5}.col-start-7{grid-column-start:7}.col-start-9{grid-column-start:9}.row-span-full{grid-row:1/-1}.row-start-1{grid-row-start:1}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.-mx-side-padding{margin-left:-5.56vw;margin-right:-5.56vw}.es-h-center,.es-showcase-grid{margin-left:auto;margin-right:auto}.my-10{margin-bottom:2.5rem}.-mb-2{margin-bottom:-.5rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-5{margin-bottom:1.25rem}.block{display:block}.inline,.tags_jXut{display:inline}.grid{display:grid}.contents{display:contents}.aspect-\[3\/2\]{aspect-ratio:3/2}.h-20{height:5rem}.h-24{height:6rem}.h-6{height:1.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-full,nav.theme-doc-breadcrumbs breadcrumbsContainer_node_modules-\@docusaurus-theme-classic-lib-theme-DocBreadcrumbs-styles-module{width:100%}.max-w-\[15ch\],.max-w-prose-mini{max-width:15ch}.max-w-lg{max-width:32rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.origin-right{transform-origin:right}.-scale-x-100,.before\:translate-y-full-plus-px:before,.focus\:before\:translate-y-0:focus:before,.group:focus .group-focus\:scale-75,.group:focus .group-focus\:translate-x-3,.group:hover .group-hover\:scale-75,.group:hover .group-hover\:translate-x-3,.hover\:before\:translate-y-0:hover:before,.hover\:scale-105:hover,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-scale-x-100{--tw-scale-x:-1}.select-none{-webkit-user-select:none;user-select:none}.auto-cols-auto{grid-auto-columns:auto}.grid-flow-col{grid-auto-flow:column}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.blogPostFooterDetailsFull_mRVl,.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4,.navbar__items{gap:1rem}.gap-8{gap:2rem}.gap-gutter{gap:2.78vw}.gap-y-10{row-gap:2.5rem}.gap-y-20{row-gap:5rem}.markdown>:not([hidden])~:not([hidden]),.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.breadcrumbs,.overflow-x-auto{overflow-x:auto}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-l-4,blockquote{border-left-width:4px}.border-grey-100{--tw-border-opacity:1;border-color:rgb(245 249 255/var(--tw-border-opacity))}.border-l-candy-30{--tw-border-opacity:1;border-left-color:rgb(216 85 95/var(--tw-border-opacity))}.border-l-infinum,blockquote{border-left-color:rgb(216 38 44/var(--tw-border-opacity));--tw-border-opacity:1}.border-l-olive-30{--tw-border-opacity:1;border-left-color:rgb(90 135 114/var(--tw-border-opacity))}.border-l-sand-30{--tw-border-opacity:1;border-left-color:rgb(217 168 102/var(--tw-border-opacity))}.border-l-sky-30{--tw-border-opacity:1;border-left-color:rgb(100 121 195/var(--tw-border-opacity))}.border-l-violet-30{--tw-border-opacity:1;border-left-color:rgb(145 103 148/var(--tw-border-opacity))}.border-t-grey-200{--tw-border-opacity:1;border-top-color:rgb(228 235 245/var(--tw-border-opacity))}.bg-grey-100{--tw-bg-opacity:1;background-color:rgb(245 249 255/var(--tw-bg-opacity))}.bg-infinum{--tw-bg-opacity:1;background-color:rgb(216 38 44/var(--tw-bg-opacity))}.object-cover{object-fit:cover}.navbar-sidebar__brand,.navbar-sidebar__items .menu,.p-side-padding{padding:5.56vw}.px-7{padding-left:1.75rem;padding-right:1.75rem}.px-7\.5{padding-left:1.875rem;padding-right:1.875rem}.px-side-padding{padding-left:5.56vw;padding-right:5.56vw}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-3\.75{padding-bottom:.9375rem;padding-top:.9375rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pb-20{padding-bottom:5rem}.pb-28{padding-bottom:7rem}.pl-10{padding-left:2.5rem}.pt-10{padding-top:2.5rem}.es-text-center,.text-center{text-align:center}.font-display{font-family:neue-haas-grotesk-display,Arial,sans-serif}.font-sans{font-family:neue-haas-grotesk-text,Arial,sans-serif}.es-big-title,.es-big-title-limited,.navbar-sidebar__items .menu__link,h1,h2,h3,h4,h5,h6{font-family:neue-haas-grotesk-display,Arial,sans-serif}.font-medium{font-weight:500}.not-italic{font-style:normal}.leading-none{line-height:1}.blog-list-page .main-wrapper .container>.row>main article h2+div,.blog-tags-post-list-page .main-wrapper .container>.row>main article h2+div,.text-12,.theme-code-block>div[class^=codeBlockTitle]{font-size:clamp(.7671968738091037rem,calc(.78721rem - .10006vw),.6911478531570941rem);letter-spacing:.0286em;line-height:1.33}.text-candy-30{--tw-text-opacity:1;color:rgb(216 85 95/var(--tw-text-opacity))}.text-grey-400{--tw-text-opacity:1;color:rgb(146 158 178/var(--tw-text-opacity))}.text-grey-500{--tw-text-opacity:1;color:rgb(82 94 108/var(--tw-text-opacity))}.group:hover .group-hover\:text-infinum,.hover\:text-infinum:hover,.markdown a,.text-infinum,section[class*=DocCategoryGeneratedIndexPage] article .card:hover{--tw-text-opacity:1;color:rgb(216 38 44/var(--tw-text-opacity))}.text-olive-30{--tw-text-opacity:1;color:rgb(90 135 114/var(--tw-text-opacity))}.text-sand-30{--tw-text-opacity:1;color:rgb(217 168 102/var(--tw-text-opacity))}.text-sky-30{--tw-text-opacity:1;color:rgb(100 121 195/var(--tw-text-opacity))}.text-violet-30{--tw-text-opacity:1;color:rgb(145 103 148/var(--tw-text-opacity))}.hover\:text-white:hover,.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke}.duration-500{transition-duration:.5s}.text-14{font-size:clamp(.8888888888888888rem,calc(.89437rem - .02741vw),.8680555555555557rem);letter-spacing:.0142em;line-height:1.5}.text-16{font-size:clamp(.9853849721883559rem,calc(.97675rem + .04317vw),1.0181953544068256rem);line-height:1.5}.text-18,h4{font-size:clamp(1.0606601717798212rem,calc(1.03949rem + .10583vw),1.141088661469096rem);line-height:1.44}.navbar-sidebar__items .menu__link,.text-24,blockquote p,h3{font-size:clamp(1.284396490428795rem,calc(1.21856rem + .32919vw),1.5345778128306942rem);line-height:1.25}.text-36,h2{font-size:clamp(1.6692195887945571rem,calc(1.50261rem + .83304vw),2.302327957702624rem);letter-spacing:-.0138em;line-height:1.17}.text-h2{font-size:clamp(2.8193058827290858rem,calc(2.19746rem + 3.10922vw),5.182314101769203rem);letter-spacing:-.0125em;line-height:1.02}.text-h3,h1{font-size:clamp(2.131350900116625rem,calc(1.80776rem + 1.61796vw),3.3609981453282645rem);letter-spacing:-.0096em;line-height:1.12}aside{--doc-sidebar-width:320px}h5{font-size:clamp(.9853849721883559rem,calc(.97675rem + .04317vw),1.0181953544068256rem)}h5,h6{line-height:1.5}h6{font-size:clamp(.8888888888888888rem,calc(.89437rem - .02741vw),.8680555555555557rem);letter-spacing:.0142em}.markdown,.markdown ol li,.markdown ul li,li{font-size:clamp(.9853849721883559rem,calc(.97675rem + .04317vw),1.0181953544068256rem);line-height:1.5}li{font-family:neue-haas-grotesk-text,Arial,sans-serif}blockquote{margin:2.5rem 0;padding:1rem 0 1rem 2.5rem}blockquote p{font-family:neue-haas-grotesk-text,Arial,sans-serif}.es-showcase-grid{display:flex;flex-direction:column;gap:3.5rem;margin-bottom:2.5rem;padding:5.56vw}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-0:before{content:var(--tw-content);inset:0}.before\:-z-10:before{content:var(--tw-content);z-index:-10}.before\:translate-y-full-plus-px:before{--tw-translate-y:calc(100% + 1px);content:var(--tw-content)}.before\:bg-black:before{--tw-bg-opacity:1;background-color:rgb(17 17 17/var(--tw-bg-opacity));content:var(--tw-content)}.DocSearch-Modal,.DocSearch.DocSearch-Button{background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.before\:transition-transform:before{content:var(--tw-content);transition-property:transform}.before\:duration-300:before{content:var(--tw-content);transition-duration:.3s}.pagination-nav__label,.pagination-nav__label:after,.pagination-nav__label:before,section[class*=DocCategoryGeneratedIndexPage] article .card{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:no-underline:hover{text-decoration-line:none}.hover\:decoration-transparent:hover{text-decoration-color:#0000}.hover\:before\:translate-y-0:hover:before{--tw-translate-y:0px;content:var(--tw-content)}.focus\:outline-offset-4:focus{outline-offset:4px}.focus\:outline-infinum:focus{outline-color:#d8262c}.focus\:before\:translate-y-0:focus:before{--tw-translate-y:0px;content:var(--tw-content)}.group:focus .group-focus\:translate-x-3,.group:hover .group-hover\:translate-x-3{--tw-translate-x:.75rem}.group:focus .group-focus\:opacity-0,.group:hover .group-hover\:opacity-0{opacity:0}.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 ol li,.markdown ul li{padding-left:.5rem}.markdown ol li ::marker,.markdown ul li ::marker{font-size:clamp(1.0606601717798212rem,calc(1.03949rem + .10583vw),1.141088661469096rem);line-height:1.44}.markdown ol li::marker,.markdown ul li::marker{font-size:clamp(1.0606601717798212rem,calc(1.03949rem + .10583vw),1.141088661469096rem);line-height:1.44}.markdown ul{list-style-type:"●"}.markdown ul ul{list-style-type:"○"}.markdown ul ul ul{list-style-type:"■"}.markdown ul ul ul ul{list-style-type:"□"}.markdown ol{list-style-type:decimal}.markdown ol li ::marker{font-size:clamp(.9853849721883559rem,calc(.97675rem + .04317vw),1.0181953544068256rem);line-height:1.5}.markdown ol li::marker{font-size:clamp(.9853849721883559rem,calc(.97675rem + .04317vw),1.0181953544068256rem);line-height:1.5}.markdown ol ol{list-style-type:upper-roman}.markdown ol ol ol ol{list-style-type:upper-alpha}.markdown>*{scroll-margin-top:4rem}.markdown h2{margin-top:3rem!important}.markdown :is(h3,h4,h5,h6){margin-top:2.5rem!important}.markdown .alert{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;border-radius:.125rem}.markdown p+.theme-code-block{margin-top:.5rem}.markdown img{--tw-border-opacity:1;border-color:rgb(245 249 255/var(--tw-border-opacity));border-radius:.25rem;border-width:1px}.markdown details{--tw-border-opacity:1;border-color:rgb(196 206 222/var(--tw-border-opacity));border-radius:.375rem!important;display:flex;font-size:clamp(.9853849721883559rem,calc(.97675rem + .04317vw),1.0181953544068256rem);line-height:1.5;padding:0}.markdown details summary{align-items:center;display:flex;font-size:clamp(.8888888888888888rem,calc(.89437rem - .02741vw),.8680555555555557rem);font-weight:500;gap:.25rem;letter-spacing:.0142em;line-height:1.5;margin:0;padding:.75rem 1rem}.markdown details summary:before{--tw-border-opacity:1;border-left-color:rgb(82 94 108/var(--tw-border-opacity));content:var(--tw-content);margin:0;padding:0;position:static}.markdown details[open] summary:before{--tw-border-opacity:1;border-left-color:rgb(216 38 44/var(--tw-border-opacity));content:var(--tw-content)}.markdown details>div>div{--tw-border-opacity:1;border-top-color:rgb(228 235 245/var(--tw-border-opacity));margin:0;padding:.75rem 1rem}.DocSearch-Modal .DocSearch-Form,.DocSearch.DocSearch-Button{border-color:rgb(228 235 245/var(--tw-border-opacity))!important;border-style:solid!important;border-width:1px!important;--tw-border-opacity:1!important}.DocSearch.DocSearch-Button{--tw-bg-opacity:1!important;display:flex!important;gap:1rem!important;margin:0!important;padding:0 .5rem!important}.DocSearch-Modal .DocSearch-Footer,.DocSearch.DocSearch-Button .DocSearch-Button-Key{background-color:rgb(245 249 255/var(--tw-bg-opacity))!important;--tw-bg-opacity:1!important;--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.DocSearch.DocSearch-Button .DocSearch-Button-Placeholder{font-weight:400!important;gap:.5rem!important;margin:0!important;padding:0!important}.DocSearch.DocSearch-Button .DocSearch-Button-Placeholder:is(span){line-height:1!important}.DocSearch.DocSearch-Button .DocSearch-Button-Container{gap:.5rem!important}.DocSearch.DocSearch-Button .DocSearch-Button-Keys{display:none!important;gap:.25rem!important;margin:0!important;min-width:-moz-fit-content!important;min-width:fit-content!important;padding:0!important}.DocSearch.DocSearch-Button .DocSearch-Button-Key{--tw-text-opacity:1!important;background-image:none!important;border-style:none!important;color:rgb(82 94 108/var(--tw-text-opacity))!important;margin:0!important}.DocSearch-Modal .DocSearch-Commands .DocSearch-Commands-Key,.DocSearch-Modal .DocSearch-HitsFooter a:hover{background-color:rgb(146 158 178/var(--tw-bg-opacity))!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.DocSearch.DocSearch-Button .DocSearch-Button-Key:is(kbd){line-height:1!important}.DocSearch-Modal{--tw-bg-opacity:1!important;--tw-shadow:0 25px 50px -12px #00000040!important;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.navbar,.theme-doc-sidebar-container{background-color:rgb(245 249 255/var(--tw-bg-opacity))}.navbar,.navbar-sidebar__brand,section[class*=DocCategoryGeneratedIndexPage] article .card{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.DocSearch-Modal .DocSearch-Form{border-radius:.5rem!important}.DocSearch-Modal .DocSearch-Form:hover{--tw-border-opacity:1!important;border-color:rgb(146 158 178/var(--tw-border-opacity))!important}.DocSearch-Modal .DocSearch-Form:focus-visible{--tw-border-opacity:1!important;border-color:rgb(216 38 44/var(--tw-border-opacity))!important}.DocSearch-Modal .DocSearch-Footer{--tw-border-opacity:1!important;border-style:none!important;border-top-color:rgb(228 235 245/var(--tw-border-opacity))!important}.DocSearch-Modal .DocSearch-Logo .DocSearch-Label{--tw-text-opacity:1!important;color:rgb(146 158 178/var(--tw-text-opacity))!important}.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit .DocSearch-Hit-icon,.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Modal .DocSearch-Logo .DocSearch-Label:hover,.DocSearch-Modal .DocSearch-Logo svg:hover,.prism-code .token.cdata,.prism-code .token.comment,.prism-code .token.doctype,.prism-code .token.plain-text,.prism-code .token.prolog{--tw-text-opacity:1!important;color:rgb(82 94 108/var(--tw-text-opacity))!important}.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit .DocSearch-Hit-Tree,.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit .DocSearch-Hit-action,.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit .DocSearch-Hit-path,.DocSearch-Modal .DocSearch-Logo svg{--tw-text-opacity:1!important;color:rgb(146 158 178/var(--tw-text-opacity))!important}.DocSearch-Modal .DocSearch-Logo .cls-1,.DocSearch-Modal .DocSearch-Logo .cls-2{fill:currentColor!important}.DocSearch-Modal .DocSearch-Commands{gap:.75rem!important}.DocSearch-Modal .DocSearch-Commands .DocSearch-Commands-Key{--tw-bg-opacity:1!important;--tw-text-opacity:1!important;--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;background-image:none!important;border-style:none!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important;margin:0!important}.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit,.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit-source,.DocSearch-Modal .DocSearch-HitsFooter a,.es-footer-white~.es-footer{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.DocSearch-Modal .DocSearch-Commands .DocSearch-Label,.DocSearch-Modal .DocSearch-HitsFooter a{color:rgb(82 94 108/var(--tw-text-opacity))!important}.DocSearch-Modal .DocSearch-Commands .DocSearch-Label,.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit-source{font-size:clamp(.7671968738091037rem,calc(.78721rem - .10006vw),.6911478531570941rem)!important;letter-spacing:.0286em!important;line-height:1.33!important;--tw-text-opacity:1!important}.DocSearch-Modal .DocSearch-Commands .DocSearch-Commands-Key svg{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.DocSearch-Modal .DocSearch-Commands .DocSearch-Commands-Key:is(kbd){line-height:1!important}.DocSearch-Modal .DocSearch-Commands li{display:flex!important;gap:.25rem!important;margin:0!important;padding:0!important}.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit-source{border-style:none!important;color:rgb(17 17 17/var(--tw-text-opacity))!important;font-family:neue-haas-grotesk-text,Arial,sans-serif!important;font-weight:500!important;margin:0!important;padding:.5rem 0!important;text-transform:uppercase!important}.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit-source+ul{display:flex!important;flex-direction:column!important;gap:.5rem!important;padding:.25rem 0 0!important}.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit{--tw-border-opacity:1!important;border-color:rgb(228 235 245/var(--tw-border-opacity))!important;border-radius:.5rem!important;border-style:solid!important;border-width:1px!important;margin:0!important;padding:0!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke!important}.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit:hover{--tw-border-opacity:1!important;border-color:rgb(216 38 44/var(--tw-border-opacity))!important}.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit>a{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;background-image:none!important;border-radius:.5rem!important;border-style:none!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important;outline-color:#d8262cbf!important}.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit .DocSearch-Hit-title{--tw-text-opacity:1!important;color:rgb(17 17 17/var(--tw-text-opacity))!important;font-size:clamp(.8888888888888888rem,calc(.89437rem - .02741vw),.8680555555555557rem)!important;font-weight:400!important;letter-spacing:.0142em!important;line-height:1.5!important;margin:0!important;padding:0!important}.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit .DocSearch-Hit-path{font-size:clamp(.7671968738091037rem,calc(.78721rem - .10006vw),.6911478531570941rem)!important;font-weight:400!important;letter-spacing:.0286em!important;line-height:1.33!important;margin:-.25rem 0 0!important;padding:0!important}.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit .DocSearch-Hit-action:hover{--tw-text-opacity:1!important;color:rgb(216 38 44/var(--tw-text-opacity))!important}.DocSearch-Modal .DocSearch-Hits .DocSearch-Hit[aria-selected=true] mark{--tw-text-opacity:1!important;color:rgb(216 38 44/var(--tw-text-opacity))!important;filter:drop-shadow(0 0 .125rem rgb(216 38 44/.25))!important;text-decoration-line:none!important}.DocSearch-Modal .DocSearch-HitsFooter{margin:0!important;padding:1rem!important}.DocSearch-Modal .DocSearch-HitsFooter a{--tw-border-opacity:1!important;--tw-text-opacity:1!important;border-color:rgb(146 158 178/var(--tw-border-opacity))!important;border-radius:.5rem!important;border-style:solid!important;border-width:1px!important;cursor:pointer!important;font-weight:500!important;padding:.375rem .75rem!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter!important}.DocSearch-Modal .DocSearch-HitsFooter a:hover{--tw-bg-opacity:1!important;--tw-text-opacity:1!important}.DocSearch-Modal .DocSearch-HitsFooter a:focus-visible{--tw-border-opacity:1!important;--tw-bg-opacity:1!important;--tw-text-opacity:1!important;background-color:rgb(216 38 44/var(--tw-bg-opacity))!important;border-color:rgb(216 38 44/var(--tw-border-opacity))!important;color:rgb(255 255 255/var(--tw-text-opacity))!important;outline-color:#d8262cbf!important}main .container{display:flex;flex-wrap:nowrap;gap:2.5rem;justify-content:space-between;margin:0;padding-bottom:2.5rem!important;padding-left:8rem;padding-right:5rem;padding-top:2.5rem!important}main .container article{max-width:42rem}.es-single-full-screen-child{display:grid!important;grid-template-columns:repeat(1,minmax(0,1fr));grid-template-rows:repeat(1,minmax(0,1fr));height:100%;width:100%}.es-has-t-border{--tw-border-opacity:1;border-color:rgb(228 235 245/var(--tw-border-opacity));border-top-width:1px}.es-full-size{height:100%;width:100%}.es-big-title,.es-big-title-limited{font-size:clamp(3.7074202030286756rem,calc(2.59935rem + 5.54035vw),7.9180844472589476rem);font-weight:700;letter-spacing:-.0208em;line-height:.98;padding:1.5rem 5.56vw}.es-big-subtitle,.navbar__link{font-size:clamp(.9853849721883559rem,calc(.97675rem + .04317vw),1.0181953544068256rem)}.es-big-title-limited{max-width:45rem}.es-big-subtitle{line-height:1.5;margin-bottom:2.5rem;margin-top:-.5rem;max-width:68ch;padding-left:5.56vw;padding-right:5.56vw}.es-blog-grid{column-gap:4rem;display:flex;flex-direction:column;grid-auto-rows:auto;margin:0;padding:5.56vw;row-gap:2.5rem}body:has(.es-navbar-white) .navbar{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}body:has(.es-navbar-white) .navbar .DocSearch.DocSearch-Button{--tw-border-opacity:1!important;border-color:rgb(228 235 245/var(--tw-border-opacity))!important;border-style:solid!important;border-width:1px!important}.navbar{--tw-bg-opacity:1;height:6.25rem;padding:0 1.5rem}.navbar__brand{padding-top:.25rem}.navbar__logo{max-height:1.5rem;max-width:14.5rem}.navbar__items--right{gap:2rem}.navbar__link{align-items:center;border-top-color:#0000;border-top-width:4px;font-weight:400;height:100%;line-height:1.5;padding:0 .5rem}.navbar__link--active{--tw-border-opacity:1;border-top-color:rgb(216 38 44/var(--tw-border-opacity));color:currentColor}.navbar-sidebar__items .menu__link,.table-of-contents__link{--tw-text-opacity:1;color:rgb(17 17 17/var(--tw-text-opacity))}.blog-list-page .main-wrapper .container>.row>main article footer>.col.text--right,.blog-list-page .main-wrapper .container>.row>main article footer>.col>b,.blog-list-page .main-wrapper .container>.row>main article h2+div+div,.blog-post-page footer.row>.col>b,.blog-tags-post-list-page .main-wrapper .container>.row>main article footer>.col.text--right,.blog-tags-post-list-page .main-wrapper .container>.row>main article footer>.col>b,.blog-tags-post-list-page .main-wrapper .container>.row>main article h2+div+div,.navbar__link svg,.navbar__title{display:none}.navbar-sidebar__brand{--tw-border-opacity:1;border-bottom-color:rgb(228 235 245/var(--tw-border-opacity));border-bottom-width:1px}.navbar-sidebar__items .menu__link{font-weight:700;margin:0;padding:0}.navbar-sidebar__items .menu__link:hover{--tw-text-opacity:1;background:none;color:rgb(216 38 44/var(--tw-text-opacity))}.breadcrumbs__item--active .breadcrumbs__link,.navbar-sidebar__items .menu__link--active:not(.menu__link--sublist){--tw-text-opacity:1;background-color:initial;color:rgb(216 38 44/var(--tw-text-opacity))}.blog-list-page .main-wrapper .container>.row>main article footer>.col>ul li,.blog-post-page footer.row>.col>ul li,.blog-tags-post-list-page .main-wrapper .container>.row>main article footer>.col>ul li,.blog-tags-post-list-page .main-wrapper>.container>.row>.col,.navbar-sidebar__items .menu__list-item,.table-of-contents li{margin:0;padding:0}.navbar-sidebar__items .menu__list-item.theme-doc-sidebar-item-link-level-2 .menu__link{font-size:clamp(1.0606601717798212rem,calc(1.03949rem + .10583vw),1.141088661469096rem);font-weight:400;letter-spacing:0;line-height:1.44}.navbar-sidebar__items .menu__list{display:flex;flex-direction:column;row-gap:1.25rem}.blog-list-page .navbar,.blog-tags-post-list-page .navbar{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.theme-doc-sidebar-container .menu__caret:hover,.theme-doc-sidebar-container .menu__link:hover{background-color:initial}.blog-list-page .navbar .DocSearch.DocSearch-Button,.blog-tags-post-list-page .navbar .DocSearch.DocSearch-Button{--tw-border-opacity:1!important;border-color:rgb(228 235 245/var(--tw-border-opacity))!important;border-style:solid!important;border-width:1px!important}.blog-list-page .main-wrapper .container,.blog-post-page .container,.blog-tags-post-list-page .main-wrapper .container{margin:0!important;max-width:100%!important;padding:5.56vw!important;width:100%!important}.blog-list-page .main-wrapper .container>.row,.blog-tags-post-list-page .main-wrapper .container>.row{display:block;margin:0;padding:0;width:100%}.blog-list-page .main-wrapper .container>.row>main,.blog-tags-post-list-page .main-wrapper .container>.row>main{display:block;margin:0;max-width:100%;padding:0;width:100%}.blog-list-page .main-wrapper .container>.row>main .pagination-nav,.blog-tags-post-list-page .main-wrapper .container>.row>main .pagination-nav{grid-column:span 3/span 3;grid-column-start:1}.blog-list-page .main-wrapper .container>.row>main article,.blog-tags-post-list-page .main-wrapper .container>.row>main article{display:flex;flex-direction:column;margin:0!important;padding:0!important}.blog-list-page .main-wrapper .container>.row>main article h2,.blog-tags-post-list-page .main-wrapper .container>.row>main article h2{font-family:neue-haas-grotesk-text,Arial,sans-serif;font-size:clamp(1.284396490428795rem,calc(1.21856rem + .32919vw),1.5345778128306942rem);font-weight:700;line-height:1.25}.blog-list-page .main-wrapper .container>.row>main article h2+div,.blog-tags-post-list-page .main-wrapper .container>.row>main article h2+div{--tw-text-opacity:1;color:rgb(17 17 17/var(--tw-text-opacity));font-family:neue-haas-grotesk-text,Arial,sans-serif;margin-bottom:.75rem!important;margin-top:.25rem!important;text-transform:uppercase}.blog-list-page .main-wrapper .container>.row>main article .markdown>:not([hidden])~:not([hidden]),.blog-tags-post-list-page .main-wrapper .container>.row>main article .markdown>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.blog-list-page .main-wrapper .container>.row>main article .markdown>:is(h1,h2,h3,h4,h5,h6,p),.blog-tags-post-list-page .main-wrapper .container>.row>main article .markdown>:is(h1,h2,h3,h4,h5,h6,p){-webkit-box-orient:vertical;-webkit-line-clamp:4;--tw-text-opacity:1;color:rgb(17 17 17/var(--tw-text-opacity));display:-webkit-box;font-family:neue-haas-grotesk-text,Arial,sans-serif;font-size:clamp(.8888888888888888rem,calc(.89437rem - .02741vw),.8680555555555557rem);font-weight:400;letter-spacing:.0142em;line-height:1.5;overflow:hidden;padding:0}.blog-list-page .main-wrapper .container>.row>main article .markdown>:is(h1,h2,h3,h4,h5,h6,p):first-child,.blog-tags-post-list-page .main-wrapper .container>.row>main article .markdown>:is(h1,h2,h3,h4,h5,h6,p):first-child{margin-top:0!important}.blog-list-page .main-wrapper .container>.row>main article footer,.blog-tags-post-list-page .main-wrapper .container>.row>main article footer{display:flex;margin:1.25rem 0 0!important;padding:0!important}.blog-list-page .main-wrapper .container>.row>main article footer>.col>ul,.blog-post-page footer.row>.col>ul,.blog-tags-post-list-page .main-wrapper .container>.row>main article footer>.col>ul{column-gap:.5rem;display:flex;flex-wrap:wrap;list-style-type:none;margin:0!important;padding:0!important;row-gap:.125rem}.blog-list-page .main-wrapper .container>.row>main article footer>.col>ul li a,.blog-post-page footer.row>.col>ul li a,.blog-tags-post-list-page .main-wrapper .container>.row>main article footer>.col>ul li a{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(196 206 222/var(--tw-bg-opacity));border-radius:9999px;border-style:none;color:rgb(255 255 255/var(--tw-text-opacity));font-size:clamp(.7671968738091037rem,calc(.78721rem - .10006vw),.6911478531570941rem);font-weight:500;letter-spacing:.0286em;line-height:1.33;text-transform:uppercase;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);margin:0!important;padding:.125rem .5rem!important}.blog-list-page .main-wrapper .container>.row>main article footer>.col>ul li a:hover,.blog-post-page footer.row>.col>ul li a:hover,.blog-tags-post-list-page .main-wrapper .container>.row>main article footer>.col>ul li a:hover{--tw-bg-opacity:1;background-color:rgb(146 158 178/var(--tw-bg-opacity))}.blog-tags-post-list-page .main-wrapper>.container>.row{margin:0;width:100%}.blog-tags-post-list-page .main-wrapper>.container>.row>.col.col--3,div.generatedIndexPage_node_modules-\@docusaurus-theme-classic-lib-theme-DocCategoryGeneratedIndexPage-styles-module{max-width:100%!important;width:100%!important}.blog-tags-post-list-page .main-wrapper>.container>.row>.col.col--7{column-gap:4rem;display:flex;flex-direction:column;max-width:100%!important;row-gap:2.5rem;width:100%!important}.blog-tags-post-list-page .main-wrapper>.container>.row>.col.col--7>header{grid-column:span 3/span 3;grid-column-start:1;margin:0!important;padding:0!important}section[class*=DocCategoryGeneratedIndexPage]{display:flex;flex-direction:column;gap:1.25rem;margin:0!important;padding:0!important}.blog-list-page .main-wrapper>.container.margin-vert--lg,.blog-post-page .container>.row>.col,section[class*=DocCategoryGeneratedIndexPage] article.col{margin:0!important;padding:0!important}section[class*=DocCategoryGeneratedIndexPage] article .card{--tw-border-opacity:1;border-color:rgb(228 235 245/var(--tw-border-opacity));border-radius:.375rem;border-width:1px;display:flex;flex-direction:column;gap:.5rem;padding:1rem!important}.blog-list-page .es-blog-grid+.pagination-nav{margin-left:5.56vw;margin-right:5.56vw}.table-of-contents{--tw-border-opacity:1;border-left-color:rgb(146 158 178/var(--tw-border-opacity));padding:0 0 0 .75rem}.table-of-contents__link{font-size:clamp(.8888888888888888rem,calc(.89437rem - .02741vw),.8680555555555557rem);letter-spacing:.0142em;line-height:1.5;padding:.25rem 0}.breadcrumbs__link:hover,.table-of-contents__link--active{color:rgb(216 38 44/var(--tw-text-opacity));--tw-text-opacity:1}.breadcrumbs{margin-bottom:3rem!important}.breadcrumbs,.breadcrumbs__item{align-items:center;display:flex;flex-shrink:0;gap:1.5rem;margin:0;padding:0}.breadcrumbs__item:not(:last-child):after{height:.75rem;margin:.125rem;opacity:1;padding:0;width:.75rem}.breadcrumbs__link{border-radius:0;margin:0;padding:0}.breadcrumbs__link:any-link:hover{background-color:initial}.theme-doc-sidebar-container{--tw-bg-opacity:1;--tw-border-opacity:1!important;border-right-color:rgb(228 235 245/var(--tw-border-opacity))!important;margin:0;padding:0 0 2rem}.theme-doc-sidebar-container .menu-list{margin-bottom:0!important;margin-top:0!important;padding-bottom:0!important;padding-top:0!important}.theme-doc-sidebar-container .menu{margin:0;padding:0;scrollbar-gutter:auto}.theme-doc-sidebar-container .menu__link{--tw-text-opacity:1;background-color:initial;color:rgb(17 17 17/var(--tw-text-opacity));margin:0;padding:0}.theme-doc-sidebar-container .menu__caret:hover,.theme-doc-sidebar-container .menu__link--active,.theme-doc-sidebar-container .menu__link:hover{color:rgb(216 38 44/var(--tw-text-opacity));--tw-text-opacity:1}.theme-doc-sidebar-container .menu__list .theme-doc-sidebar-container .menu__list,.theme-doc-sidebar-container .menu__list-item:not(:first-child){margin-top:0!important}.theme-doc-sidebar-container .menu__list .theme-doc-sidebar-container .menu__list{padding-left:1.5rem}.theme-doc-sidebar-container .menu__caret{--tw-text-opacity:1;align-items:center;border-radius:0;color:rgb(17 17 17/var(--tw-text-opacity));display:flex;height:2.5rem;justify-content:center;margin-right:.75rem;padding:0;width:2.5rem}.prism-code .token,.prism-code .token.content,.prism-code .token.front-matter,.prism-code .token.imports,.prism-code .token.language-php,.prism-code .token.maybe-class-name,.prism-code .token.plain,.prism-code .token.property-access,.prism-code .token.property:not(.literal-property),.prism-code .token.punctuation,.prism-code .token.script,.prism-code .token.unit,.theme-code-block{--tw-text-opacity:1!important;color:rgb(17 17 17/var(--tw-text-opacity))!important}.theme-doc-sidebar-container .menu__caret:before{--tw-rotate:90deg!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important;height:1rem!important;width:1rem!important}.theme-doc-sidebar-container .menu__caret:before,.theme-doc-sidebar-container .menu__list-item:not(.menu__list-item--collapsed) .menu__caret:before{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.theme-doc-sidebar-container .menu__list-item:not(.menu__list-item--collapsed) .menu__caret:before{--tw-rotate:180deg!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important}.theme-doc-sidebar-item-link{margin:0!important;padding:.5rem 1.25rem!important}.theme-doc-sidebar-item-link.theme-doc-sidebar-item-link-level-1{padding-bottom:.75rem!important;padding-top:.75rem!important}.menu__link--sublist{margin:0!important;padding:.75rem 1.25rem!important}.menu__link--sublist:hover{background-color:initial!important}.theme-doc-sidebar-item-category-level-1>.menu__list-item-collapsible{font-size:clamp(1.0606601717798212rem,calc(1.03949rem + .10583vw),1.141088661469096rem);font-weight:700;line-height:1.44}.theme-doc-sidebar-item-category-level-1 .menu__list-item-collapsible--active,.theme-doc-sidebar-item-category-level-1 .menu__list-item-collapsible--active:hover,.theme-doc-sidebar-item-category-level-1>.menu__list-item-collapsible:hover{background-color:initial}.theme-doc-sidebar-item-category,.theme-doc-sidebar-item-link-level-1,.theme-doc-sidebar-item-link-level-2,.theme-doc-sidebar-item-link-level-3,.theme-doc-sidebar-item-link-level-4,.theme-doc-sidebar-item-link-level-5{font-size:clamp(.9853849721883559rem,calc(.97675rem + .04317vw),1.0181953544068256rem);font-weight:400;line-height:1.5;margin:0;padding:0}main[class*=docMainContainer]>.container{--ifm-container-width-xl:100%;margin:0!important;padding:1.5rem!important;width:100%!important}main[class*=docMainContainer]>.container>.row{margin:0;max-width:100%!important;width:100%!important}main[class*=docMainContainer]>.container>.row>.col{padding-left:0;padding-right:0}.docs-doc-page .navbar{--tw-border-opacity:1;border-bottom-width:1px;border-color:rgb(228 235 245/var(--tw-border-opacity));padding-left:1.5rem;padding-right:1.5rem}button.tocCollapsibleButton_node_modules-\@docusaurus-theme-classic-lib-theme-TOCCollapsible-CollapseButton-styles-module{--tw-border-opacity:1;--tw-bg-opacity:1;-webkit-appearance:none;appearance:none;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(196 206 222/var(--tw-border-opacity));border-radius:.375rem;border-style:solid;border-width:1px;font-size:clamp(.8888888888888888rem,calc(.89437rem - .02741vw),.8680555555555557rem);letter-spacing:.0142em;line-height:1.5}button.tocCollapsibleButtonExpanded_node_modules-\@docusaurus-theme-classic-lib-theme-TOCCollapsible-CollapseButton-styles-module{border-bottom-left-radius:0;border-bottom-right-radius:0}div.tocCollapsibleContent_node_modules-\@docusaurus-theme-classic-lib-theme-TOCCollapsible-styles-module{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(196 206 222/var(--tw-border-opacity));border-style:solid;border-top-color:#0000;border-radius:0 0 .375rem .375rem;border-width:1px}div.tocCollapsibleContent_node_modules-\@docusaurus-theme-classic-lib-theme-TOCCollapsible-styles-module .table-of-contents{background-color:initial;border-top-width:0;margin:0;padding:0}code:not(.prism-code code){background-image:none;border-style:none;font-family:ibm-plex-mono,monospace;font-size:.95em;font-weight:700;margin:0;padding:0;vertical-align:initial}.markdown code:not(.prism-code code){--tw-text-opacity:1;color:rgb(51 58 105/var(--tw-text-opacity))}.prism-code,.theme-code-block{border-radius:0!important;border-style:none!important}.prism-code{--tw-bg-opacity:1!important;background-color:rgb(245 249 255/var(--tw-bg-opacity))!important;font-family:ibm-plex-mono,monospace!important;font-size:clamp(.8888888888888888rem,calc(.89437rem - .02741vw),.8680555555555557rem)!important;font-weight:500!important;letter-spacing:.0142em!important;line-height:1.5!important}.prism-code .theme-code-block-highlighted-line{background-color:#e4ebf599!important}.prism-code .token.boolean,.prism-code .token.constant,.prism-code .token.deleted,.prism-code .token.function-variable,.prism-code .token.important,.prism-code .token.literal-property,.prism-code .token.number,.prism-code .token.parameter,.prism-code .token.regex,.prism-code .token.symbol,.prism-code .token.tag,.prism-code .token.variable{--tw-text-opacity:1!important;color:rgb(217 168 102/var(--tw-text-opacity))!important}.prism-code .token.namespace{opacity:.7!important}.prism-code .token.attr-name,.prism-code .token.builtin,.prism-code .token.char,.prism-code .token.inserted,.prism-code .token.selector,.prism-code .token.string{--tw-text-opacity:1!important;color:rgb(90 135 114/var(--tw-text-opacity))!important}.prism-code .language-css .token.string,.prism-code .style .token.string,.prism-code .token.entity,.prism-code .token.operator,.prism-code .token.url{--tw-text-opacity:1!important;background-color:#ffffff0d!important;color:rgb(99 75 54/var(--tw-text-opacity))!important}.prism-code .token.atrule,.prism-code .token.attr-value,.prism-code .token.color,.prism-code .token.keyword{--tw-text-opacity:1!important;color:rgb(100 121 195/var(--tw-text-opacity))!important}.prism-code .token.class-name,.prism-code .token.function{--tw-text-opacity:1!important;color:rgb(158 121 86/var(--tw-text-opacity))!important}.prism-code .token.bold,.prism-code .token.important{font-weight:700!important}.prism-code .token.entity{cursor:help!important}.theme-code-block{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;background-image:none!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important;--tw-bg-opacity:1;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;background-color:rgb(51 58 105/var(--tw-bg-opacity));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);font-size:clamp(.8888888888888888rem,calc(.89437rem - .02741vw),.8680555555555557rem);line-height:1.6}.theme-code-block>div[class^=codeBlockTitle]{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(228 235 245/var(--tw-bg-opacity));border-radius:0;color:rgb(82 94 108/var(--tw-text-opacity));font-family:neue-haas-grotesk-text,Arial,sans-serif;font-weight:400;padding:.25rem .625rem}.pagination-nav{--tw-border-opacity:1;border-top-color:rgb(228 235 245/var(--tw-border-opacity));border-top-width:1px;display:flex;flex-direction:column;margin-bottom:1.5rem;padding-top:1rem}.pagination-nav__link{border-style:none;padding:0}.pagination-nav__label{font-size:clamp(1.284396490428795rem,calc(1.21856rem + .32919vw),1.5345778128306942rem);line-height:1.25}.pagination-nav__label:after,.pagination-nav__label:before{--tw-text-opacity:1;color:rgb(146 158 178/var(--tw-text-opacity));content:var(--tw-content)}.pagination-nav__label:hover:after,.pagination-nav__label:hover:before{--tw-text-opacity:1;color:rgb(216 38 44/var(--tw-text-opacity));content:var(--tw-content)}.pagination-nav__link--prev .pagination-nav__label:before{content:"⬅ "!important}.pagination-nav__link--next .pagination-nav__label:after{content:" ⮕"!important}.blog-post-page main>article>header div[class*=BlogPostItem-Header-Info]+div.margin-top--md.margin-bottom--sm{margin-bottom:2.5rem!important}.blog-post-page .container>.row{display:block;grid-template-columns:minmax(0,28ch) minmax(0,1fr) minmax(0,28ch);margin:0;max-width:100%;padding:0;width:100%}.blog-post-page .container>.row>.col.col--2,.blog-post-page .container>.row>.col.col--3{max-width:100%;width:100%}.blog-post-page .container>.row>.col.col--7{justify-self:center;max-width:48rem}.DocSearch-Button,.DocSearch-Button-Container{align-items:center;display:flex}.blog-post-page .markdown img{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(245 249 255/var(--tw-bg-opacity));border-color:rgb(228 235 245/var(--tw-border-opacity));border-radius:.375rem;border-width:1px}.backToTopButton_sjWU{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_sjWU: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_xfvO{opacity:1;transform:scale(1);visibility:visible}.DocSearch-Button{background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;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-Input,.DocSearch-Link{-webkit-appearance:none;font:inherit}.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-Button-Key--pressed{box-shadow:var(--docsearch-key-pressed-shadow);transform:translate3d(0,1px,0)}.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-Container a,.sidebarItemLink_mo7H:hover{text-decoration:none}.DocSearch-Hit[aria-selected=true] mark,.content_knG7 a{text-decoration:underline}.DocSearch-Link{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;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-size:1.2em;height:100%;outline:0;padding:0 0 0 8px;width:80%}.DocSearch-Hit-action-button,.DocSearch-Reset{-webkit-appearance:none;border:0;cursor:pointer}.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 b;appearance:none;background:none;border-radius:50%;color:var(--docsearch-icon-color);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-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-radius:50%;color:inherit;padding:2px}#__docusaurus-base-url-issue-banner-container,.docSidebarContainer_YfHR,.sidebarLogo_isFc,.themedComponent_mlkZ,[data-theme=dark] .lightToggleIcon_pyhR,[data-theme=light] .darkToggleIcon_wfgR,html[data-announcement-bar-initially-dismissed=true] .announcementBar_mb4j,svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon,.tocCollapsibleContent_vkbj 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{-webkit-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline: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}.DocSearch-VisuallyHiddenForAccessibility{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.sidebar_re4s,.tableOfContents_bqdL{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto}@keyframes b{0%{opacity:0}to{opacity:1}}.DocSearch-Button{margin:0;transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.DocSearch-Container,.skipToContent_fXgn{z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_fXgn{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}.skipToContent_fXgn:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_CVFx{line-height:0;padding:0}.content_knG7{font-size:85%;padding:5px 0;text-align:center}.content_knG7 a{color:inherit}.announcementBar_mb4j{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_vyr4{flex:0 0 10px}.announcementBarClose_gvF7{align-self:stretch;flex:0 0 30px}.toggle_vylO{height:2rem;width:2rem}.toggleButton_gllP{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_gllP:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_aARS{cursor:not-allowed}.darkNavbarColorModeToggle_X3D1:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedComponent--dark_xIcU,[data-theme=light] .themedComponent--light_NVdE,html:not([data-theme]) .themedComponent--light_NVdE{display:initial}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton_PEFL{display:none;margin:0}.iconExternalLink_nPIU{margin-left:.3rem}.docMainContainer_TBSr,.docRoot_UBD9{display:flex;width:100%}.docsWrapper_hBAB{display:flex;flex:1 0 auto}.iconLanguage_nlXk{margin-right:5px;vertical-align:text-bottom}@supports selector(:has(*)){.navbarSearchContainer_Bca1:not(:has(>*)){display:none}}.navbarHideable_m1mJ{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_jGov{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_a6uf{color:red;white-space:pre-wrap}.errorBoundaryFallback_VBag{color:red;padding:.55rem}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}.anchorWithStickyNavbar_LWe7{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_WYt5{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.mainWrapper_z2l0{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.sidebar_re4s{position:sticky;top:calc(var(--ifm-navbar-height) + 2rem)}.sidebarItemTitle_pO2u{font-size:var(--ifm-h3-font-size);font-weight:var(--ifm-font-weight-bold)}.container_mt6G,.sidebarItemList_Yudw{font-size:.9rem}.sidebarItem__DBe{margin-top:.7rem}.sidebarItemLink_mo7H{color:var(--ifm-font-color-base);display:block}.sidebarItemLinkActive_I1ZP{color:var(--ifm-color-primary)!important}.searchQueryInput_u2C7,.searchVersionInput_m0Ui{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_u2C7:focus,.searchVersionInput_m0Ui:focus{border-color:var(--docsearch-primary-color);outline:0}.searchQueryInput_u2C7::placeholder{color:var(--docsearch-muted-color)}.searchResultsColumn_JPFH{font-size:.9rem;font-weight:700}.algoliaLogo_rT1R{max-width:150px}.algoliaLogoPathFill_WdUC{fill:var(--ifm-font-color-base)}.searchResultItem_Tv2o{border-bottom:1px solid var(--ifm-toc-border-color);padding:1rem 0}.searchResultItemHeading_KbCB{font-weight:400;margin-bottom:0}.searchResultItemPath_lhe1{--ifm-breadcrumb-separator-size-multiplier:1;color:var(--ifm-color-content-secondary);font-size:.8rem}.searchResultItemSummary_AEaO{font-style:italic;margin:.5rem 0 0}.loadingSpinner_XVxU{animation:1s linear infinite c;border:.4em solid #eee;border-radius:50%;border-top:.4em solid var(--ifm-color-primary);height:3rem;margin:0 auto;width:3rem}@keyframes c{to{transform:rotate(1turn)}}.loader_vvXV{margin-top:2rem}.search-result-match{background:#ffd78e40;color:var(--docsearch-hit-color);padding:.09em 0}.buttonGroup__atx button,.codeBlockContainer_Ckt0{background:var(--prism-background-color);color:var(--prism-color)}.authorCol_Hf19{flex-grow:1!important;max-width:inherit!important}.imageOnlyAuthorRow_pa_O{display:flex;flex-flow:row wrap}.imageOnlyAuthorCol_G86a{margin-left:.3rem;margin-right:.3rem}.codeBlockContainer_Ckt0{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_biex{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_Ktv7{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_bY9V{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_Ktv7+.codeBlockContent_biex .codeBlock_bY9V{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_e6Vv{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_o6Pm{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup__atx{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup__atx 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__atx button:focus-visible,.buttonGroup__atx button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup__atx button{opacity:.4}.iconEdit_Z9Sw{margin-right:.3em;vertical-align:sub}.tag_zVej{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_zVej:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular_sFm0{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_h2kH{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_h2kH:after,.tagWithCount_h2kH:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_h2kH:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_h2kH:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_h2kH 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_Nnez{display:inline-block;margin:.5rem .5rem 0 1rem}: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_lJS_{counter-increment:a;display:table-row}.codeLineNumber_Tfdd{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_Tfdd:before{content:counter(a);opacity:.4}.codeLineContent_feaV{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_obH4{opacity:1!important}.copyButtonIcons_eSgA{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_y97N,.copyButtonSuccessIcon_LjdS{fill:currentColor;height:inherit;left:0;opacity:inherit;position:absolute;top:0;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_LjdS{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_obH4 .copyButtonIcon_y97N{opacity:0;transform:scale(.33)}.copyButtonCopied_obH4 .copyButtonSuccessIcon_LjdS{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.tag_QGVx{display:inline-block;margin:0 .4rem .5rem 0}.lastUpdated_vwxv{font-size:smaller;font-style:italic;margin-top:.2rem}.tocCollapsibleButton_TO0P{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_TO0P: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_MG3E:after,.tocCollapsibleExpanded_sAul{transform:none}.tocCollapsible_ETCw{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_vkbj>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_vkbj ul li{margin:.4rem .8rem}.wordWrapButtonIcon_Bwma{height:1.2rem;width:1.2rem}.details_lb9f{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_lb9f>summary{cursor:pointer;list-style:none;padding-left:1rem;position:relative}.details_lb9f>summary::-webkit-details-marker{display:none}.details_lb9f>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_i85q{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_b_Ee{--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)}.containsTaskList_mC6p{list-style:none}:not(.containsTaskList_mC6p>li)>.containsTaskList_mC6p{padding-left:0}.img_ev3q{height:auto}.tableOfContents_bqdL{position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.breadcrumbHomeIcon_YNFT{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_Z_bl{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}@media (min-width:496px){.tablet\:mx-0{margin-left:0;margin-right:0}.tablet\:grid-flow-row{grid-auto-flow:row}.tablet\:auto-rows-auto{grid-auto-rows:auto}.tablet\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tablet\:gap-x-20{column-gap:5rem}.tablet\:overflow-x-hidden{overflow-x:hidden}.tablet\:px-0{padding-left:0;padding-right:0}}@media not all and (min-width:496px){.max-tablet\:no-scrollbar::-webkit-scrollbar{display:none}.max-tablet\:no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}}@media (min-width:997px){.collapseSidebarButton_PEFL,.expandButton_TmdG{background-color:var(--docusaurus-collapse-button-bg)}.es-showcase-grid{display:grid;gap:6rem;grid-template-columns:repeat(2,minmax(0,1fr));width:-moz-fit-content;width:fit-content}.desktop\:sticky{position:sticky}.desktop\:top-navbar{top:6.25rem}.desktop\:row-span-2{grid-row:span 2/span 2}.desktop\:mb-0{margin-bottom:0}.desktop\:mb-1{margin-bottom:.25rem}.desktop\:mb-10{margin-bottom:2.5rem}.desktop\:mb-20{margin-bottom:5rem}.desktop\:block{display:block}.desktop\:grid{display:grid}.desktop\:w-auto{width:auto}.desktop\:max-w-full,.navbar__logo{max-width:100%}.desktop\:max-w-xl{max-width:36rem}.desktop\:auto-rows-auto{grid-auto-rows:auto}.desktop\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.desktop\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.desktop\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.desktop\:grid-cols-fit20{grid-template-columns:repeat(auto-fit,minmax(20rem,1fr))}.desktop\:grid-rows-\[auto_9rem\]{grid-template-rows:auto 9rem}.desktop\:flex-row{flex-direction:row}.desktop\:items-center,.sidebarLogo_isFc{align-items:center}.desktop\:justify-between{justify-content:space-between}.desktop\:gap-x-gutter{column-gap:2.78vw}.desktop\:gap-y-0{row-gap:0}.desktop\:gap-y-20{row-gap:5rem}.desktop\:self-start{align-self:flex-start}.desktop\:py-20{padding-bottom:5rem;padding-top:5rem}.desktop\:py-24{padding-bottom:6rem;padding-top:6rem}.desktop\:pb-0{padding-bottom:0}.desktop\:pb-36{padding-bottom:9rem}.desktop\:pb-side-padding{padding-bottom:5.56vw}.desktop\:pr-0{padding-right:0}.desktop\:pt-10{padding-top:2.5rem}.desktop\:pt-20{padding-top:5rem}.desktop\:pt-24{padding-top:6rem}.desktop\:text-left{text-align:left}.DocSearch.DocSearch-Button{padding-right:.75rem!important}.DocSearch.DocSearch-Button .DocSearch-Button-Keys{display:flex!important}.DocSearch-Modal{border-radius:.75rem!important}.es-big-title,.es-big-title-limited{padding-bottom:0;padding-top:5rem}.es-big-subtitle{margin-bottom:2rem;margin-top:1rem}.es-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));row-gap:8rem}.navbar__link{display:flex}.blog-tags-post-list-page .main-wrapper>.container>.row{display:grid;grid-template-columns:repeat(10,minmax(0,1fr))}.blog-tags-post-list-page .main-wrapper>.container>.row>.col.col--3{grid-column:span 2/span 2;grid-column-start:1}.blog-tags-post-list-page .main-wrapper>.container>.row>.col.col--7{display:grid;grid-column:span 8/span 8;grid-column-start:3;grid-template-columns:repeat(3,minmax(0,1fr));row-gap:8rem}.blog-tags-post-list-page .main-wrapper>.container>.row>.col.col--7>header{margin-bottom:-5rem!important}main[class*=docMainContainer]>.container{padding:2rem 2rem 2rem 3rem!important}.pagination-nav{flex-direction:row;justify-content:space-between;margin-bottom:5rem}.pagination-nav__link--next{margin-left:auto}.blog-post-page main>article>header div[class*=BlogPostItem-Header-Info]+div.margin-top--md.margin-bottom--sm{margin-bottom:5rem!important}.blog-post-page .container>.row{display:grid;justify-content:space-between}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_gvF7,.announcementBarPlaceholder_vyr4{flex-basis:50px}.collapseSidebarButton_PEFL{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_kv0_{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_i1dp,[dir=rtl] .collapseSidebarButtonIcon_kv0_{transform:rotate(0)}.collapseSidebarButton_PEFL:focus,.collapseSidebarButton_PEFL:hover,.expandButton_TmdG:focus,.expandButton_TmdG:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_M9Kj{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_SIkG{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_SIkG{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_GW3s{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_njMd{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_wUlq{padding-top:0}.sidebarHidden_VK0M{opacity:0;visibility:hidden}.sidebarLogo_isFc{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_isFc img{height:2rem;margin-right:.5rem}.expandButton_TmdG{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_i1dp{transform:rotate(180deg)}.docSidebarContainer_YfHR{border-right:1px solid var(--ifm-toc-border-color);-webkit-clip-path:inset(0);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_DPk8{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_aRkj{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_TBSr{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_lQrH{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_JWYK{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.navbarSearchContainer_Bca1{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.lastUpdated_vwxv{text-align:right}.tocMobile_ITEo{display:none}.docItemCol_VOVn{max-width:75%!important}}@media (min-width:1365px){.es-showcase-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@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_DEke,.footer__link-separator,.navbar__item,.sidebar_re4s,.tableOfContents_bqdL{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_Bca1{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_F8PC{padding:0 .3rem}}@media only screen and (max-width:996px){.searchQueryColumn_RTkw,.searchResultsColumn_JPFH{max-width:60%!important}.searchLogoColumn_rJIA,.searchVersionColumn_ypXd{max-width:40%!important}.searchLogoColumn_rJIA{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{-webkit-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:0;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}}@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_f1Hy{font-size:2rem}}@media screen and (max-width:576px){.searchQueryColumn_RTkw{max-width:100%!important}.searchVersionColumn_ypXd{max-width:100%!important;padding-left:var(--ifm-spacing-horizontal)!important}}@media (hover:hover){.backToTopButton_sjWU: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}}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{stroke-width:var(--docsearch-icon-stroke-width);animation:none;-webkit-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0}.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_mb4j,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_ITEo{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_e6Vv{white-space:pre-wrap}} \ No newline at end of file diff --git a/assets/js/00fb5982.98cf04bc.js b/assets/js/00fb5982.98cf04bc.js new file mode 100644 index 000000000..049e54d3f --- /dev/null +++ b/assets/js/00fb5982.98cf04bc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[86903],{87404:e=>{e.exports=JSON.parse('{"version":{"pluginId":"forms","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"forms":[{"type":"category","label":"Getting Started","items":[{"type":"link","label":"Welcome","href":"/forms/welcome","docId":"welcome","unlisted":false},{"type":"link","label":"Basics","href":"/forms/basics","docId":"basics","unlisted":false},{"type":"link","label":"Your first form","href":"/forms/first-form","docId":"first-form","unlisted":false},{"type":"category","label":"Features","items":[{"type":"link","label":"Dashboard","href":"/forms/features/dashboard","docId":"features/dashboard","unlisted":false},{"type":"link","label":"Conditional tags","href":"/forms/features/conditional-tags","docId":"features/conditional-tags","unlisted":false},{"type":"link","label":"Enrichment","href":"/forms/features/enrichment","docId":"features/enrichment","unlisted":false},{"type":"link","label":"Geolocation","href":"/forms/features/geolocation","docId":"features/geolocation","unlisted":false},{"type":"link","label":"Validation","href":"/forms/features/validation","docId":"features/validation","unlisted":false},{"type":"link","label":"Multi-steps forms","href":"/forms/features/multisteps-forms","docId":"features/multisteps-forms","unlisted":false},{"type":"link","label":"Spam prevention","href":"/forms/features/spam-prevention","docId":"features/spam-prevention","unlisted":false},{"type":"link","label":"Success redirects","href":"/forms/features/success-redirect","docId":"features/success-redirect","unlisted":false},{"type":"link","label":"Tracking","href":"/forms/features/tracking","docId":"features/tracking","unlisted":false},{"type":"link","label":"Security","href":"/forms/features/security","docId":"features/security","unlisted":false},{"type":"link","label":"Labels","href":"/forms/features/labels","docId":"features/labels","unlisted":false},{"type":"link","label":"Locations","href":"/forms/features/locations","docId":"features/locations","unlisted":false},{"type":"link","label":"Cache","href":"/forms/features/cache","docId":"features/cache","unlisted":false},{"type":"link","label":"Debugging","href":"/forms/features/debug","docId":"features/debug","unlisted":false},{"type":"link","label":"Fallback e-mails","href":"/forms/features/fallback-emails","docId":"features/fallback-emails","unlisted":false},{"type":"link","label":"Import/Export","href":"/forms/features/import-export","docId":"features/import-export","unlisted":false},{"type":"link","label":"Migrations","href":"/forms/features/migrations","docId":"features/migrations","unlisted":false},{"type":"link","label":"Cloudflare","href":"/forms/features/cloudflare","docId":"features/cloudflare","unlisted":false},{"type":"link","label":"Country list","href":"/forms/features/country-list","docId":"features/country-list","unlisted":false},{"type":"link","label":"WPML","href":"/forms/features/wpml","docId":"features/wpml","unlisted":false},{"type":"link","label":"Entries","href":"/forms/features/entries","docId":"features/entries","unlisted":false},{"type":"link","label":"Show As","href":"/forms/features/show-as","docId":"features/show-as","unlisted":false},{"type":"link","label":"Result output","href":"/forms/features/result-output","docId":"features/result-output","unlisted":false},{"type":"link","label":"Single submit","href":"/forms/features/single-submit","docId":"features/single-submit","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Integrations","items":[{"type":"link","label":"Intro","href":"/forms/integrations/intro","docId":"integrations/intro","unlisted":false},{"type":"link","label":"ActiveCampaign","href":"/forms/integrations/active-campaign","docId":"integrations/active-campaign","unlisted":false},{"type":"link","label":"Airtable","href":"/forms/integrations/airtable","docId":"integrations/airtable","unlisted":false},{"type":"link","label":"Calculator","href":"/forms/integrations/calculator","docId":"integrations/calculator","unlisted":false},{"type":"link","label":"Clearbit","href":"/forms/integrations/clearbit","docId":"integrations/clearbit","unlisted":false},{"type":"link","label":"Goodbits","href":"/forms/integrations/goodbits","docId":"integrations/goodbits","unlisted":false},{"type":"link","label":"Greenhouse","href":"/forms/integrations/greenhouse","docId":"integrations/greenhouse","unlisted":false},{"type":"link","label":"Hubspot","href":"/forms/integrations/hubspot","docId":"integrations/hubspot","unlisted":false},{"type":"link","label":"Jira","href":"/forms/integrations/jira","docId":"integrations/jira","unlisted":false},{"type":"link","label":"Mailchimp","href":"/forms/integrations/mailchimp","docId":"integrations/mailchimp","unlisted":false},{"type":"link","label":"Mailer","href":"/forms/integrations/mailer","docId":"integrations/mailer","unlisted":false},{"type":"link","label":"MailerLite","href":"/forms/integrations/mailerlite","docId":"integrations/mailerlite","unlisted":false},{"type":"link","label":"Moments","href":"/forms/integrations/moments","docId":"integrations/moments","unlisted":false},{"type":"link","label":"Workable","href":"/forms/integrations/workable","docId":"integrations/workable","unlisted":false},{"type":"link","label":"Pipedrive","href":"/forms/integrations/pipedrive","docId":"integrations/pipedrive","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","label":"Known issues","href":"/forms/known-issues","docId":"known-issues","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Customization","items":[{"type":"category","label":"PHP","items":[{"type":"link","label":"Intro","href":"/forms/php/intro","docId":"php/intro","unlisted":false},{"type":"category","label":"Global variables","items":[{"type":"link","label":"How to use?","href":"/forms/php/global-variables/how-to-use","docId":"php/global-variables/how-to-use","unlisted":false},{"type":"link","label":"Geolocation","href":"/forms/php/global-variables/geolocation","docId":"php/global-variables/geolocation","unlisted":false},{"type":"link","label":"Google reCaptcha","href":"/forms/php/global-variables/google-recaptcha","docId":"php/global-variables/google-recaptcha","unlisted":false},{"type":"category","label":"Integrations","items":[{"type":"link","label":"Active Campaign","href":"/forms/php/global-variables/integrations/active-campaign","docId":"php/global-variables/integrations/active-campaign","unlisted":false},{"type":"link","label":"Airtable","href":"/forms/php/global-variables/integrations/airtable","docId":"php/global-variables/integrations/airtable","unlisted":false},{"type":"link","label":"Clearbit","href":"/forms/php/global-variables/integrations/clearbit","docId":"php/global-variables/integrations/clearbit","unlisted":false},{"type":"link","label":"Goodbits","href":"/forms/php/global-variables/integrations/goodbits","docId":"php/global-variables/integrations/goodbits","unlisted":false},{"type":"link","label":"Greenhouse","href":"/forms/php/global-variables/integrations/greenhouse","docId":"php/global-variables/integrations/greenhouse","unlisted":false},{"type":"link","label":"Hubspot","href":"/forms/php/global-variables/integrations/hubspot","docId":"php/global-variables/integrations/hubspot","unlisted":false},{"type":"link","label":"Jira","href":"/forms/php/global-variables/integrations/jira","docId":"php/global-variables/integrations/jira","unlisted":false},{"type":"link","label":"Mailchimp","href":"/forms/php/global-variables/integrations/mailchimp","docId":"php/global-variables/integrations/mailchimp","unlisted":false},{"type":"link","label":"MailerLite","href":"/forms/php/global-variables/integrations/mailerlite","docId":"php/global-variables/integrations/mailerlite","unlisted":false},{"type":"link","label":"Moments","href":"/forms/php/global-variables/integrations/moments","docId":"php/global-variables/integrations/moments","unlisted":false},{"type":"link","label":"Workable","href":"/forms/php/global-variables/integrations/workable","docId":"php/global-variables/integrations/workable","unlisted":false},{"type":"link","label":"Pipedrive","href":"/forms/php/global-variables/integrations/pipedrive","docId":"php/global-variables/integrations/pipedrive","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"link","label":"Helpers","href":"/forms/php/helpers","docId":"php/helpers","unlisted":false},{"type":"category","label":"Filters","items":[{"type":"link","label":"How to use?","href":"/forms/php/filters/how-to-use","docId":"php/filters/how-to-use","unlisted":false},{"type":"category","label":"Block","items":[{"type":"category","label":"Forms","items":[{"type":"link","label":"Custom form styles","href":"/forms/php/filters/block/forms/style-options","docId":"php/filters/block/forms/style-options","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Form","items":[{"type":"link","label":"Redirect timeout","href":"/forms/php/filters/block/form/redirect-timeout","docId":"php/filters/block/form/redirect-timeout","unlisted":false},{"type":"link","label":"Global message timeout","href":"/forms/php/filters/block/form/hide-global-msg-timeout","docId":"php/filters/block/form/hide-global-msg-timeout","unlisted":false},{"type":"link","label":"Success redirect URL","href":"/forms/php/filters/block/form/success-redirect-url","docId":"php/filters/block/form/success-redirect-url","unlisted":false},{"type":"link","label":"Success redirect variation","href":"/forms/php/filters/block/form/success-redirect-variation","docId":"php/filters/block/form/success-redirect-variation","unlisted":false},{"type":"link","label":"Success redirect variation options","href":"/forms/php/filters/block/form/success-redirect-variation-options","docId":"php/filters/block/form/success-redirect-variation-options","unlisted":false},{"type":"link","label":"Tracking event name","href":"/forms/php/filters/block/form/tracking-event-name","docId":"php/filters/block/form/tracking-event-name","unlisted":false},{"type":"link","label":"Tracking additional data","href":"/forms/php/filters/block/form/tracking-additional-data","docId":"php/filters/block/form/tracking-additional-data","unlisted":false},{"type":"link","label":"Data type selector","href":"/forms/php/filters/block/form/data-type-selector","docId":"php/filters/block/form/data-type-selector","unlisted":false},{"type":"link","label":"Phone sync","href":"/forms/php/filters/block/form/phone-sync","docId":"php/filters/block/form/phone-sync","unlisted":false},{"type":"link","label":"Global msg headings","href":"/forms/php/filters/block/form/global-msg-headings","docId":"php/filters/block/form/global-msg-headings","unlisted":false},{"type":"link","label":"Additional content","href":"/forms/php/filters/block/form/additional-content","docId":"php/filters/block/form/additional-content","unlisted":false},{"type":"link","label":"Pre-Response add-on Data","href":"/forms/php/filters/block/form/pre-response-addon-data","docId":"php/filters/block/form/pre-response-addon-data","unlisted":false},{"type":"link","label":"Pre-Response Success Redirect Data","href":"/forms/php/filters/block/form/pre-response-success-redirect-data","docId":"php/filters/block/form/pre-response-success-redirect-data","unlisted":false},{"type":"link","label":"Additional hidden fields","href":"/forms/php/filters/block/form/additional-hidden-fields","docId":"php/filters/block/form/additional-hidden-fields","unlisted":false},{"type":"link","label":"Result output items","href":"/forms/php/filters/block/form/result-output-items","docId":"php/filters/block/form/result-output-items","unlisted":false},{"type":"link","label":"Result output parts","href":"/forms/php/filters/block/form/result-output-parts","docId":"php/filters/block/form/result-output-parts","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Form selector","items":[{"type":"link","label":"Form templates","href":"/forms/php/filters/block/form-selector/form-templates","docId":"php/filters/block/form-selector/form-templates","unlisted":false},{"type":"link","label":"Additional content","href":"/forms/php/filters/block/form-selector/additional-content","docId":"php/filters/block/form-selector/additional-content","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Field","items":[{"type":"link","label":"Custom field styles","href":"/forms/php/filters/block/field/style-options","docId":"php/filters/block/field/style-options","unlisted":false},{"type":"link","label":"Custom field classes","href":"/forms/php/filters/block/field/style-classes","docId":"php/filters/block/field/style-classes","unlisted":false},{"type":"link","label":"Additional content","href":"/forms/php/filters/block/field/additional-content","docId":"php/filters/block/field/additional-content","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Input","items":[{"type":"link","label":"Additional content","href":"/forms/php/filters/block/input/additional-content","docId":"php/filters/block/input/additional-content","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Textarea","items":[{"type":"link","label":"Additional content","href":"/forms/php/filters/block/textarea/additional-content","docId":"php/filters/block/textarea/additional-content","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Select","items":[{"type":"link","label":"Additional content","href":"/forms/php/filters/block/select/additional-content","docId":"php/filters/block/select/additional-content","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"File","items":[{"type":"link","label":"Uploaded item remove button label","href":"/forms/php/filters/block/file/preview-remove-label","docId":"php/filters/block/file/preview-remove-label","unlisted":false},{"type":"link","label":"Additional content","href":"/forms/php/filters/block/file/additional-content","docId":"php/filters/block/file/additional-content","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Checkboxes","items":[{"type":"link","label":"Additional content","href":"/forms/php/filters/block/checkboxes/additional-content","docId":"php/filters/block/checkboxes/additional-content","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Radios","items":[{"type":"link","label":"Additional content","href":"/forms/php/filters/block/radios/additional-content","docId":"php/filters/block/radios/additional-content","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Phone","items":[{"type":"link","label":"Additional content","href":"/forms/php/filters/block/phone/additional-content","docId":"php/filters/block/phone/additional-content","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Country","items":[{"type":"link","label":"Alternative datasets","href":"/forms/php/filters/block/country/alternative-data-set","docId":"php/filters/block/country/alternative-data-set","unlisted":false},{"type":"link","label":"Additional content","href":"/forms/php/filters/block/country/additional-content","docId":"php/filters/block/country/additional-content","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Date","items":[{"type":"link","label":"Additional content","href":"/forms/php/filters/block/date/additional-content","docId":"php/filters/block/date/additional-content","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Submit","items":[{"type":"link","label":"Custom form submit button","href":"/forms/php/filters/block/submit/component","docId":"php/filters/block/submit/component","unlisted":false},{"type":"link","label":"Additional content","href":"/forms/php/filters/block/submit/additional-content","docId":"php/filters/block/submit/additional-content","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Step","items":[{"type":"link","label":"Multi-step form \\"Previous\\" button","href":"/forms/php/filters/block/step/component-prev","docId":"php/filters/block/step/component-prev","unlisted":false},{"type":"link","label":"Multi-step form \\"Next\\" button","href":"/forms/php/filters/block/step/component-next","docId":"php/filters/block/step/component-next","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Rating","items":[{"type":"link","label":"Additional content","href":"/forms/php/filters/block/rating/additional-content","docId":"php/filters/block/rating/additional-content","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Blocks","items":[{"type":"link","label":"Allowed blocks","href":"/forms/php/filters/blocks/allowed-blocks","docId":"php/filters/blocks/allowed-blocks","unlisted":false},{"type":"link","label":"Additional blocks","href":"/forms/php/filters/blocks/additional-blocks","docId":"php/filters/blocks/additional-blocks","unlisted":false},{"type":"link","label":"Media breakpoints","href":"/forms/php/filters/blocks/media-breakpoints","docId":"php/filters/blocks/media-breakpoints","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"General","items":[{"type":"link","label":"HTTP request timeout","href":"/forms/php/filters/general/http-request-timeout","docId":"php/filters/general/http-request-timeout","unlisted":false},{"type":"link","label":"Locale","href":"/forms/php/filters/general/locale","docId":"php/filters/general/locale","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Scripts","items":[{"type":"link","label":"Dependency admin","href":"/forms/php/filters/scripts/dependency-admin","docId":"php/filters/scripts/dependency-admin","unlisted":false},{"type":"link","label":"Dependency theme","href":"/forms/php/filters/scripts/dependency-theme","docId":"php/filters/scripts/dependency-theme","unlisted":false},{"type":"link","label":"Dependency blocks editor","href":"/forms/php/filters/scripts/dependency-blocks-editor","docId":"php/filters/scripts/dependency-blocks-editor","unlisted":false},{"type":"link","label":"Dependency blocks frontend","href":"/forms/php/filters/scripts/dependency-blocks-frontend","docId":"php/filters/scripts/dependency-blocks-frontend","unlisted":false},{"type":"link","label":"Routes public","href":"/forms/php/filters/scripts/routes-public","docId":"php/filters/scripts/routes-public","unlisted":false},{"type":"link","label":"Routes private","href":"/forms/php/filters/scripts/routes-private","docId":"php/filters/scripts/routes-private","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Geolocation","items":[{"type":"link","label":"DB location","href":"/forms/php/filters/geolocation/db-location","docId":"php/filters/geolocation/db-location","unlisted":false},{"type":"link","label":"Phar location","href":"/forms/php/filters/geolocation/phar-location","docId":"php/filters/geolocation/phar-location","unlisted":false},{"type":"link","label":"Countries","href":"/forms/php/filters/geolocation/countries","docId":"php/filters/geolocation/countries","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Integrations","items":[{"type":"link","label":"ActiveCampaign","href":"/forms/php/filters/integrations/active-campaign","docId":"php/filters/integrations/active-campaign","unlisted":false},{"type":"link","label":"Airtable","href":"/forms/php/filters/integrations/airtable","docId":"php/filters/integrations/airtable","unlisted":false},{"type":"link","label":"Calculator","href":"/forms/php/filters/integrations/calculator","docId":"php/filters/integrations/calculator","unlisted":false},{"type":"link","label":"Clearbit","href":"/forms/php/filters/integrations/clearbit","docId":"php/filters/integrations/clearbit","unlisted":false},{"type":"link","label":"Goodbits","href":"/forms/php/filters/integrations/goodbits","docId":"php/filters/integrations/goodbits","unlisted":false},{"type":"link","label":"Greenhouse","href":"/forms/php/filters/integrations/greenhouse","docId":"php/filters/integrations/greenhouse","unlisted":false},{"type":"link","label":"HubSpot","href":"/forms/php/filters/integrations/hubspot","docId":"php/filters/integrations/hubspot","unlisted":false},{"type":"link","label":"Jira","href":"/forms/php/filters/integrations/jira","docId":"php/filters/integrations/jira","unlisted":false},{"type":"link","label":"Mailchimp","href":"/forms/php/filters/integrations/mailchimp","docId":"php/filters/integrations/mailchimp","unlisted":false},{"type":"link","label":"Mailer","href":"/forms/php/filters/integrations/mailer","docId":"php/filters/integrations/mailer","unlisted":false},{"type":"link","label":"MailerLite","href":"/forms/php/filters/integrations/mailerlite","docId":"php/filters/integrations/mailerlite","unlisted":false},{"type":"link","label":"Moments","href":"/forms/php/filters/integrations/moments","docId":"php/filters/integrations/moments","unlisted":false},{"type":"link","label":"Workable","href":"/forms/php/filters/integrations/workable","docId":"php/filters/integrations/workable","unlisted":false},{"type":"link","label":"Pipedrive","href":"/forms/php/filters/integrations/pipedrive","docId":"php/filters/integrations/pipedrive","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Entries","items":[{"type":"link","label":"Pre-Post Params","href":"/forms/php/filters/entries/pre-post-params","docId":"php/filters/entries/pre-post-params","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Enrichment","items":[{"type":"link","label":"Manual map","href":"/forms/php/filters/enrichment/manual-map","docId":"php/filters/enrichment/manual-map","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Validation","items":[{"type":"link","label":"Force mimetype from FS","href":"/forms/php/filters/validation/force-mimetype-from-fs","docId":"php/filters/validation/force-mimetype-from-fs","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Admin","items":[{"type":"link","label":"Settings data","href":"/forms/php/filters/admin/settings-data","docId":"php/filters/admin/settings-data","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Actions","items":[{"type":"link","label":"How to use?","href":"/forms/php/actions/how-to-use","docId":"php/actions/how-to-use","unlisted":false},{"type":"link","label":"Migrations","href":"/forms/php/actions/migrations","docId":"php/actions/migrations","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","label":"Shortcodes","href":"/forms/php/shortcodes","docId":"php/shortcodes","unlisted":false},{"type":"link","label":"WP-CLI","href":"/forms/php/wp-cli","docId":"php/wp-cli","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"JavaScript","items":[{"type":"link","label":"Intro","href":"/forms/javascript/intro","docId":"javascript/intro","unlisted":false},{"type":"category","label":"Events","items":[{"type":"link","label":"Available events","href":"/forms/javascript/events/available-events","docId":"javascript/events/available-events","unlisted":false},{"type":"link","label":"How to use?","href":"/forms/javascript/events/how-to-use","docId":"javascript/events/how-to-use","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"State","items":[{"type":"link","label":"How to use?","href":"/forms/javascript/state/how-to-use","docId":"javascript/state/how-to-use","unlisted":false},{"type":"link","label":"State","href":"/forms/javascript/state/","docId":"javascript/state/state","unlisted":false},{"type":"link","label":"Store","href":"/forms/javascript/state/store","docId":"javascript/state/store","unlisted":false},{"type":"link","label":"Form","href":"/forms/javascript/state/form","docId":"javascript/state/form","unlisted":false},{"type":"link","label":"Utils","href":"/forms/javascript/state/utils","docId":"javascript/state/utils","unlisted":false},{"type":"link","label":"Conditional tags","href":"/forms/javascript/state/conditional-tags","docId":"javascript/state/conditional-tags","unlisted":false},{"type":"link","label":"Enrichment","href":"/forms/javascript/state/enrichment","docId":"javascript/state/enrichment","unlisted":false},{"type":"link","label":"Step","href":"/forms/javascript/state/step","docId":"javascript/state/step","unlisted":false},{"type":"link","label":"Captcha","href":"/forms/javascript/state/captcha","docId":"javascript/state/captcha","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","label":"Manual initiation","href":"/forms/javascript/manual-initiation","docId":"javascript/manual-initiation","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Tutorials","items":[{"type":"link","label":"Playlist","href":"/forms/tutorials/playlist","docId":"tutorials/playlist","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Addon plugins","items":[{"type":"link","label":"Intro","href":"/forms/addons/intro","docId":"addons/intro","unlisted":false},{"type":"category","label":"Free","items":[{"type":"link","label":"Intro","href":"/forms/addons/free/intro","docId":"addons/free/intro","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Premium","items":[{"type":"link","label":"Intro","href":"/forms/addons/premium/intro","docId":"addons/premium/intro","unlisted":false},{"type":"category","label":"Computed fields","items":[{"type":"link","label":"Intro","href":"/forms/addons/premium/computed-fields/intro","docId":"addons/premium/computed-fields/intro","unlisted":false},{"type":"link","label":"How to use?","href":"/forms/addons/premium/computed-fields/how-to-use","docId":"addons/premium/computed-fields/how-to-use","unlisted":false},{"type":"link","label":"Settings","href":"/forms/addons/premium/computed-fields/settings","docId":"addons/premium/computed-fields/settings","unlisted":false},{"type":"link","label":"Blocks","href":"/forms/addons/premium/computed-fields/blocks","docId":"addons/premium/computed-fields/blocks","unlisted":false},{"type":"link","label":"Data flow","href":"/forms/addons/premium/computed-fields/data-flow","docId":"addons/premium/computed-fields/data-flow","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Create an addon","items":[{"type":"link","label":"Intro","href":"/forms/addons/create/intro","docId":"addons/create/intro","unlisted":false},{"type":"link","label":"Utils library","href":"/forms/addons/create/utils-library","docId":"addons/create/utils-library","unlisted":false},{"type":"link","label":"Requirements","href":"/forms/addons/create/requirements","docId":"addons/create/requirements","unlisted":false},{"type":"link","label":"Add-on boilerplate","href":"/forms/addons/create/addon-boilerplate","docId":"addons/create/addon-boilerplate","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}]},"docs":{"addons/create/addon-boilerplate":{"id":"addons/create/addon-boilerplate","title":"Add-on boilerplate","description":"We have created a boilerplate for creating a new add-on for the Eightshift Forms plugin. This boilerplate will help you to create a new add-on with the correct structure and naming conventions.","sidebar":"forms"},"addons/create/intro":{"id":"addons/create/intro","title":"Intro","description":"Eightshift Forms provides ability to use add-ons to extend the functionality of the plugin. This documentation will guide you through the process of creating a new add-on for the Eightshift Forms plugin.","sidebar":"forms"},"addons/create/requirements":{"id":"addons/create/requirements","title":"Requirements","description":"Add-on naming convention","sidebar":"forms"},"addons/create/utils-library":{"id":"addons/create/utils-library","title":"Utils library","description":"In order to provide a better experience for developers, we have created a library of utility functions that can be used in your add-on plugin. This library is available in the Eightshift Forms Utils package.","sidebar":"forms"},"addons/free/intro":{"id":"addons/free/intro","title":"Intro","description":"Free plugins:","sidebar":"forms"},"addons/intro":{"id":"addons/intro","title":"Intro","description":"Starting from version 3 of Eightshift Forms, custom add-on plugins are now supported, which can be used along with the main plugin to enhance its functionality.","sidebar":"forms"},"addons/premium/computed-fields/blocks":{"id":"addons/premium/computed-fields/blocks","title":"Blocks","description":"Computed fields results block","sidebar":"forms"},"addons/premium/computed-fields/data-flow":{"id":"addons/premium/computed-fields/data-flow","title":"Data flow","description":"Here\'s how data flow in the Computed fields add-on works:","sidebar":"forms"},"addons/premium/computed-fields/how-to-use":{"id":"addons/premium/computed-fields/how-to-use","title":"How to use?","description":"To use Computed Fields, you must:","sidebar":"forms"},"addons/premium/computed-fields/intro":{"id":"addons/premium/computed-fields/intro","title":"Intro","description":"Computed Fields add-on provides the ability to do more advanced calculations and complex logic using a custom, PHP-based programming language. Multiple output variables can be set to further customize the output.","sidebar":"forms"},"addons/premium/computed-fields/settings":{"id":"addons/premium/computed-fields/settings","title":"Settings","description":"Computed fields setting","sidebar":"forms"},"addons/premium/intro":{"id":"addons/premium/intro","title":"Intro","description":"Premium plugins:","sidebar":"forms"},"basics":{"id":"basics","title":"Basics","description":"How to use it?","sidebar":"forms"},"features/cache":{"id":"features/cache","title":"Cache","description":"Eightshift Forms utilizes WordPress\'s internal cache tools to store integration API response data, reducing API calls and improving site performance. Clear the cache via our global settings page to retrieve fresh data from the API.","sidebar":"forms"},"features/cloudflare":{"id":"features/cloudflare","title":"Cloudflare","description":"What is Cloudflare?","sidebar":"forms"},"features/conditional-tags":{"id":"features/conditional-tags","title":"Conditional tags","description":"Conditional tags are a useful tool that enables you to display or hide form fields based on various conditions.","sidebar":"forms"},"features/country-list":{"id":"features/country-list","title":"Country list","description":"DataHub is the primary country database in Eightshift forms, as it\'s the most complete and up-to-date list of countries. This plugin is not biased towards any country, nor does it have any political agenda. Please forward any country list-specific feedback towards DataHub.","sidebar":"forms"},"features/dashboard":{"id":"features/dashboard","title":"Dashboard","description":"The dashboards gives you an overview of the currently active features and enables activating and deactivating of them.","sidebar":"forms"},"features/debug":{"id":"features/debug","title":"Debugging","description":"The debugging screen provides configuration options and overrides default functionalities for developers, but caution should be used as these options can break form functionality.","sidebar":"forms"},"features/enrichment":{"id":"features/enrichment","title":"Enrichment","description":"Enrichment","sidebar":"forms"},"features/entries":{"id":"features/entries","title":"Entries","description":"Entries collection will allow you to store every form submission in the database and preview the data from WordPress admin.","sidebar":"forms"},"features/fallback-emails":{"id":"features/fallback-emails","title":"Fallback e-mails","description":"Fallback email options are used in multiple locations, and we encourage you to set them up. You can add multiple emails by separating them with commas.","sidebar":"forms"},"features/geolocation":{"id":"features/geolocation","title":"Geolocation","description":"Geolocation is a feature that allows you to show different versions of the forms based on the user\'s geolocation location.","sidebar":"forms"},"features/import-export":{"id":"features/import-export","title":"Import/Export","description":"The import/export feature enables forms to be easily transferred between projects, allowing for efficient creation and modification across different environments.","sidebar":"forms"},"features/labels":{"id":"features/labels","title":"Labels","description":"We use multiple multiple labels to show all the necessary information the user needs to know, like the field label, error message, and success message, etc.","sidebar":"forms"},"features/locations":{"id":"features/locations","title":"Locations","description":"Forms can be used in multiple locations, like a contact form on the contact page and a newsletter form in the footer. To make options to find you forms usage you can use locations feature.","sidebar":"forms"},"features/migrations":{"id":"features/migrations","title":"Migrations","description":"As forms evolve, so does the code, and it is inevitable that we will produce some breaking changes in the future. To make sure that your forms are always up to date, we provide a migration system that will help you migrate your forms to the latest version.","sidebar":"forms"},"features/multisteps-forms":{"id":"features/multisteps-forms","title":"Multi-steps forms","description":"By utilizing the multi-step feature, you can craft a wide variety of custom forms. Each form can comprise of numerous steps with fields, validation, and actions. Moreover, you can establish a flow between steps, bypassing certain steps based on the user\'s input.","sidebar":"forms"},"features/result-output":{"id":"features/result-output","title":"Result output","description":"Result output allows displaying user-defined blocks after the form is submitted successfully.","sidebar":"forms"},"features/security":{"id":"features/security","title":"Security","description":"The security feature enables you to enhance the security of your forms. Our rate-limiting function keeps track of user requests and compares them to the set limit.","sidebar":"forms"},"features/show-as":{"id":"features/show-as","title":"Show As","description":"When using the Show As option, you can change how form fields are displayed to your users, even if they are defined differently in the external integration. For instance, if an integration does not have a checkbox field but does have a select field, you can pull the select field from the external integration and display it to your users as a checkbox, and vice versa.","sidebar":"forms"},"features/single-submit":{"id":"features/single-submit","title":"Single submit","description":"Single submit is a feature that allows dynamic processing of a form when user makes any change on the form. This is useful for forms that require users to perform calculations, such as a mortgage calculator or a loan calculator.","sidebar":"forms"},"features/spam-prevention":{"id":"features/spam-prevention","title":"Spam prevention","description":"We use Google reCAPTCHA service for spam prevention. You can use the free version or the Enterprise version of reCAPTCHA v3.","sidebar":"forms"},"features/success-redirect":{"id":"features/success-redirect","title":"Success redirects","description":"By default, when you submit a form, a success message is displayed on the same page. If you want to redirect the user to a different page, you can enable the Success redirects feature. This option can be found in each integration\'s Form settings, or in Global settings.","sidebar":"forms"},"features/tracking":{"id":"features/tracking","title":"Tracking","description":"The tracking feature allows you to track form submissions by pushing the dataLayer event to Google Tag Manager. To activate this feature, you must provide the custom event name using the individual form setting page.","sidebar":"forms"},"features/validation":{"id":"features/validation","title":"Validation","description":"Validation is used to ensure that the form is populated in the correct way and that the data is valid. Every field has a set of validation rules that can be configured from the form builder.","sidebar":"forms"},"features/wpml":{"id":"features/wpml","title":"WPML","description":"WPML is plugin that allows multi-lingual functionality for the website, allowing features like post and media translations. Eightshift Forms is fully compatible with WPML, and allows adding language variants (translations) to forms.","sidebar":"forms"},"first-form":{"id":"first-form","title":"Your first form","description":"Adding your first form and displaying it on the frontend is simple:","sidebar":"forms"},"integrations/active-campaign":{"id":"integrations/active-campaign","title":"ActiveCampaign","description":"ActiveCampaign is an integrated email marketing, automation, sales software, and CRM platform.","sidebar":"forms"},"integrations/airtable":{"id":"integrations/airtable","title":"Airtable","description":"Airtable is an platform that makes it easy to build powerful, custom applications.","sidebar":"forms"},"integrations/calculator":{"id":"integrations/calculator","title":"Calculator","description":"Calculator is a service that allows turning a form into a calculator with custom programmable logic. For example, you can build a mortgage calculator.","sidebar":"forms"},"integrations/clearbit":{"id":"integrations/clearbit","title":"Clearbit","description":"Clearbit is an marketing intelligence tool that you can use to effectively get quality B2B data for understanding customers, identifying prospects, and creating personalised marketing and sales exchanges.","sidebar":"forms"},"integrations/goodbits":{"id":"integrations/goodbits","title":"Goodbits","description":"Goodbits is an service that helps you and your business create stellar newsletters from the best links your team and customers are reading.","sidebar":"forms"},"integrations/greenhouse":{"id":"integrations/greenhouse","title":"Greenhouse","description":"Greenhouse is an sourcing automation tool to help hiring teams find, reach and engage top talent quickly and effectively.","sidebar":"forms"},"integrations/hubspot":{"id":"integrations/hubspot","title":"Hubspot","description":"Hubspot is an CRM platform that connects everything scaling companies need to deliver a best-in-class customer experience into one place.","sidebar":"forms"},"integrations/intro":{"id":"integrations/intro","title":"Intro","description":"Integrations with external services give Eightshift Forms its power of automation. You can connect your forms with any supported services and send data to them. In general, we support two ways of form connections.","sidebar":"forms"},"integrations/jira":{"id":"integrations/jira","title":"Jira","description":"Jira is an marketing intelligence tool that you can use to effectively get quality B2B data for understanding customers, identifying prospects, and creating personalised marketing and sales exchanges.","sidebar":"forms"},"integrations/mailchimp":{"id":"integrations/mailchimp","title":"Mailchimp","description":"Mailchimp is an comprehensive email marketing platform that fulfills all your requirements of email correspondence with customers, affiliates, and more.","sidebar":"forms"},"integrations/mailer":{"id":"integrations/mailer","title":"Mailer","description":"Mailer is not and integrations service but a internal service used to send emails. You can connect mailer service with any of the integration services to send emails to your customers.","sidebar":"forms"},"integrations/mailerlite":{"id":"integrations/mailerlite","title":"MailerLite","description":"MailerLite is an email service provider that makes it easier to plan email marketing campaigns for any growing business.","sidebar":"forms"},"integrations/moments":{"id":"integrations/moments","title":"Moments","description":"Moments is an service that allows you to easily send relevant content derived from important customer information, their interests, and activities.","sidebar":"forms"},"integrations/pipedrive":{"id":"integrations/pipedrive","title":"Pipedrive","description":"Pipedrive is a web-based Sales CRM and pipeline management solution that enables businesses to plan their sales activities and monitor deals.","sidebar":"forms"},"integrations/workable":{"id":"integrations/workable","title":"Workable","description":"Workable is an sourcing automation tool to help hiring teams find, reach and engage top talent quickly and effectively.","sidebar":"forms"},"javascript/events/available-events":{"id":"javascript/events/available-events","title":"Available events","description":"You can listen to these events by using the on method on the Event facade.","sidebar":"forms"},"javascript/events/how-to-use":{"id":"javascript/events/how-to-use","title":"How to use?","description":"esFormsAfterCaptchaInit","sidebar":"forms"},"javascript/intro":{"id":"javascript/intro","title":"Intro","description":"In JavaScript, similar to PHP filters and global variables, there are various built-in functions available. This chapter will delve into the ways you can modify and adapt these functions to your specific needs.","sidebar":"forms"},"javascript/manual-initiation":{"id":"javascript/manual-initiation","title":"Manual initiation","description":"If you don\'t want the forms JavaScript to load automatically, you can disable from the admin global settings and load it manually using this event.","sidebar":"forms"},"javascript/state/captcha":{"id":"javascript/state/captcha","title":"Captcha","description":"The captcha object contains methods used in spam protection.","sidebar":"forms"},"javascript/state/conditional-tags":{"id":"javascript/state/conditional-tags","title":"Conditional tags","description":"The conditionalTags object contains methods used to manipulate conditional logic.","sidebar":"forms"},"javascript/state/enrichment":{"id":"javascript/state/enrichment","title":"Enrichment","description":"The enrichment object contains methods to work with the enrichment of the form.","sidebar":"forms"},"javascript/state/form":{"id":"javascript/state/form","title":"Form","description":"The form object contains all getters and setters for managing the form. All methods are connected to the formId value.","sidebar":"forms"},"javascript/state/how-to-use":{"id":"javascript/state/how-to-use","title":"How to use?","description":"As mentioned earlier, Eightshift Forms utilizes the esForms global window object to manage the state. This approach ensures consistency across various functionalities and components.","sidebar":"forms"},"javascript/state/state":{"id":"javascript/state/state","title":"State","description":"State object contains all the information about the current state of the forms, global settings, elements and etc.","sidebar":"forms"},"javascript/state/step":{"id":"javascript/state/step","title":"Step","description":"The step object contains methods used in multi-step/multi-flow forms.","sidebar":"forms"},"javascript/state/store":{"id":"javascript/state/store","title":"Store","description":"The store object contains all getters and setters for managing the application\'s state.","sidebar":"forms"},"javascript/state/utils":{"id":"javascript/state/utils","title":"Utils","description":"The utils object contains helper methods for miscellaneous functionalities such as showing/hiding loaders and setting/unsetting errors.","sidebar":"forms"},"known-issues":{"id":"known-issues","title":"Known issues","description":"Here we list all known issues and their workaround.","sidebar":"forms"},"php/actions/how-to-use":{"id":"php/actions/how-to-use","title":"How to use?","description":"Eightshift Forms was made by developers, for developers, so we provide a comprehensive set of actions that allow you to hook project specific functionality into the Forms plugin.","sidebar":"forms"},"php/actions/migrations":{"id":"php/actions/migrations","title":"Migrations","description":"Based on the migration version you can run custom actions before migration is triggered.","sidebar":"forms"},"php/filters/admin/settings-data":{"id":"php/filters/admin/settings-data","title":"Settings data","description":"This filter allows adding a custom settings page in the WordPress admin area. Useful when creating custom option pages for Forms add-on plugins.","sidebar":"forms"},"php/filters/block/checkboxes/additional-content":{"id":"php/filters/block/checkboxes/additional-content","title":"Additional content","description":"","sidebar":"forms"},"php/filters/block/country/additional-content":{"id":"php/filters/block/country/additional-content","title":"Additional content","description":"","sidebar":"forms"},"php/filters/block/country/alternative-data-set":{"id":"php/filters/block/country/alternative-data-set","title":"Alternative datasets","description":"We use the DataHub country list to provide a REST route with all the countries, as well as the data in the Geolocation and phone number fields.","sidebar":"forms"},"php/filters/block/date/additional-content":{"id":"php/filters/block/date/additional-content","title":"Additional content","description":"","sidebar":"forms"},"php/filters/block/field/additional-content":{"id":"php/filters/block/field/additional-content","title":"Additional content","description":"","sidebar":"forms"},"php/filters/block/field/style-classes":{"id":"php/filters/block/field/style-classes","title":"Custom field classes","description":"This filter allows you to add custom CSS classes to the field element. You can use this filter to provide custom styles based on some attributes of the field.","sidebar":"forms"},"php/filters/block/field/style-options":{"id":"php/filters/block/field/style-options","title":"Custom field styles","description":"This filter allows you to add definitions for custom field styles. When defined, the style option will be shown in the field options. Make sure to provide a CSS style that targets the class with the name of the value provided.","sidebar":"forms"},"php/filters/block/file/additional-content":{"id":"php/filters/block/file/additional-content","title":"Additional content","description":"","sidebar":"forms"},"php/filters/block/file/preview-remove-label":{"id":"php/filters/block/file/preview-remove-label","title":"Uploaded item remove button label","description":"This filter allows you to change the label for the Remove button in the preview section for the uploaded files. Within the provided string an SVG icon or similar can be included, or anything else that Dropzone.js supports.","sidebar":"forms"},"php/filters/block/form-selector/additional-content":{"id":"php/filters/block/form-selector/additional-content","title":"Additional content","description":"","sidebar":"forms"},"php/filters/block/form-selector/form-templates":{"id":"php/filters/block/form-selector/form-templates","title":"Form templates","description":"This filter allows adding custom form templates to the form selector. This way you can predefine form templates and insert them with a single click.","sidebar":"forms"},"php/filters/block/form/additional-content":{"id":"php/filters/block/form/additional-content","title":"Additional content","description":"","sidebar":"forms"},"php/filters/block/form/additional-hidden-fields":{"id":"php/filters/block/form/additional-hidden-fields","title":"Additional hidden fields","description":"Allows adding custom hidden fields to the form block. These fields will not be visible in the Block Editor. Useful if external data needs to be passed through the form.","sidebar":"forms"},"php/filters/block/form/data-type-selector":{"id":"php/filters/block/form/data-type-selector","title":"Data type selector","description":"This filter will add a new data attribute to the form element. It is used to identify the form type in the frontend.","sidebar":"forms"},"php/filters/block/form/global-msg-headings":{"id":"php/filters/block/form/global-msg-headings","title":"Global msg headings","description":"By default there are no headings on error or success messages but with this filter you will be able to set them. This filter is applied to all forms.","sidebar":"forms"},"php/filters/block/form/hide-global-msg-timeout":{"id":"php/filters/block/form/hide-global-msg-timeout","title":"Global message timeout","description":"This filter allows you to change the timeout of all global messages (e.g. after successful form submission), in milliseconds.","sidebar":"forms"},"php/filters/block/form/phone-sync":{"id":"php/filters/block/form/phone-sync","title":"Phone sync","description":"By default if you change the value on the phone field the country field (if present) will be updated automatically. If you want to disable this feature you can use this filter or use the form global/local settings. This filter will override global settings for phone sync.","sidebar":"forms"},"php/filters/block/form/pre-response-addon-data":{"id":"php/filters/block/form/pre-response-addon-data","title":"Pre-Response add-on Data","description":"Allows adding custom data to the API response when the form is submitted.","sidebar":"forms"},"php/filters/block/form/pre-response-success-redirect-data":{"id":"php/filters/block/form/pre-response-success-redirect-data","title":"Pre-Response Success Redirect Data","description":"Allows adding data to the API response key, which is used when passing data to the success redirect URL.","sidebar":"forms"},"php/filters/block/form/redirect-timeout":{"id":"php/filters/block/form/redirect-timeout","title":"Redirect timeout","description":"This filter allows you to change the delay for the redirect after a successful form submission, in milliseconds.","sidebar":"forms"},"php/filters/block/form/result-output-items":{"id":"php/filters/block/form/result-output-items","title":"Result output items","description":"Allows modifying Form result output parts using an API to change which block is shown on the frontend, based on the user input.","sidebar":"forms"},"php/filters/block/form/result-output-parts":{"id":"php/filters/block/form/result-output-parts","title":"Result output parts","description":"Allows modifying Form result output parts using an API to change which shortcode is output on the frontend, based on the user input.","sidebar":"forms"},"php/filters/block/form/success-redirect-url":{"id":"php/filters/block/form/success-redirect-url","title":"Success redirect URL","description":"This filter allows you to override the success redirect URL, regardless of the one selected in Settings. With the $formType parameter you can customize the URL for each form type.","sidebar":"forms"},"php/filters/block/form/success-redirect-variation":{"id":"php/filters/block/form/success-redirect-variation","title":"Success redirect variation","description":"Success variations is an option that will add additional GET parameter to the success redirect URL. With this parameter you can customize the success page for each form type. First you need to create variations list in the forms global settings and then you can select the variation for each form.","sidebar":"forms"},"php/filters/block/form/success-redirect-variation-options":{"id":"php/filters/block/form/success-redirect-variation-options","title":"Success redirect variation options","description":"While you can create variations list from the forms global setting, by using this filter you can provide additional variations which are fixed and can\'t be changed by the user.","sidebar":"forms"},"php/filters/block/form/tracking-additional-data":{"id":"php/filters/block/form/tracking-additional-data","title":"Tracking additional data","description":"This filter allows you to set additional data that is going to be sent in the dataLayer on certain events. This filter works great in combination with the Tracking event name filter.","sidebar":"forms"},"php/filters/block/form/tracking-event-name":{"id":"php/filters/block/form/tracking-event-name","title":"Tracking event name","description":"This filter allows you to set fixed tracking event name for all or some of your forms. This value is used as an event name sent to the dataLayer when the form is submitted.","sidebar":"forms"},"php/filters/block/forms/style-options":{"id":"php/filters/block/forms/style-options","title":"Custom form styles","description":"This filter allows you to add definitions for custom form styles. When defined, the style option will be shown in the form options. Make sure to provide a CSS style that targets the class with the name of the value provided.","sidebar":"forms"},"php/filters/block/input/additional-content":{"id":"php/filters/block/input/additional-content","title":"Additional content","description":"","sidebar":"forms"},"php/filters/block/phone/additional-content":{"id":"php/filters/block/phone/additional-content","title":"Additional content","description":"","sidebar":"forms"},"php/filters/block/radios/additional-content":{"id":"php/filters/block/radios/additional-content","title":"Additional content","description":"","sidebar":"forms"},"php/filters/block/rating/additional-content":{"id":"php/filters/block/rating/additional-content","title":"Additional content","description":"","sidebar":"forms"},"php/filters/block/select/additional-content":{"id":"php/filters/block/select/additional-content","title":"Additional content","description":"","sidebar":"forms"},"php/filters/block/step/component-next":{"id":"php/filters/block/step/component-next","title":"Multi-step form \\"Next\\" button","description":"This filter allows you to provide custom markup for the multi-step form \\"Next\\" button.","sidebar":"forms"},"php/filters/block/step/component-prev":{"id":"php/filters/block/step/component-prev","title":"Multi-step form \\"Previous\\" button","description":"This filter allows you to provide custom markup for the multi-step form \\"Previous\\" button.","sidebar":"forms"},"php/filters/block/submit/additional-content":{"id":"php/filters/block/submit/additional-content","title":"Additional content","description":"","sidebar":"forms"},"php/filters/block/submit/component":{"id":"php/filters/block/submit/component","title":"Custom form submit button","description":"This filter allows you to provide custom markup for the form submit button.","sidebar":"forms"},"php/filters/block/textarea/additional-content":{"id":"php/filters/block/textarea/additional-content","title":"Additional content","description":"","sidebar":"forms"},"php/filters/blocks/additional-blocks":{"id":"php/filters/blocks/additional-blocks","title":"Additional blocks","description":"Allows enabling the use of any custom, core, or 3rd-party block inside the Form builder, e.g. if you want to enable using a Heading block within the form.","sidebar":"forms"},"php/filters/blocks/allowed-blocks":{"id":"php/filters/blocks/allowed-blocks","title":"Allowed blocks","description":"Allows setting a custom list of the allowed blocks within the form editor. It will override the project settings.","sidebar":"forms"},"php/filters/blocks/media-breakpoints":{"id":"php/filters/blocks/media-breakpoints","title":"Media breakpoints","description":"By default, we use 4 breakpoints in our responsive design system, defined here within the breakpoints key.","sidebar":"forms"},"php/filters/enrichment/manual-map":{"id":"php/filters/enrichment/manual-map","title":"Manual map","description":"Enrichment is a feature that allows storing URL parameters or cookie values in the browser localStorage, allowing their use during form submissions, in case they are not available after the user returns to the page.","sidebar":"forms"},"php/filters/entries/pre-post-params":{"id":"php/filters/entries/pre-post-params","title":"Pre-Post Params","description":"Allows modifying field data before storing it into the database. Useful if, for example, a field value needs to determine a custom output of a different field.","sidebar":"forms"},"php/filters/general/http-request-timeout":{"id":"php/filters/general/http-request-timeout","title":"HTTP request timeout","description":"This filter can be used to change the cURL timeout for the file upload, useful if you have to upload large files. The time is calculated in seconds.","sidebar":"forms"},"php/filters/general/locale":{"id":"php/filters/general/locale","title":"Locale","description":"Allows changing the current locale. By default, WordPress will use the locale that is set as the Site Language in settings. A plugin like WPML can also set this value.","sidebar":"forms"},"php/filters/general/scripts-dependency":{"id":"php/filters/general/scripts-dependency","title":"Scripts dependency","description":"In case you are having a conflict with some other plugin or theme, you can try to change the order of the scripts loading. This filter will make forms scripts dependent on your scripts and load them after your scripts."},"php/filters/geolocation/countries":{"id":"php/filters/geolocation/countries","title":"Countries","description":"This filter provides you with the ability to add/remove/edit countries list and countries groups used to filter forms.","sidebar":"forms"},"php/filters/geolocation/db-location":{"id":"php/filters/geolocation/db-location","title":"DB location","description":"Geolocation database file (.mmdb) path on your server. Useful if you want to provide your own IP geolocation library.","sidebar":"forms"},"php/filters/geolocation/phar-location":{"id":"php/filters/geolocation/phar-location","title":"Phar location","description":"Geolocation .phar file path on your server. Useful if you want to provide the geolocation service yourself.","sidebar":"forms"},"php/filters/how-to-use":{"id":"php/filters/how-to-use","title":"How to use?","description":"Eightshift Forms was made by developers, for developers, so we provide a comprehensive set of filters that allow you to modify and extend the behavior of Forms to suit your specific needs.","sidebar":"forms"},"php/filters/integrations/active-campaign":{"id":"php/filters/integrations/active-campaign","title":"ActiveCampaign","description":"","sidebar":"forms"},"php/filters/integrations/airtable":{"id":"php/filters/integrations/airtable","title":"Airtable","description":"","sidebar":"forms"},"php/filters/integrations/calculator":{"id":"php/filters/integrations/calculator","title":"Calculator","description":"","sidebar":"forms"},"php/filters/integrations/clearbit":{"id":"php/filters/integrations/clearbit","title":"Clearbit","description":"Map","sidebar":"forms"},"php/filters/integrations/goodbits":{"id":"php/filters/integrations/goodbits","title":"Goodbits","description":"","sidebar":"forms"},"php/filters/integrations/greenhouse":{"id":"php/filters/integrations/greenhouse","title":"Greenhouse","description":"","sidebar":"forms"},"php/filters/integrations/hubspot":{"id":"php/filters/integrations/hubspot","title":"HubSpot","description":"Files options filter","sidebar":"forms"},"php/filters/integrations/jira":{"id":"php/filters/integrations/jira","title":"Jira","description":"","sidebar":"forms"},"php/filters/integrations/mailchimp":{"id":"php/filters/integrations/mailchimp","title":"Mailchimp","description":"","sidebar":"forms"},"php/filters/integrations/mailer":{"id":"php/filters/integrations/mailer","title":"Mailer","description":"","sidebar":"forms"},"php/filters/integrations/mailerlite":{"id":"php/filters/integrations/mailerlite","title":"MailerLite","description":"","sidebar":"forms"},"php/filters/integrations/moments":{"id":"php/filters/integrations/moments","title":"Moments","description":"Pre-Post Event Params","sidebar":"forms"},"php/filters/integrations/pipedrive":{"id":"php/filters/integrations/pipedrive","title":"Pipedrive","description":"","sidebar":"forms"},"php/filters/integrations/workable":{"id":"php/filters/integrations/workable","title":"Workable","description":"","sidebar":"forms"},"php/filters/scripts/dependency-admin":{"id":"php/filters/scripts/dependency-admin","title":"Dependency admin","description":"Allows changing the order in which the admin area scripts are loaded. Useful when creating a Forms add-on plugin, and your script needs to be loaded before the Forms scripts (e.g. for adding custom event listeners).","sidebar":"forms"},"php/filters/scripts/dependency-blocks-editor":{"id":"php/filters/scripts/dependency-blocks-editor","title":"Dependency blocks editor","description":"Allows changing the order in which the Block Editor scripts are loaded. Useful when creating a Forms add-on plugin, and your script needs to be loaded before the Forms scripts (e.g. for adding custom event listeners).","sidebar":"forms"},"php/filters/scripts/dependency-blocks-frontend":{"id":"php/filters/scripts/dependency-blocks-frontend","title":"Dependency blocks frontend","description":"Allows changing the order in which the block frontend scripts are loaded. Useful when creating a Forms add-on plugin, and your script needs to be loaded before the Forms scripts (e.g. for adding custom event listeners).","sidebar":"forms"},"php/filters/scripts/dependency-theme":{"id":"php/filters/scripts/dependency-theme","title":"Dependency theme","description":"Allows changing the order in which the theme area scripts are loaded. Useful when creating a Forms add-on plugin, and your script needs to be loaded before the Forms scripts (e.g. for adding custom event listeners).","sidebar":"forms"},"php/filters/scripts/routes-private":{"id":"php/filters/scripts/routes-private","title":"Routes private","description":"Allows adding custom routes to the private routes list, available from the Forms global window object.","sidebar":"forms"},"php/filters/scripts/routes-public":{"id":"php/filters/scripts/routes-public","title":"Routes public","description":"Allows adding custom routes to the public routes list, available from the Forms global window object.","sidebar":"forms"},"php/filters/validation/force-mimetype-from-fs":{"id":"php/filters/validation/force-mimetype-from-fs","title":"Force mimetype from FS","description":"Forces MIME type validation based on the filesystem values. This is the default behavior. In case the file does not exist, the behavior falls back to validating using the MIME type from the POST object.","sidebar":"forms"},"php/global-variables/geolocation":{"id":"php/global-variables/geolocation","title":"Geolocation","description":"ESGEOLOCATIONIP","sidebar":"forms"},"php/global-variables/google-recaptcha":{"id":"php/global-variables/google-recaptcha","title":"Google reCaptcha","description":"ESGOOGLERECAPTCHASITEKEY","sidebar":"forms"},"php/global-variables/how-to-use":{"id":"php/global-variables/how-to-use","title":"How to use?","description":"You can access all the global configurations from the WordPress admin interface. However, if you want to ensure that some of these configurations remain constant, you can make use of global constants.","sidebar":"forms"},"php/global-variables/integrations/active-campaign":{"id":"php/global-variables/integrations/active-campaign","title":"Active Campaign","description":"ESAPIKEYACTIVECAMPAIGN","sidebar":"forms"},"php/global-variables/integrations/airtable":{"id":"php/global-variables/integrations/airtable","title":"Airtable","description":"ESAPIKEY_AIRTABLE","sidebar":"forms"},"php/global-variables/integrations/clearbit":{"id":"php/global-variables/integrations/clearbit","title":"Clearbit","description":"ESAPIKEY_CLEARBIT","sidebar":"forms"},"php/global-variables/integrations/goodbits":{"id":"php/global-variables/integrations/goodbits","title":"Goodbits","description":"ESAPIKEY_GOODBITS","sidebar":"forms"},"php/global-variables/integrations/greenhouse":{"id":"php/global-variables/integrations/greenhouse","title":"Greenhouse","description":"ESAPIKEY_GREENHOUSE","sidebar":"forms"},"php/global-variables/integrations/hubspot":{"id":"php/global-variables/integrations/hubspot","title":"Hubspot","description":"ESAPIKEY_HUBSPOT","sidebar":"forms"},"php/global-variables/integrations/jira":{"id":"php/global-variables/integrations/jira","title":"Jira","description":"ESAPIKEY_JIRA","sidebar":"forms"},"php/global-variables/integrations/mailchimp":{"id":"php/global-variables/integrations/mailchimp","title":"Mailchimp","description":"ESAPIKEY_MAILCHIMP","sidebar":"forms"},"php/global-variables/integrations/mailerlite":{"id":"php/global-variables/integrations/mailerlite","title":"MailerLite","description":"ESAPIKEY_MAILERLITE","sidebar":"forms"},"php/global-variables/integrations/moments":{"id":"php/global-variables/integrations/moments","title":"Moments","description":"ESAPIKEY_MOMENTS","sidebar":"forms"},"php/global-variables/integrations/pipedrive":{"id":"php/global-variables/integrations/pipedrive","title":"Pipedrive","description":"ESAPIKEY_PIPEDRIVE","sidebar":"forms"},"php/global-variables/integrations/workable":{"id":"php/global-variables/integrations/workable","title":"Workable","description":"ESAPIKEY_WORKABLE","sidebar":"forms"},"php/helpers":{"id":"php/helpers","title":"Helpers","description":"Eightshift Forms offers static helpers that can be implemented in your project. The key difference between these helpers and filters is that you can use the former in your theme or plugin code regardless of the load cycle.","sidebar":"forms"},"php/intro":{"id":"php/intro","title":"Intro","description":"In Eightshift Forms we use multiple ways to provide customizability to your project. PHP customizations are the most powerful way to customize your forms and by using WordPress native filters and global variables you will be able to customize almost anything.","sidebar":"forms"},"php/shortcodes":{"id":"php/shortcodes","title":"Shortcodes","description":"What are shortcodes?","sidebar":"forms"},"php/wp-cli":{"id":"php/wp-cli","title":"WP-CLI","description":"What is WP-CLI?","sidebar":"forms"},"tutorials/playlist":{"id":"tutorials/playlist","title":"Playlist","description":"We think that a picture is worth a thousand words, and video is worth a thousand pictures. So, we\'ve created a series of videos to help you get started with the basics of using forms. We hope you find them useful!","sidebar":"forms"},"welcome":{"id":"welcome","title":"Welcome","description":"Welcome to the Eightshift Forms documentation! This powerful and versatile WordPress project is designed to revolutionize the way you handle forms in your web development projects.","sidebar":"forms"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/01a85c17.8a26c531.js b/assets/js/01a85c17.8a26c531.js deleted file mode 100644 index 8ab2f58ac..000000000 --- a/assets/js/01a85c17.8a26c531.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[8209],{26535:(e,s,t)=>{t.d(s,{A:()=>v});var a=t(96540),i=t(34164),r=t(49641),l=t(24581),n=t(28774),c=t(21312),o=t(56347),m=t(99169);function d(e){const{pathname:s}=(0,o.zy)();return(0,a.useMemo)((()=>e.filter((e=>function(e,s){return!(e.unlisted&&!(0,m.ys)(e.permalink,s))}(e,s)))),[e,s])}const h={sidebar:"sidebar_re4s",sidebarItemTitle:"sidebarItemTitle_pO2u",sidebarItemList:"sidebarItemList_Yudw",sidebarItem:"sidebarItem__DBe",sidebarItemLink:"sidebarItemLink_mo7H",sidebarItemLinkActive:"sidebarItemLinkActive_I1ZP"};var u=t(74848);function g(e){let{sidebar:s}=e;const t=d(s.items);return(0,u.jsx)("aside",{className:"col col--3",children:(0,u.jsxs)("nav",{className:(0,i.A)(h.sidebar,"thin-scrollbar"),"aria-label":(0,c.T)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,u.jsx)("div",{className:(0,i.A)(h.sidebarItemTitle,"margin-bottom--md"),children:s.title}),(0,u.jsx)("ul",{className:(0,i.A)(h.sidebarItemList,"clean-list"),children:t.map((e=>(0,u.jsx)("li",{className:h.sidebarItem,children:(0,u.jsx)(n.A,{isNavLink:!0,to:e.permalink,className:h.sidebarItemLink,activeClassName:h.sidebarItemLinkActive,children:e.title})},e.permalink)))})]})})}var b=t(75600);function p(e){let{sidebar:s}=e;const t=d(s.items);return(0,u.jsx)("ul",{className:"menu__list",children:t.map((e=>(0,u.jsx)("li",{className:"menu__list-item",children:(0,u.jsx)(n.A,{isNavLink:!0,to:e.permalink,className:"menu__link",activeClassName:"menu__link--active",children:e.title})},e.permalink)))})}function j(e){return(0,u.jsx)(b.GX,{component:p,props:e})}function x(e){let{sidebar:s}=e;const t=(0,l.l)();return s?.items.length?"mobile"===t?(0,u.jsx)(j,{sidebar:s}):(0,u.jsx)(g,{sidebar:s}):null}function v(e){const{sidebar:s,toc:t,children:a,...l}=e,n=s&&s.items.length>0;return(0,u.jsx)(r.A,{...l,children:(0,u.jsx)("div",{className:"container margin-vert--lg",children:(0,u.jsxs)("div",{className:"row",children:[(0,u.jsx)(x,{sidebar:s}),(0,u.jsx)("main",{className:(0,i.A)("col",{"col--7":n,"col--9 col--offset-1":!n}),itemScope:!0,itemType:"https://schema.org/Blog",children:a}),t&&(0,u.jsx)("div",{className:"col col--2",children:t})]})})})}},69158:(e,s,t)=>{t.r(s),t.d(s,{default:()=>p});t(96540);var a=t(34164),i=t(21312);const r=()=>(0,i.T)({id:"theme.tags.tagsPageTitle",message:"Tags",description:"The title of the tag list page"});var l=t(69024),n=t(17559),c=t(26535),o=t(56133),m=t(51107);const d={tag:"tag_Nnez"};var h=t(74848);function u(e){let{letterEntry:s}=e;return(0,h.jsxs)("article",{children:[(0,h.jsx)(m.A,{as:"h2",id:s.letter,children:s.letter}),(0,h.jsx)("ul",{className:"padding--none",children:s.tags.map((e=>(0,h.jsx)("li",{className:d.tag,children:(0,h.jsx)(o.A,{...e})},e.permalink)))}),(0,h.jsx)("hr",{})]})}function g(e){let{tags:s}=e;const t=function(e){const s={};return Object.values(e).forEach((e=>{const t=function(e){return e[0].toUpperCase()}(e.label);s[t]??=[],s[t].push(e)})),Object.entries(s).sort(((e,s)=>{let[t]=e,[a]=s;return t.localeCompare(a)})).map((e=>{let[s,t]=e;return{letter:s,tags:t.sort(((e,s)=>e.label.localeCompare(s.label)))}}))}(s);return(0,h.jsx)("section",{className:"margin-vert--lg",children:t.map((e=>(0,h.jsx)(u,{letterEntry:e},e.letter)))})}var b=t(41463);function p(e){let{tags:s,sidebar:t}=e;const i=r();return(0,h.jsxs)(l.e3,{className:(0,a.A)(n.G.wrapper.blogPages,n.G.page.blogTagsListPage),children:[(0,h.jsx)(l.be,{title:i}),(0,h.jsx)(b.A,{tag:"blog_tags_list"}),(0,h.jsxs)(c.A,{sidebar:t,children:[(0,h.jsx)(m.A,{as:"h1",children:i}),(0,h.jsx)(g,{tags:s})]})]})}},56133:(e,s,t)=>{t.d(s,{A:()=>n});t(96540);var a=t(34164),i=t(28774);const r={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};var l=t(74848);function n(e){let{permalink:s,label:t,count:n}=e;return(0,l.jsxs)(i.A,{href:s,className:(0,a.A)(r.tag,n?r.tagWithCount:r.tagRegular),children:[t,n&&(0,l.jsx)("span",{children:n})]})}}}]); \ No newline at end of file diff --git a/assets/js/01a85c17.e2212a97.js b/assets/js/01a85c17.e2212a97.js new file mode 100644 index 000000000..e49ff0dd6 --- /dev/null +++ b/assets/js/01a85c17.e2212a97.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[8209],{26535:(e,s,t)=>{t.d(s,{A:()=>v});var a=t(96540),i=t(34164),r=t(49641),l=t(24581),n=t(28774),c=t(21312),o=t(56347),d=t(99169);function m(e){const{pathname:s}=(0,o.zy)();return(0,a.useMemo)((()=>e.filter((e=>function(e,s){return!(e.unlisted&&!(0,d.ys)(e.permalink,s))}(e,s)))),[e,s])}const u={sidebar:"sidebar_re4s",sidebarItemTitle:"sidebarItemTitle_pO2u",sidebarItemList:"sidebarItemList_Yudw",sidebarItem:"sidebarItem__DBe",sidebarItemLink:"sidebarItemLink_mo7H",sidebarItemLinkActive:"sidebarItemLinkActive_I1ZP"};var h=t(74848);function g(e){let{sidebar:s}=e;const t=m(s.items);return(0,h.jsx)("aside",{className:"col col--3",children:(0,h.jsxs)("nav",{className:(0,i.A)(u.sidebar,"thin-scrollbar"),"aria-label":(0,c.T)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,h.jsx)("div",{className:(0,i.A)(u.sidebarItemTitle,"margin-bottom--md"),children:s.title}),(0,h.jsx)("ul",{className:(0,i.A)(u.sidebarItemList,"clean-list"),children:t.map((e=>(0,h.jsx)("li",{className:u.sidebarItem,children:(0,h.jsx)(n.A,{isNavLink:!0,to:e.permalink,className:u.sidebarItemLink,activeClassName:u.sidebarItemLinkActive,children:e.title})},e.permalink)))})]})})}var b=t(75600);function j(e){let{sidebar:s}=e;const t=m(s.items);return(0,h.jsx)("ul",{className:"menu__list",children:t.map((e=>(0,h.jsx)("li",{className:"menu__list-item",children:(0,h.jsx)(n.A,{isNavLink:!0,to:e.permalink,className:"menu__link",activeClassName:"menu__link--active",children:e.title})},e.permalink)))})}function p(e){return(0,h.jsx)(b.GX,{component:j,props:e})}function x(e){let{sidebar:s}=e;const t=(0,l.l)();return s?.items.length?"mobile"===t?(0,h.jsx)(p,{sidebar:s}):(0,h.jsx)(g,{sidebar:s}):null}function v(e){const{sidebar:s,toc:t,children:a,...l}=e,n=s&&s.items.length>0;return(0,h.jsx)(r.A,{...l,children:(0,h.jsx)("div",{className:"container margin-vert--lg",children:(0,h.jsxs)("div",{className:"row",children:[(0,h.jsx)(x,{sidebar:s}),(0,h.jsx)("main",{className:(0,i.A)("col",{"col--7":n,"col--9 col--offset-1":!n}),children:a}),t&&(0,h.jsx)("div",{className:"col col--2",children:t})]})})})}},69158:(e,s,t)=>{t.r(s),t.d(s,{default:()=>j});t(96540);var a=t(34164),i=t(21312);const r=()=>(0,i.T)({id:"theme.tags.tagsPageTitle",message:"Tags",description:"The title of the tag list page"});var l=t(45500),n=t(17559),c=t(26535),o=t(56133),d=t(51107);const m={tag:"tag_Nnez"};var u=t(74848);function h(e){let{letterEntry:s}=e;return(0,u.jsxs)("article",{children:[(0,u.jsx)(d.A,{as:"h2",id:s.letter,children:s.letter}),(0,u.jsx)("ul",{className:"padding--none",children:s.tags.map((e=>(0,u.jsx)("li",{className:m.tag,children:(0,u.jsx)(o.A,{...e})},e.permalink)))}),(0,u.jsx)("hr",{})]})}function g(e){let{tags:s}=e;const t=function(e){const s={};return Object.values(e).forEach((e=>{const t=function(e){return e[0].toUpperCase()}(e.label);s[t]??=[],s[t].push(e)})),Object.entries(s).sort(((e,s)=>{let[t]=e,[a]=s;return t.localeCompare(a)})).map((e=>{let[s,t]=e;return{letter:s,tags:t.sort(((e,s)=>e.label.localeCompare(s.label)))}}))}(s);return(0,u.jsx)("section",{className:"margin-vert--lg",children:t.map((e=>(0,u.jsx)(h,{letterEntry:e},e.letter)))})}var b=t(41463);function j(e){let{tags:s,sidebar:t}=e;const i=r();return(0,u.jsxs)(l.e3,{className:(0,a.A)(n.G.wrapper.blogPages,n.G.page.blogTagsListPage),children:[(0,u.jsx)(l.be,{title:i}),(0,u.jsx)(b.A,{tag:"blog_tags_list"}),(0,u.jsxs)(c.A,{sidebar:t,children:[(0,u.jsx)(d.A,{as:"h1",children:i}),(0,u.jsx)(g,{tags:s})]})]})}},56133:(e,s,t)=>{t.d(s,{A:()=>n});t(96540);var a=t(34164),i=t(28774);const r={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};var l=t(74848);function n(e){let{permalink:s,label:t,count:n}=e;return(0,l.jsxs)(i.A,{href:s,className:(0,a.A)(r.tag,n?r.tagWithCount:r.tagRegular),children:[t,n&&(0,l.jsx)("span",{children:n})]})}}}]); \ No newline at end of file diff --git a/assets/js/01ee484b.eeb7ec00.js b/assets/js/01ee484b.eeb7ec00.js new file mode 100644 index 000000000..a4ca8da24 --- /dev/null +++ b/assets/js/01ee484b.eeb7ec00.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[56226],{76937:t=>{t.exports=JSON.parse('{"tag":{"label":"service","permalink":"/blog/tags/service","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/service","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/027b80af.51d3cba9.js b/assets/js/027b80af.51d3cba9.js new file mode 100644 index 000000000..7a96b777d --- /dev/null +++ b/assets/js/027b80af.51d3cba9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[42819],{48516:t=>{t.exports=JSON.parse('{"tag":{"label":"query","permalink":"/blog/tags/query","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/query","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/067e78b9.2b2d4069.js b/assets/js/067e78b9.2b2d4069.js new file mode 100644 index 000000000..6b3a202c9 --- /dev/null +++ b/assets/js/067e78b9.2b2d4069.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[78731],{43235:t=>{t.exports=JSON.parse('{"tag":{"label":"templates","permalink":"/blog/tags/templates","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/templates","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/07a4eaaf.2f524574.js b/assets/js/07a4eaaf.2f524574.js new file mode 100644 index 000000000..21e91ee29 --- /dev/null +++ b/assets/js/07a4eaaf.2f524574.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[56344],{35624:t=>{t.exports=JSON.parse('{"tag":{"label":"colors","permalink":"/blog/tags/colors","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/colors","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/0810f675.a2652d2e.js b/assets/js/0810f675.a2652d2e.js deleted file mode 100644 index ff8cd07ff..000000000 --- a/assets/js/0810f675.a2652d2e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[94e3],{18261:s=>{s.exports=JSON.parse('{"label":"custom post type","permalink":"/blog/tags/custom-post-type","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/0dcc1e01.d5fef93a.js b/assets/js/0dcc1e01.d5fef93a.js deleted file mode 100644 index 0867fa4ba..000000000 --- a/assets/js/0dcc1e01.d5fef93a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[80790],{44232:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/terms","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/103a101a.ddb93205.js b/assets/js/103a101a.ddb93205.js deleted file mode 100644 index 94665d4d8..000000000 --- a/assets/js/103a101a.ddb93205.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[17589],{20147:s=>{s.exports=JSON.parse('{"label":"components","permalink":"/blog/tags/components","allTagsPath":"/blog/tags","count":5,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/12447.2e6cc110.js b/assets/js/12447.2e6cc110.js new file mode 100644 index 000000000..04ef4949c --- /dev/null +++ b/assets/js/12447.2e6cc110.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[12447],{12447:(e,t,n)=>{n.r(t),n.d(t,{default:()=>ae});var s=n(96540),a=n(45500),i=n(89532),l=n(74848);const o=s.createContext(null);function r(e){let{children:t,content:n}=e;const a=function(e){return(0,s.useMemo)((()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc})),[e])}(n);return(0,l.jsx)(o.Provider,{value:a,children:t})}function c(){const e=(0,s.useContext)(o);if(null===e)throw new i.dV("DocProvider");return e}function d(){const{metadata:e,frontMatter:t,assets:n}=c();return(0,l.jsx)(a.be,{title:e.title,description:e.description,keywords:t.keywords,image:n.image??t.image})}var u=n(34164),m=n(24581),h=n(21312),x=n(39022);function v(e){const{previous:t,next:n}=e;return(0,l.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,h.T)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[t&&(0,l.jsx)(x.A,{...t,subLabel:(0,l.jsx)(h.A,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),n&&(0,l.jsx)(x.A,{...n,subLabel:(0,l.jsx)(h.A,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}function p(){const{metadata:e}=c();return(0,l.jsx)(v,{previous:e.previous,next:e.next})}var b=n(44586),g=n(28774),f=n(44070),j=n(17559),A=n(55597),N=n(32252);const C={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,l.jsx)(h.A,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:(0,l.jsx)("b",{children:n.label})},children:"This is unreleased documentation for {siteTitle} {versionLabel} version."})},unmaintained:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,l.jsx)(h.A,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:(0,l.jsx)("b",{children:n.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function _(e){const t=C[e.versionMetadata.banner];return(0,l.jsx)(t,{...e})}function L(e){let{versionLabel:t,to:n,onClick:s}=e;return(0,l.jsx)(h.A,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:(0,l.jsx)("b",{children:(0,l.jsx)(g.A,{to:n,onClick:s,children:(0,l.jsx)(h.A,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:"For up-to-date documentation, see the {latestVersionLink} ({versionLabel})."})}function T(e){let{className:t,versionMetadata:n}=e;const{siteConfig:{title:s}}=(0,b.A)(),{pluginId:a}=(0,f.vT)({failfast:!0}),{savePreferredVersionName:i}=(0,A.g1)(a),{latestDocSuggestion:o,latestVersionSuggestion:r}=(0,f.HW)(a),c=o??(d=r).docs.find((e=>e.id===d.mainDocId));var d;return(0,l.jsxs)("div",{className:(0,u.A)(t,j.G.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,l.jsx)("div",{children:(0,l.jsx)(_,{siteTitle:s,versionMetadata:n})}),(0,l.jsx)("div",{className:"margin-top--md",children:(0,l.jsx)(L,{versionLabel:r.label,to:c.path,onClick:()=>i(r.name)})})]})}function k(e){let{className:t}=e;const n=(0,N.r)();return n.banner?(0,l.jsx)(T,{className:t,versionMetadata:n}):null}function y(e){let{className:t}=e;const n=(0,N.r)();return n.badge?(0,l.jsx)("span",{className:(0,u.A)(t,j.G.docs.docVersionBadge,"badge badge--secondary"),children:(0,l.jsx)(h.A,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label},children:"Version: {versionLabel}"})}):null}var H=n(62053),w=n(4336);function U(){const{metadata:e}=c(),{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:s,tags:a}=e,i=a.length>0,o=!!(t||n||s);return i||o?(0,l.jsxs)("footer",{className:(0,u.A)(j.G.docs.docFooter,"docusaurus-mt-lg"),children:[i&&(0,l.jsx)("div",{className:(0,u.A)("row margin-top--sm",j.G.docs.docFooterTagsRow),children:(0,l.jsx)("div",{className:"col",children:(0,l.jsx)(H.A,{tags:a})})}),o&&(0,l.jsx)(w.A,{className:(0,u.A)("margin-top--sm",j.G.docs.docFooterEditMetaRow),editUrl:t,lastUpdatedAt:n,lastUpdatedBy:s})]}):null}var M=n(41422),E=n(65195);const B={tocCollapsibleButton:"tocCollapsibleButton_TO0P",tocCollapsibleButtonExpanded:"tocCollapsibleButtonExpanded_MG3E"};function I(e){let{collapsed:t,...n}=e;return(0,l.jsx)("button",{type:"button",...n,className:(0,u.A)("clean-btn",B.tocCollapsibleButton,!t&&B.tocCollapsibleButtonExpanded,n.className),children:(0,l.jsx)(h.A,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component",children:"On this page"})})}const S={tocCollapsible:"tocCollapsible_ETCw",tocCollapsibleContent:"tocCollapsibleContent_vkbj",tocCollapsibleExpanded:"tocCollapsibleExpanded_sAul"};function V(e){let{toc:t,className:n,minHeadingLevel:s,maxHeadingLevel:a}=e;const{collapsed:i,toggleCollapsed:o}=(0,M.u)({initialState:!0});return(0,l.jsxs)("div",{className:(0,u.A)(S.tocCollapsible,!i&&S.tocCollapsibleExpanded,n),children:[(0,l.jsx)(I,{collapsed:i,onClick:o}),(0,l.jsx)(M.N,{lazy:!0,className:S.tocCollapsibleContent,collapsed:i,children:(0,l.jsx)(E.A,{toc:t,minHeadingLevel:s,maxHeadingLevel:a})})]})}const D={tocMobile:"tocMobile_ITEo"};function O(){const{toc:e,frontMatter:t}=c();return(0,l.jsx)(V,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:(0,u.A)(j.G.docs.docTocMobile,D.tocMobile)})}var P=n(67763);function R(){const{toc:e,frontMatter:t}=c();return(0,l.jsx)(P.A,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:j.G.docs.docTocDesktop})}var G=n(51107),F=n(65425);function z(e){let{children:t}=e;const n=function(){const{metadata:e,frontMatter:t,contentTitle:n}=c();return t.hide_title||void 0!==n?null:e.title}();return(0,l.jsxs)("div",{className:(0,u.A)(j.G.docs.docMarkdown,"markdown"),children:[n&&(0,l.jsx)("header",{children:(0,l.jsx)(G.A,{as:"h1",children:n})}),(0,l.jsx)(F.A,{children:t})]})}var q=n(81754),W=n(99169),Z=n(86025);function $(e){return(0,l.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,l.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})})}const Y={breadcrumbHomeIcon:"breadcrumbHomeIcon_YNFT"};function J(){const e=(0,Z.A)("/");return(0,l.jsx)("li",{className:"breadcrumbs__item",children:(0,l.jsx)(g.A,{"aria-label":(0,h.T)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,l.jsx)($,{className:Y.breadcrumbHomeIcon})})})}const Q={breadcrumbsContainer:"breadcrumbsContainer_Z_bl"};function X(e){let{children:t,href:n,isLast:s}=e;const a="breadcrumbs__link";return s?(0,l.jsx)("span",{className:a,itemProp:"name",children:t}):n?(0,l.jsx)(g.A,{className:a,href:n,itemProp:"item",children:(0,l.jsx)("span",{itemProp:"name",children:t})}):(0,l.jsx)("span",{className:a,children:t})}function K(e){let{children:t,active:n,index:s,addMicrodata:a}=e;return(0,l.jsxs)("li",{...a&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},className:(0,u.A)("breadcrumbs__item",{"breadcrumbs__item--active":n}),children:[t,(0,l.jsx)("meta",{itemProp:"position",content:String(s+1)})]})}function ee(){const e=(0,q.OF)(),t=(0,W.Dt)();return e?(0,l.jsx)("nav",{className:(0,u.A)(j.G.docs.docBreadcrumbs,Q.breadcrumbsContainer),"aria-label":(0,h.T)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,l.jsxs)("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList",children:[t&&(0,l.jsx)(J,{}),e.map(((t,n)=>{const s=n===e.length-1,a="category"===t.type&&t.linkUnlisted?void 0:t.href;return(0,l.jsx)(K,{active:s,index:n,addMicrodata:!!a,children:(0,l.jsx)(X,{href:a,isLast:s,children:t.label})},n)}))]})}):null}var te=n(50996);const ne={docItemContainer:"docItemContainer_Djhp",docItemCol:"docItemCol_VOVn"};function se(e){let{children:t}=e;const n=function(){const{frontMatter:e,toc:t}=c(),n=(0,m.l)(),s=e.hide_table_of_contents,a=!s&&t.length>0;return{hidden:s,mobile:a?(0,l.jsx)(O,{}):void 0,desktop:!a||"desktop"!==n&&"ssr"!==n?void 0:(0,l.jsx)(R,{})}}(),{metadata:{unlisted:s}}=c();return(0,l.jsxs)("div",{className:"row",children:[(0,l.jsxs)("div",{className:(0,u.A)("col",!n.hidden&&ne.docItemCol),children:[s&&(0,l.jsx)(te.A,{}),(0,l.jsx)(k,{}),(0,l.jsxs)("div",{className:ne.docItemContainer,children:[(0,l.jsxs)("article",{children:[(0,l.jsx)(ee,{}),(0,l.jsx)(y,{}),n.mobile,(0,l.jsx)(z,{children:t}),(0,l.jsx)(U,{})]}),(0,l.jsx)(p,{})]})]}),n.desktop&&(0,l.jsx)("div",{className:"col col--3",children:n.desktop})]})}function ae(e){const t=`docs-doc-id-${e.content.metadata.id}`,n=e.content;return(0,l.jsx)(r,{content:e.content,children:(0,l.jsxs)(a.e3,{className:t,children:[(0,l.jsx)(d,{}),(0,l.jsx)(se,{children:(0,l.jsx)(n,{})})]})})}},4336:(e,t,n)=>{n.d(t,{A:()=>p});n(96540);var s=n(34164),a=n(21312),i=n(17559),l=n(28774);const o={iconEdit:"iconEdit_Z9Sw"};var r=n(74848);function c(e){let{className:t,...n}=e;return(0,r.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,s.A)(o.iconEdit,t),"aria-hidden":"true",...n,children:(0,r.jsx)("g",{children:(0,r.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function d(e){let{editUrl:t}=e;return(0,r.jsxs)(l.A,{to:t,className:i.G.common.editThisPage,children:[(0,r.jsx)(c,{}),(0,r.jsx)(a.A,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}var u=n(36266);function m(e){let{lastUpdatedAt:t}=e;const n=new Date(t),s=(0,u.i)({day:"numeric",month:"short",year:"numeric",timeZone:"UTC"}).format(n);return(0,r.jsx)(a.A,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,r.jsx)("b",{children:(0,r.jsx)("time",{dateTime:n.toISOString(),itemProp:"dateModified",children:s})})},children:" on {date}"})}function h(e){let{lastUpdatedBy:t}=e;return(0,r.jsx)(a.A,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,r.jsx)("b",{children:t})},children:" by {user}"})}function x(e){let{lastUpdatedAt:t,lastUpdatedBy:n}=e;return(0,r.jsxs)("span",{className:i.G.common.lastUpdated,children:[(0,r.jsx)(a.A,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t?(0,r.jsx)(m,{lastUpdatedAt:t}):"",byUser:n?(0,r.jsx)(h,{lastUpdatedBy:n}):""},children:"Last updated{atDate}{byUser}"}),!1]})}const v={lastUpdated:"lastUpdated_JAkA"};function p(e){let{className:t,editUrl:n,lastUpdatedAt:a,lastUpdatedBy:i}=e;return(0,r.jsxs)("div",{className:(0,s.A)("row",t),children:[(0,r.jsx)("div",{className:"col",children:n&&(0,r.jsx)(d,{editUrl:n})}),(0,r.jsx)("div",{className:(0,s.A)("col",v.lastUpdated),children:(a||i)&&(0,r.jsx)(x,{lastUpdatedAt:a,lastUpdatedBy:i})})]})}},65425:(e,t,n)=>{n.d(t,{A:()=>H});var s=n(96540),a=n(28453),i=n(5260),l=n(21432),o=n(74848);function r(e){return(0,o.jsx)("code",{...e})}var c=n(28774);var d=n(34164),u=n(63427),m=n(92303),h=n(41422);const x={details:"details_lb9f",isBrowser:"isBrowser_bmU9",collapsibleContent:"collapsibleContent_i85q"};function v(e){return!!e&&("SUMMARY"===e.tagName||v(e.parentElement))}function p(e,t){return!!e&&(e===t||p(e.parentElement,t))}function b(e){let{summary:t,children:n,...a}=e;(0,u.A)().collectAnchor(a.id);const i=(0,m.A)(),l=(0,s.useRef)(null),{collapsed:r,setCollapsed:c}=(0,h.u)({initialState:!a.open}),[b,g]=(0,s.useState)(a.open),f=s.isValidElement(t)?t:(0,o.jsx)("summary",{children:t??"Details"});return(0,o.jsxs)("details",{...a,ref:l,open:b,"data-collapsed":r,className:(0,d.A)(x.details,i&&x.isBrowser,a.className),onMouseDown:e=>{v(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;v(t)&&p(t,l.current)&&(e.preventDefault(),r?(c(!1),g(!0)):c(!0))},children:[f,(0,o.jsx)(h.N,{lazy:!1,collapsed:r,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{c(e),g(!e)},children:(0,o.jsx)("div",{className:x.collapsibleContent,children:n})})]})}const g={details:"details_b_Ee"},f="alert alert--info";function j(e){let{...t}=e;return(0,o.jsx)(b,{...t,className:(0,d.A)(f,g.details,t.className)})}function A(e){const t=s.Children.toArray(e.children),n=t.find((e=>s.isValidElement(e)&&"summary"===e.type)),a=(0,o.jsx)(o.Fragment,{children:t.filter((e=>e!==n))});return(0,o.jsx)(j,{...e,summary:n,children:a})}var N=n(51107);function C(e){return(0,o.jsx)(N.A,{...e})}const _={containsTaskList:"containsTaskList_mC6p"};function L(e){if(void 0!==e)return(0,d.A)(e,e?.includes("contains-task-list")&&_.containsTaskList)}const T={img:"img_ev3q"};var k=n(71608);const y={Head:i.A,details:A,Details:A,code:function(e){return function(e){return void 0!==e.children&&s.Children.toArray(e.children).every((e=>"string"==typeof e&&!e.includes("\n")))}(e)?(0,o.jsx)(r,{...e}):(0,o.jsx)(l.A,{...e})},a:function(e){return(0,o.jsx)(c.A,{...e})},pre:function(e){return(0,o.jsx)(o.Fragment,{children:e.children})},ul:function(e){return(0,o.jsx)("ul",{...e,className:L(e.className)})},li:function(e){return(0,u.A)().collectAnchor(e.id),(0,o.jsx)("li",{...e})},img:function(e){return(0,o.jsx)("img",{decoding:"async",loading:"lazy",...e,className:(t=e.className,(0,d.A)(t,T.img))});var t},h1:e=>(0,o.jsx)(C,{as:"h1",...e}),h2:e=>(0,o.jsx)(C,{as:"h2",...e}),h3:e=>(0,o.jsx)(C,{as:"h3",...e}),h4:e=>(0,o.jsx)(C,{as:"h4",...e}),h5:e=>(0,o.jsx)(C,{as:"h5",...e}),h6:e=>(0,o.jsx)(C,{as:"h6",...e}),admonition:k.A,mermaid:()=>null};function H(e){let{children:t}=e;return(0,o.jsx)(a.x,{components:y,children:t})}},39022:(e,t,n)=>{n.d(t,{A:()=>l});n(96540);var s=n(34164),a=n(28774),i=n(74848);function l(e){const{permalink:t,title:n,subLabel:l,isNext:o}=e;return(0,i.jsxs)(a.A,{className:(0,s.A)("pagination-nav__link",o?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[l&&(0,i.jsx)("div",{className:"pagination-nav__sublabel",children:l}),(0,i.jsx)("div",{className:"pagination-nav__label",children:n})]})}},67763:(e,t,n)=>{n.d(t,{A:()=>c});n(96540);var s=n(34164),a=n(65195);const i={tableOfContents:"tableOfContents_bqdL",docItemContainer:"docItemContainer_F8PC"};var l=n(74848);const o="table-of-contents__link toc-highlight",r="table-of-contents__link--active";function c(e){let{className:t,...n}=e;return(0,l.jsx)("div",{className:(0,s.A)(i.tableOfContents,"thin-scrollbar",t),children:(0,l.jsx)(a.A,{...n,linkClassName:o,linkActiveClassName:r})})}},65195:(e,t,n)=>{n.d(t,{A:()=>v});var s=n(96540),a=n(6342);function i(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const s=n.slice(2,e.level);e.parentIndex=Math.max(...s),n[e.level]=t}));const s=[];return t.forEach((e=>{const{parentIndex:n,...a}=e;n>=0?t[n].children.push(a):s.push(a)})),s}function l(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:s}=e;return t.flatMap((e=>{const t=l({toc:e.children,minHeadingLevel:n,maxHeadingLevel:s});return function(e){return e.level>=n&&e.level<=s}(e)?[{...e,children:t}]:t}))}function o(e){const t=e.getBoundingClientRect();return t.top===t.bottom?o(e.parentNode):t}function r(e,t){let{anchorTopOffset:n}=t;const s=e.find((e=>o(e).top>=n));if(s){return function(e){return e.top>0&&e.bottom{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function d(e){const t=(0,s.useRef)(void 0),n=c();(0,s.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:s,linkActiveClassName:a,minHeadingLevel:i,maxHeadingLevel:l}=e;function o(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(s),o=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const s=[];for(let a=t;a<=n;a+=1)s.push(`h${a}.anchor`);return Array.from(document.querySelectorAll(s.join()))}({minHeadingLevel:i,maxHeadingLevel:l}),c=r(o,{anchorTopOffset:n.current}),d=e.find((e=>c&&c.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(a),e.classList.add(a),t.current=e):e.classList.remove(a)}(e,e===d)}))}return document.addEventListener("scroll",o),document.addEventListener("resize",o),o(),()=>{document.removeEventListener("scroll",o),document.removeEventListener("resize",o)}}),[e,n])}var u=n(28774),m=n(74848);function h(e){let{toc:t,className:n,linkClassName:s,isChild:a}=e;return t.length?(0,m.jsx)("ul",{className:a?void 0:n,children:t.map((e=>(0,m.jsxs)("li",{children:[(0,m.jsx)(u.A,{to:`#${e.id}`,className:s??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,m.jsx)(h,{isChild:!0,toc:e.children,className:n,linkClassName:s})]},e.id)))}):null}const x=s.memo(h);function v(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:o="table-of-contents__link",linkActiveClassName:r,minHeadingLevel:c,maxHeadingLevel:u,...h}=e;const v=(0,a.p)(),p=c??v.tableOfContents.minHeadingLevel,b=u??v.tableOfContents.maxHeadingLevel,g=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return(0,s.useMemo)((()=>l({toc:i(t),minHeadingLevel:n,maxHeadingLevel:a})),[t,n,a])}({toc:t,minHeadingLevel:p,maxHeadingLevel:b});return d((0,s.useMemo)((()=>{if(o&&r)return{linkClassName:o,linkActiveClassName:r,minHeadingLevel:p,maxHeadingLevel:b}}),[o,r,p,b])),(0,m.jsx)(x,{toc:g,className:n,linkClassName:o,...h})}},56133:(e,t,n)=>{n.d(t,{A:()=>o});n(96540);var s=n(34164),a=n(28774);const i={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};var l=n(74848);function o(e){let{permalink:t,label:n,count:o}=e;return(0,l.jsxs)(a.A,{href:t,className:(0,s.A)(i.tag,o?i.tagWithCount:i.tagRegular),children:[n,o&&(0,l.jsx)("span",{children:o})]})}},62053:(e,t,n)=>{n.d(t,{A:()=>r});n(96540);var s=n(34164),a=n(21312),i=n(56133);const l={tags:"tags_jXut",tag:"tag_QGVx"};var o=n(74848);function r(e){let{tags:t}=e;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("b",{children:(0,o.jsx)(a.A,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,o.jsx)("ul",{className:(0,s.A)(l.tags,"padding--none","margin-left--sm"),children:t.map((e=>{let{label:t,permalink:n}=e;return(0,o.jsx)("li",{className:l.tag,children:(0,o.jsx)(i.A,{label:t,permalink:n})},n)}))})]})}},50996:(e,t,n)=>{n.d(t,{A:()=>h});n(96540);var s=n(34164),a=n(21312),i=n(5260),l=n(74848);function o(){return(0,l.jsx)(a.A,{id:"theme.unlistedContent.title",description:"The unlisted content banner title",children:"Unlisted page"})}function r(){return(0,l.jsx)(a.A,{id:"theme.unlistedContent.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function c(){return(0,l.jsx)(i.A,{children:(0,l.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}var d=n(17559),u=n(71608);function m(e){let{className:t}=e;return(0,l.jsx)(u.A,{type:"caution",title:(0,l.jsx)(o,{}),className:(0,s.A)(t,d.G.common.unlistedBanner),children:(0,l.jsx)(r,{})})}function h(e){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(c,{}),(0,l.jsx)(m,{...e})]})}},36266:(e,t,n)=>{n.d(t,{i:()=>a});var s=n(44586);function a(e){void 0===e&&(e={});const{i18n:{currentLocale:t}}=(0,s.A)(),n=function(){const{i18n:{currentLocale:e,localeConfigs:t}}=(0,s.A)();return t[e].calendar}();return new Intl.DateTimeFormat(t,{calendar:n,...e})}}}]); \ No newline at end of file diff --git a/assets/js/12d9b77d.2f86ddc1.js b/assets/js/12d9b77d.2f86ddc1.js new file mode 100644 index 000000000..b8f650d10 --- /dev/null +++ b/assets/js/12d9b77d.2f86ddc1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[80675],{77576:t=>{t.exports=JSON.parse('{"tag":{"label":"class","permalink":"/blog/tags/class","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/class","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/13b613cc.56b95a6a.js b/assets/js/13b613cc.56b95a6a.js new file mode 100644 index 000000000..b556249e6 --- /dev/null +++ b/assets/js/13b613cc.56b95a6a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[40069],{39349:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>p,frontMatter:()=>s,metadata:()=>l,toc:()=>u});var o=n(74848),i=n(28453);const s={title:"Using inner blocks",description:"Various tips and useful features for your project included in Eightshift DevKit.",slug:"using-inner-blocks",authors:"obradovic",date:new Date("2024-03-07T00:00:00.000Z"),tags:["eightshift","boilerplate","inner blocks"],hide_table_of_contents:!1},r=void 0,l={permalink:"/blog/using-inner-blocks",source:"@site/blog/2024-03-07-using-inner-blocks.md",title:"Using inner blocks",description:"Various tips and useful features for your project included in Eightshift DevKit.",date:"2024-03-07T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"inner blocks",permalink:"/blog/tags/inner-blocks"}],readingTime:4.71,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Using inner blocks",description:"Various tips and useful features for your project included in Eightshift DevKit.",slug:"using-inner-blocks",authors:"obradovic",date:"2024-03-07T00:00:00.000Z",tags:["eightshift","boilerplate","inner blocks"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Using post templates",permalink:"/blog/using-post-templates"},nextItem:{title:"Tips & useful features",permalink:"/blog/tips-useful-features"}},a={authorsImageUrls:[void 0]},u=[];function c(e){const t={p:"p",...(0,i.R)(),...e.components};return(0,o.jsx)(t.p,{children:"InnerBlocks in WordPress enable the creation of nested block structures within the Gutenberg editor, allowing for the development of more complex and customizable content layouts."})}function p(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},28453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>l});var o=n(96540);const i={},s=o.createContext(i);function r(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/13b613cc.832e94da.js b/assets/js/13b613cc.832e94da.js deleted file mode 100644 index bfe6e0d3b..000000000 --- a/assets/js/13b613cc.832e94da.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[40069],{39349:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>p,frontMatter:()=>s,metadata:()=>a,toc:()=>c});var o=n(74848),i=n(28453);const s={title:"Using inner blocks",description:"Various tips and useful features for your project included in Eightshift DevKit.",slug:"using-inner-blocks",authors:"obradovic",date:new Date("2024-03-07T00:00:00.000Z"),tags:["eightshift","boilerplate","inner blocks"],hide_table_of_contents:!1},r=void 0,a={permalink:"/blog/using-inner-blocks",source:"@site/blog/2024-03-07-using-inner-blocks.md",title:"Using inner blocks",description:"Various tips and useful features for your project included in Eightshift DevKit.",date:"2024-03-07T00:00:00.000Z",formattedDate:"March 7, 2024",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"inner blocks",permalink:"/blog/tags/inner-blocks"}],readingTime:4.71,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Using inner blocks",description:"Various tips and useful features for your project included in Eightshift DevKit.",slug:"using-inner-blocks",authors:"obradovic",date:"2024-03-07T00:00:00.000Z",tags:["eightshift","boilerplate","inner blocks"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Using post templates",permalink:"/blog/using-post-templates"},nextItem:{title:"Tips & useful features",permalink:"/blog/tips-useful-features"}},l={authorsImageUrls:[void 0]},c=[];function u(e){const t={p:"p",...(0,i.R)(),...e.components};return(0,o.jsx)(t.p,{children:"InnerBlocks in WordPress enable the creation of nested block structures within the Gutenberg editor, allowing for the development of more complex and customizable content layouts."})}function p(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},28453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>a});var o=n(96540);const i={},s=o.createContext(i);function r(e){const t=o.useContext(s);return o.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(i):e.components||i:r(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/15394.1d8f3f43.js b/assets/js/15394.1d8f3f43.js deleted file mode 100644 index 90d51189b..000000000 --- a/assets/js/15394.1d8f3f43.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[15394],{21432:(e,t,n)=>{"use strict";n.d(t,{A:()=>V});var o=n(96540),s=n(92303),c=n(34164),r=n(95293),a=n(6342);function l(){const{prism:e}=(0,a.p)(),{colorMode:t}=(0,r.G)(),n=e.theme,o=e.darkTheme||n;return"dark"===t?o:n}var i=n(17559),u=n(18426),d=n.n(u);const m=/title=(?["'])(?.*?)\1/,p=/\{(?<range>[\d,-]+)\}/,b={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},f={...b,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},h=Object.keys(b);function g(e,t){const n=e.map((e=>{const{start:n,end:o}=f[e];return`(?:${n}\\s*(${t.flatMap((e=>[e.line,e.block?.start,e.block?.end].filter(Boolean))).join("|")})\\s*${o})`})).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function k(e,t){let n=e.replace(/\n$/,"");const{language:o,magicComments:s,metastring:c}=t;if(c&&p.test(c)){const e=c.match(p).groups.range;if(0===s.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=s[0].className,o=d()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(o),code:n}}if(void 0===o)return{lineClassNames:{},code:n};const r=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return g(["js","jsBlock"],t);case"jsx":case"tsx":return g(["js","jsBlock","jsx"],t);case"html":return g(["js","jsBlock","html"],t);case"python":case"py":case"bash":return g(["bash"],t);case"markdown":case"md":return g(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return g(["tex"],t);case"lua":case"haskell":case"sql":return g(["lua"],t);case"wasm":return g(["wasm"],t);case"vb":case"vba":case"visual-basic":return g(["vb","rem"],t);case"vbnet":return g(["vbnet","rem"],t);case"batch":return g(["rem"],t);case"basic":return g(["rem","f90"],t);case"fsharp":return g(["js","ml"],t);case"ocaml":case"sml":return g(["ml"],t);case"fortran":return g(["f90"],t);case"cobol":return g(["cobol"],t);default:return g(h,t)}}(o,s),a=n.split("\n"),l=Object.fromEntries(s.map((e=>[e.className,{start:0,range:""}]))),i=Object.fromEntries(s.filter((e=>e.line)).map((e=>{let{className:t,line:n}=e;return[n,t]}))),u=Object.fromEntries(s.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.start,t]}))),m=Object.fromEntries(s.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.end,t]})));for(let d=0;d<a.length;){const e=a[d].match(r);if(!e){d+=1;continue}const t=e.slice(1).find((e=>void 0!==e));i[t]?l[i[t]].range+=`${d},`:u[t]?l[u[t]].start=d:m[t]&&(l[m[t]].range+=`${l[m[t]].start}-${d-1},`),a.splice(d,1)}n=a.join("\n");const b={};return Object.entries(l).forEach((e=>{let[t,{range:n}]=e;d()(n).forEach((e=>{b[e]??=[],b[e].push(t)}))})),{lineClassNames:b,code:n}}const x={codeBlockContainer:"codeBlockContainer_Ckt0"};var B=n(74848);function j(e){let{as:t,...n}=e;const o=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach((e=>{let[o,s]=e;const c=t[o];c&&"string"==typeof s&&(n[c]=s)})),n}(l());return(0,B.jsx)(t,{...n,style:o,className:(0,c.A)(n.className,x.codeBlockContainer,i.G.common.codeBlock)})}const y={codeBlockContent:"codeBlockContent_biex",codeBlockTitle:"codeBlockTitle_Ktv7",codeBlock:"codeBlock_bY9V",codeBlockStandalone:"codeBlockStandalone_MEMb",codeBlockLines:"codeBlockLines_e6Vv",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_o6Pm",buttonGroup:"buttonGroup__atx"};function v(e){let{children:t,className:n}=e;return(0,B.jsx)(j,{as:"pre",tabIndex:0,className:(0,c.A)(y.codeBlockStandalone,"thin-scrollbar",n),children:(0,B.jsx)("code",{className:y.codeBlockLines,children:t})})}var C=n(89532);const N={attributes:!0,characterData:!0,childList:!0,subtree:!0};function w(e,t){const[n,s]=(0,o.useState)(),c=(0,o.useCallback)((()=>{s(e.current?.closest("[role=tabpanel][hidden]"))}),[e,s]);(0,o.useEffect)((()=>{c()}),[c]),function(e,t,n){void 0===n&&(n=N);const s=(0,C._q)(t),c=(0,C.Be)(n);(0,o.useEffect)((()=>{const t=new MutationObserver(s);return e&&t.observe(e,c),()=>t.disconnect()}),[e,s,c])}(n,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),c())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}var E=n(71765);const L={codeLine:"codeLine_lJS_",codeLineNumber:"codeLineNumber_Tfdd",codeLineContent:"codeLineContent_feaV"};function A(e){let{line:t,classNames:n,showLineNumbers:o,getLineProps:s,getTokenProps:r}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");const a=s({line:t,className:(0,c.A)(n,o&&L.codeLine)}),l=t.map(((e,t)=>(0,B.jsx)("span",{...r({token:e,key:t})},t)));return(0,B.jsxs)("span",{...a,children:[o?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)("span",{className:L.codeLineNumber}),(0,B.jsx)("span",{className:L.codeLineContent,children:l})]}):l,(0,B.jsx)("br",{})]})}var _=n(21312);function S(e){return(0,B.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,B.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function T(e){return(0,B.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,B.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}const I={copyButtonCopied:"copyButtonCopied_obH4",copyButtonIcons:"copyButtonIcons_eSgA",copyButtonIcon:"copyButtonIcon_y97N",copyButtonSuccessIcon:"copyButtonSuccessIcon_LjdS"};function $(e){let{code:t,className:n}=e;const[s,r]=(0,o.useState)(!1),a=(0,o.useRef)(void 0),l=(0,o.useCallback)((()=>{!function(e,t){let{target:n=document.body}=void 0===t?{}:t;if("string"!=typeof e)throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);const o=document.createElement("textarea"),s=document.activeElement;o.value=e,o.setAttribute("readonly",""),o.style.contain="strict",o.style.position="absolute",o.style.left="-9999px",o.style.fontSize="12pt";const c=document.getSelection(),r=c.rangeCount>0&&c.getRangeAt(0);n.append(o),o.select(),o.selectionStart=0,o.selectionEnd=e.length;let a=!1;try{a=document.execCommand("copy")}catch{}o.remove(),r&&(c.removeAllRanges(),c.addRange(r)),s&&s.focus()}(t),r(!0),a.current=window.setTimeout((()=>{r(!1)}),1e3)}),[t]);return(0,o.useEffect)((()=>()=>window.clearTimeout(a.current)),[]),(0,B.jsx)("button",{type:"button","aria-label":s?(0,_.T)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,_.T)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,_.T)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,c.A)("clean-btn",n,I.copyButton,s&&I.copyButtonCopied),onClick:l,children:(0,B.jsxs)("span",{className:I.copyButtonIcons,"aria-hidden":"true",children:[(0,B.jsx)(S,{className:I.copyButtonIcon}),(0,B.jsx)(T,{className:I.copyButtonSuccessIcon})]})})}function W(e){return(0,B.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,B.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}const M={wordWrapButtonIcon:"wordWrapButtonIcon_Bwma",wordWrapButtonEnabled:"wordWrapButtonEnabled_EoeP"};function H(e){let{className:t,onClick:n,isEnabled:o}=e;const s=(0,_.T)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,B.jsx)("button",{type:"button",onClick:n,className:(0,c.A)("clean-btn",t,o&&M.wordWrapButtonEnabled),"aria-label":s,title:s,children:(0,B.jsx)(W,{className:M.wordWrapButtonIcon,"aria-hidden":"true"})})}function R(e){let{children:t,className:n="",metastring:s,title:r,showLineNumbers:i,language:u}=e;const{prism:{defaultLanguage:d,magicComments:p}}=(0,a.p)(),b=function(e){return e?.toLowerCase()}(u??function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return t?.replace(/language-/,"")}(n)??d),f=l(),h=function(){const[e,t]=(0,o.useState)(!1),[n,s]=(0,o.useState)(!1),c=(0,o.useRef)(null),r=(0,o.useCallback)((()=>{const n=c.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[c,e]),a=(0,o.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=c.current,n=e>t||c.current.querySelector("code").hasAttribute("style");s(n)}),[c]);return w(c,a),(0,o.useEffect)((()=>{a()}),[e,a]),(0,o.useEffect)((()=>(window.addEventListener("resize",a,{passive:!0}),()=>{window.removeEventListener("resize",a)})),[a]),{codeBlockRef:c,isEnabled:e,isCodeScrollable:n,toggle:r}}(),g=function(e){return e?.match(m)?.groups.title??""}(s)||r,{lineClassNames:x,code:v}=k(t,{metastring:s,language:b,magicComments:p}),C=i??function(e){return Boolean(e?.includes("showLineNumbers"))}(s);return(0,B.jsxs)(j,{as:"div",className:(0,c.A)(n,b&&!n.includes(`language-${b}`)&&`language-${b}`),children:[g&&(0,B.jsx)("div",{className:y.codeBlockTitle,children:g}),(0,B.jsxs)("div",{className:y.codeBlockContent,children:[(0,B.jsx)(E.f4,{theme:f,code:v,language:b??"text",children:e=>{let{className:t,style:n,tokens:o,getLineProps:s,getTokenProps:r}=e;return(0,B.jsx)("pre",{tabIndex:0,ref:h.codeBlockRef,className:(0,c.A)(t,y.codeBlock,"thin-scrollbar"),style:n,children:(0,B.jsx)("code",{className:(0,c.A)(y.codeBlockLines,C&&y.codeBlockLinesWithNumbering),children:o.map(((e,t)=>(0,B.jsx)(A,{line:e,getLineProps:s,getTokenProps:r,classNames:x[t],showLineNumbers:C},t)))})})}}),(0,B.jsxs)("div",{className:y.buttonGroup,children:[(h.isEnabled||h.isCodeScrollable)&&(0,B.jsx)(H,{className:y.codeButton,onClick:()=>h.toggle(),isEnabled:h.isEnabled}),(0,B.jsx)($,{className:y.codeButton,code:v})]})]})]})}function V(e){let{children:t,...n}=e;const c=(0,s.A)(),r=function(e){return o.Children.toArray(e).some((e=>(0,o.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),a="string"==typeof r?R:v;return(0,B.jsx)(a,{...n,children:r},String(c))}},18426:(e,t)=>{function n(e){let t,n=[];for(let o of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(o))n.push(parseInt(o,10));else if(t=o.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,o,s,c]=t;if(o&&c){o=parseInt(o),c=parseInt(c);const e=o<c?1:-1;"-"!==s&&".."!==s&&"\u2025"!==s||(c+=e);for(let t=o;t!==c;t+=e)n.push(t)}}return n}t.default=n,e.exports=n},28453:(e,t,n)=>{"use strict";n.d(t,{R:()=>r,x:()=>a});var o=n(96540);const s={},c=o.createContext(s);function r(e){const t=o.useContext(c);return o.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(s):e.components||s:r(e.components),o.createElement(c.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/15394.6afebeb8.js b/assets/js/15394.6afebeb8.js new file mode 100644 index 000000000..38a9ba978 --- /dev/null +++ b/assets/js/15394.6afebeb8.js @@ -0,0 +1 @@ +(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[15394],{21432:(e,t,n)=>{"use strict";n.d(t,{A:()=>V});var o=n(96540),s=n(92303),c=n(34164),r=n(95293),a=n(6342);function l(){const{prism:e}=(0,a.p)(),{colorMode:t}=(0,r.G)(),n=e.theme,o=e.darkTheme||n;return"dark"===t?o:n}var i=n(17559),u=n(18426),d=n.n(u);const m=/title=(?<quote>["'])(?<title>.*?)\1/,p=/\{(?<range>[\d,-]+)\}/,b={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},f={...b,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},h=Object.keys(b);function g(e,t){const n=e.map((e=>{const{start:n,end:o}=f[e];return`(?:${n}\\s*(${t.flatMap((e=>[e.line,e.block?.start,e.block?.end].filter(Boolean))).join("|")})\\s*${o})`})).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function k(e,t){let n=e.replace(/\n$/,"");const{language:o,magicComments:s,metastring:c}=t;if(c&&p.test(c)){const e=c.match(p).groups.range;if(0===s.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=s[0].className,o=d()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(o),code:n}}if(void 0===o)return{lineClassNames:{},code:n};const r=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return g(["js","jsBlock"],t);case"jsx":case"tsx":return g(["js","jsBlock","jsx"],t);case"html":return g(["js","jsBlock","html"],t);case"python":case"py":case"bash":return g(["bash"],t);case"markdown":case"md":return g(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return g(["tex"],t);case"lua":case"haskell":case"sql":return g(["lua"],t);case"wasm":return g(["wasm"],t);case"vb":case"vba":case"visual-basic":return g(["vb","rem"],t);case"vbnet":return g(["vbnet","rem"],t);case"batch":return g(["rem"],t);case"basic":return g(["rem","f90"],t);case"fsharp":return g(["js","ml"],t);case"ocaml":case"sml":return g(["ml"],t);case"fortran":return g(["f90"],t);case"cobol":return g(["cobol"],t);default:return g(h,t)}}(o,s),a=n.split("\n"),l=Object.fromEntries(s.map((e=>[e.className,{start:0,range:""}]))),i=Object.fromEntries(s.filter((e=>e.line)).map((e=>{let{className:t,line:n}=e;return[n,t]}))),u=Object.fromEntries(s.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.start,t]}))),m=Object.fromEntries(s.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.end,t]})));for(let d=0;d<a.length;){const e=a[d].match(r);if(!e){d+=1;continue}const t=e.slice(1).find((e=>void 0!==e));i[t]?l[i[t]].range+=`${d},`:u[t]?l[u[t]].start=d:m[t]&&(l[m[t]].range+=`${l[m[t]].start}-${d-1},`),a.splice(d,1)}n=a.join("\n");const b={};return Object.entries(l).forEach((e=>{let[t,{range:n}]=e;d()(n).forEach((e=>{b[e]??=[],b[e].push(t)}))})),{lineClassNames:b,code:n}}const x={codeBlockContainer:"codeBlockContainer_Ckt0"};var B=n(74848);function j(e){let{as:t,...n}=e;const o=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach((e=>{let[o,s]=e;const c=t[o];c&&"string"==typeof s&&(n[c]=s)})),n}(l());return(0,B.jsx)(t,{...n,style:o,className:(0,c.A)(n.className,x.codeBlockContainer,i.G.common.codeBlock)})}const y={codeBlockContent:"codeBlockContent_biex",codeBlockTitle:"codeBlockTitle_Ktv7",codeBlock:"codeBlock_bY9V",codeBlockStandalone:"codeBlockStandalone_MEMb",codeBlockLines:"codeBlockLines_e6Vv",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_o6Pm",buttonGroup:"buttonGroup__atx"};function v(e){let{children:t,className:n}=e;return(0,B.jsx)(j,{as:"pre",tabIndex:0,className:(0,c.A)(y.codeBlockStandalone,"thin-scrollbar",n),children:(0,B.jsx)("code",{className:y.codeBlockLines,children:t})})}var C=n(89532);const N={attributes:!0,characterData:!0,childList:!0,subtree:!0};function w(e,t){const[n,s]=(0,o.useState)(),c=(0,o.useCallback)((()=>{s(e.current?.closest("[role=tabpanel][hidden]"))}),[e,s]);(0,o.useEffect)((()=>{c()}),[c]),function(e,t,n){void 0===n&&(n=N);const s=(0,C._q)(t),c=(0,C.Be)(n);(0,o.useEffect)((()=>{const t=new MutationObserver(s);return e&&t.observe(e,c),()=>t.disconnect()}),[e,s,c])}(n,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),c())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}var E=n(71765);const L={codeLine:"codeLine_lJS_",codeLineNumber:"codeLineNumber_Tfdd",codeLineContent:"codeLineContent_feaV"};function A(e){let{line:t,classNames:n,showLineNumbers:o,getLineProps:s,getTokenProps:r}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");const a=s({line:t,className:(0,c.A)(n,o&&L.codeLine)}),l=t.map(((e,t)=>(0,B.jsx)("span",{...r({token:e})},t)));return(0,B.jsxs)("span",{...a,children:[o?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)("span",{className:L.codeLineNumber}),(0,B.jsx)("span",{className:L.codeLineContent,children:l})]}):l,(0,B.jsx)("br",{})]})}var _=n(21312);function S(e){return(0,B.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,B.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function T(e){return(0,B.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,B.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}const I={copyButtonCopied:"copyButtonCopied_obH4",copyButtonIcons:"copyButtonIcons_eSgA",copyButtonIcon:"copyButtonIcon_y97N",copyButtonSuccessIcon:"copyButtonSuccessIcon_LjdS"};function $(e){let{code:t,className:n}=e;const[s,r]=(0,o.useState)(!1),a=(0,o.useRef)(void 0),l=(0,o.useCallback)((()=>{!function(e,t){let{target:n=document.body}=void 0===t?{}:t;if("string"!=typeof e)throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);const o=document.createElement("textarea"),s=document.activeElement;o.value=e,o.setAttribute("readonly",""),o.style.contain="strict",o.style.position="absolute",o.style.left="-9999px",o.style.fontSize="12pt";const c=document.getSelection(),r=c.rangeCount>0&&c.getRangeAt(0);n.append(o),o.select(),o.selectionStart=0,o.selectionEnd=e.length;let a=!1;try{a=document.execCommand("copy")}catch{}o.remove(),r&&(c.removeAllRanges(),c.addRange(r)),s&&s.focus()}(t),r(!0),a.current=window.setTimeout((()=>{r(!1)}),1e3)}),[t]);return(0,o.useEffect)((()=>()=>window.clearTimeout(a.current)),[]),(0,B.jsx)("button",{type:"button","aria-label":s?(0,_.T)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,_.T)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,_.T)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,c.A)("clean-btn",n,I.copyButton,s&&I.copyButtonCopied),onClick:l,children:(0,B.jsxs)("span",{className:I.copyButtonIcons,"aria-hidden":"true",children:[(0,B.jsx)(S,{className:I.copyButtonIcon}),(0,B.jsx)(T,{className:I.copyButtonSuccessIcon})]})})}function W(e){return(0,B.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,B.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}const M={wordWrapButtonIcon:"wordWrapButtonIcon_Bwma",wordWrapButtonEnabled:"wordWrapButtonEnabled_EoeP"};function H(e){let{className:t,onClick:n,isEnabled:o}=e;const s=(0,_.T)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,B.jsx)("button",{type:"button",onClick:n,className:(0,c.A)("clean-btn",t,o&&M.wordWrapButtonEnabled),"aria-label":s,title:s,children:(0,B.jsx)(W,{className:M.wordWrapButtonIcon,"aria-hidden":"true"})})}function R(e){let{children:t,className:n="",metastring:s,title:r,showLineNumbers:i,language:u}=e;const{prism:{defaultLanguage:d,magicComments:p}}=(0,a.p)(),b=function(e){return e?.toLowerCase()}(u??function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return t?.replace(/language-/,"")}(n)??d),f=l(),h=function(){const[e,t]=(0,o.useState)(!1),[n,s]=(0,o.useState)(!1),c=(0,o.useRef)(null),r=(0,o.useCallback)((()=>{const n=c.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[c,e]),a=(0,o.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=c.current,n=e>t||c.current.querySelector("code").hasAttribute("style");s(n)}),[c]);return w(c,a),(0,o.useEffect)((()=>{a()}),[e,a]),(0,o.useEffect)((()=>(window.addEventListener("resize",a,{passive:!0}),()=>{window.removeEventListener("resize",a)})),[a]),{codeBlockRef:c,isEnabled:e,isCodeScrollable:n,toggle:r}}(),g=function(e){return e?.match(m)?.groups.title??""}(s)||r,{lineClassNames:x,code:v}=k(t,{metastring:s,language:b,magicComments:p}),C=i??function(e){return Boolean(e?.includes("showLineNumbers"))}(s);return(0,B.jsxs)(j,{as:"div",className:(0,c.A)(n,b&&!n.includes(`language-${b}`)&&`language-${b}`),children:[g&&(0,B.jsx)("div",{className:y.codeBlockTitle,children:g}),(0,B.jsxs)("div",{className:y.codeBlockContent,children:[(0,B.jsx)(E.f4,{theme:f,code:v,language:b??"text",children:e=>{let{className:t,style:n,tokens:o,getLineProps:s,getTokenProps:r}=e;return(0,B.jsx)("pre",{tabIndex:0,ref:h.codeBlockRef,className:(0,c.A)(t,y.codeBlock,"thin-scrollbar"),style:n,children:(0,B.jsx)("code",{className:(0,c.A)(y.codeBlockLines,C&&y.codeBlockLinesWithNumbering),children:o.map(((e,t)=>(0,B.jsx)(A,{line:e,getLineProps:s,getTokenProps:r,classNames:x[t],showLineNumbers:C},t)))})})}}),(0,B.jsxs)("div",{className:y.buttonGroup,children:[(h.isEnabled||h.isCodeScrollable)&&(0,B.jsx)(H,{className:y.codeButton,onClick:()=>h.toggle(),isEnabled:h.isEnabled}),(0,B.jsx)($,{className:y.codeButton,code:v})]})]})]})}function V(e){let{children:t,...n}=e;const c=(0,s.A)(),r=function(e){return o.Children.toArray(e).some((e=>(0,o.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),a="string"==typeof r?R:v;return(0,B.jsx)(a,{...n,children:r},String(c))}},18426:(e,t)=>{function n(e){let t,n=[];for(let o of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(o))n.push(parseInt(o,10));else if(t=o.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,o,s,c]=t;if(o&&c){o=parseInt(o),c=parseInt(c);const e=o<c?1:-1;"-"!==s&&".."!==s&&"\u2025"!==s||(c+=e);for(let t=o;t!==c;t+=e)n.push(t)}}return n}t.default=n,e.exports=n},28453:(e,t,n)=>{"use strict";n.d(t,{R:()=>r,x:()=>a});var o=n(96540);const s={},c=o.createContext(s);function r(e){const t=o.useContext(c);return o.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(s):e.components||s:r(e.components),o.createElement(c.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/183053be.df7e8c57.js b/assets/js/183053be.df7e8c57.js deleted file mode 100644 index d57384ce9..000000000 --- a/assets/js/183053be.df7e8c57.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[14530],{55836:s=>{s.exports=JSON.parse('{"label":"images","permalink":"/blog/tags/images","allTagsPath":"/blog/tags","count":2,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/19f0fe09.21b4eefb.js b/assets/js/19f0fe09.21b4eefb.js new file mode 100644 index 000000000..16089f673 --- /dev/null +++ b/assets/js/19f0fe09.21b4eefb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[17393],{71244:t=>{t.exports=JSON.parse('{"tag":{"label":"wrapper","permalink":"/blog/tags/wrapper","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/wrapper","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/1a4e3797.02d466ff.js b/assets/js/1a4e3797.02d466ff.js new file mode 100644 index 000000000..c5e9a78b8 --- /dev/null +++ b/assets/js/1a4e3797.02d466ff.js @@ -0,0 +1,2 @@ +/*! For license information please see 1a4e3797.02d466ff.js.LICENSE.txt */ +(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[62138],{72733:e=>{function t(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(e){return"function"==typeof e}function n(e){return"object"==typeof e&&null!==e}function i(e){return void 0===e}e.exports=t,t.prototype._events=void 0,t.prototype._maxListeners=void 0,t.defaultMaxListeners=10,t.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},t.prototype.emit=function(e){var t,s,a,c,o,u;if(this._events||(this._events={}),"error"===e&&(!this._events.error||n(this._events.error)&&!this._events.error.length)){if((t=arguments[1])instanceof Error)throw t;var h=new Error('Uncaught, unspecified "error" event. ('+t+")");throw h.context=t,h}if(i(s=this._events[e]))return!1;if(r(s))switch(arguments.length){case 1:s.call(this);break;case 2:s.call(this,arguments[1]);break;case 3:s.call(this,arguments[1],arguments[2]);break;default:c=Array.prototype.slice.call(arguments,1),s.apply(this,c)}else if(n(s))for(c=Array.prototype.slice.call(arguments,1),a=(u=s.slice()).length,o=0;o<a;o++)u[o].apply(this,c);return!0},t.prototype.addListener=function(e,s){var a;if(!r(s))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,r(s.listener)?s.listener:s),this._events[e]?n(this._events[e])?this._events[e].push(s):this._events[e]=[this._events[e],s]:this._events[e]=s,n(this._events[e])&&!this._events[e].warned&&(a=i(this._maxListeners)?t.defaultMaxListeners:this._maxListeners)&&a>0&&this._events[e].length>a&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},t.prototype.on=t.prototype.addListener,t.prototype.once=function(e,t){if(!r(t))throw TypeError("listener must be a function");var n=!1;function i(){this.removeListener(e,i),n||(n=!0,t.apply(this,arguments))}return i.listener=t,this.on(e,i),this},t.prototype.removeListener=function(e,t){var i,s,a,c;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(a=(i=this._events[e]).length,s=-1,i===t||r(i.listener)&&i.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(n(i)){for(c=a;c-- >0;)if(i[c]===t||i[c].listener&&i[c].listener===t){s=c;break}if(s<0)return this;1===i.length?(i.length=0,delete this._events[e]):i.splice(s,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},t.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r(n=this._events[e]))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},t.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},t.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},t.listenerCount=function(e,t){return e.listenerCount(t)}},74103:(e,t,r)=>{"use strict";var n=r(36571),i=r(19127),s=r(33371),a=r(67691);function c(e,t,r,i){return new n(e,t,r,i)}c.version=r(16938),c.AlgoliaSearchHelper=n,c.SearchParameters=s,c.RecommendParameters=i,c.SearchResults=a,e.exports=c},46732:(e,t,r)=>{"use strict";var n=r(72733);function i(e,t,r){this.main=e,this.fn=t,this.recommendFn=r,this.lastResults=null,this.lastRecommendResults=null}r(73014)(i,n),i.prototype.detach=function(){this.removeAllListeners(),this.main.detachDerivedHelper(this)},i.prototype.getModifiedState=function(e){return this.fn(e)},i.prototype.getModifiedRecommendState=function(e){return this.recommendFn(e)},e.exports=i},19127:e=>{"use strict";function t(e){e=e||{},this.params=e.params||[]}t.prototype={constructor:t,addParams:function(e){var r=this.params.slice(),n=this.params.findIndex((function(t){return t.$$id===e.$$id}));return-1!==n?r.splice(n,1,e):r.push(e),new t({params:r})},removeParams:function(e){return new t({params:this.params.filter((function(t){return t.$$id!==e}))})},addFrequentlyBoughtTogether:function(e){return this.addParams(Object.assign({},e,{model:"bought-together"}))},addRelatedProducts:function(e){return this.addParams(Object.assign({},e,{model:"related-products"}))},addTrendingItems:function(e){return this.addParams(Object.assign({},e,{model:"trending-items"}))},addTrendingFacets:function(e){return this.addParams(Object.assign({},e,{model:"trending-facets"}))},addLookingSimilar:function(e){return this.addParams(Object.assign({},e,{model:"looking-similar"}))},_buildQueries:function(e){return this.params.map((function(t){var r=Object.assign({},t,{indexName:e});return delete r.$$id,r}))}},e.exports=t},44054:(e,t,r)=>{"use strict";var n=r(29110),i=r(40317),s=r(21383),a={addRefinement:function(e,t,r){if(a.isRefined(e,t,r))return e;var i=""+r,s=e[t]?e[t].concat(i):[i],c={};return c[t]=s,n({},c,e)},removeRefinement:function(e,t,r){if(void 0===r)return a.clearRefinement(e,(function(e,r){return t===r}));var n=""+r;return a.clearRefinement(e,(function(e,r){return t===r&&n===e}))},toggleRefinement:function(e,t,r){if(void 0===r)throw new Error("toggleRefinement should be used with a value");return a.isRefined(e,t,r)?a.removeRefinement(e,t,r):a.addRefinement(e,t,r)},clearRefinement:function(e,t,r){if(void 0===t)return i(e)?{}:e;if("string"==typeof t)return s(e,[t]);if("function"==typeof t){var n=!1,a=Object.keys(e).reduce((function(i,s){var a=e[s]||[],c=a.filter((function(e){return!t(e,s,r)}));return c.length!==a.length&&(n=!0),i[s]=c,i}),{});return n?a:e}},isRefined:function(e,t,r){var n=Boolean(e[t])&&e[t].length>0;if(void 0===r||!n)return n;var i=""+r;return-1!==e[t].indexOf(i)}};e.exports=a},33371:(e,t,r)=>{"use strict";var n=r(29110),i=r(20849),s=r(14843),a=r(44728),c=r(40317),o=r(21383),u=r(17507),h=r(72208),f=r(44054);function l(e,t){return Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every((function(e,r){return l(t[r],e)})):e===t}function m(e){var t=e?m._parseNumbers(e):{};void 0===t.userToken||h(t.userToken)||console.warn("[algoliasearch-helper] The `userToken` parameter is invalid. This can lead to wrong analytics.\n - Format: [a-zA-Z0-9_-]{1,64}"),this.facets=t.facets||[],this.disjunctiveFacets=t.disjunctiveFacets||[],this.hierarchicalFacets=t.hierarchicalFacets||[],this.facetsRefinements=t.facetsRefinements||{},this.facetsExcludes=t.facetsExcludes||{},this.disjunctiveFacetsRefinements=t.disjunctiveFacetsRefinements||{},this.numericRefinements=t.numericRefinements||{},this.tagRefinements=t.tagRefinements||[],this.hierarchicalFacetsRefinements=t.hierarchicalFacetsRefinements||{};var r=this;Object.keys(t).forEach((function(e){var n=-1!==m.PARAMETERS.indexOf(e),i=void 0!==t[e];!n&&i&&(r[e]=t[e])}))}m.PARAMETERS=Object.keys(new m),m._parseNumbers=function(e){if(e instanceof m)return e;var t={};if(["aroundPrecision","aroundRadius","getRankingInfo","minWordSizefor2Typos","minWordSizefor1Typo","page","maxValuesPerFacet","distinct","minimumAroundRadius","hitsPerPage","minProximity"].forEach((function(r){var n=e[r];if("string"==typeof n){var i=parseFloat(n);t[r]=isNaN(i)?n:i}})),Array.isArray(e.insideBoundingBox)&&(t.insideBoundingBox=e.insideBoundingBox.map((function(e){return Array.isArray(e)?e.map((function(e){return parseFloat(e)})):e}))),e.numericRefinements){var r={};Object.keys(e.numericRefinements).forEach((function(t){var n=e.numericRefinements[t]||{};r[t]={},Object.keys(n).forEach((function(e){var i=n[e].map((function(e){return Array.isArray(e)?e.map((function(e){return"string"==typeof e?parseFloat(e):e})):"string"==typeof e?parseFloat(e):e}));r[t][e]=i}))})),t.numericRefinements=r}return a(e,t)},m.make=function(e){var t=new m(e);return(e.hierarchicalFacets||[]).forEach((function(e){if(e.rootPath){var r=t.getHierarchicalRefinement(e.name);r.length>0&&0!==r[0].indexOf(e.rootPath)&&(t=t.clearRefinements(e.name)),0===(r=t.getHierarchicalRefinement(e.name)).length&&(t=t.toggleHierarchicalFacetRefinement(e.name,e.rootPath))}})),t},m.validate=function(e,t){var r=t||{};return e.tagFilters&&r.tagRefinements&&r.tagRefinements.length>0?new Error("[Tags] Cannot switch from the managed tag API to the advanced API. It is probably an error, if it is really what you want, you should first clear the tags with clearTags method."):e.tagRefinements.length>0&&r.tagFilters?new Error("[Tags] Cannot switch from the advanced tag API to the managed API. It is probably an error, if it is not, you should first clear the tags with clearTags method."):e.numericFilters&&r.numericRefinements&&c(r.numericRefinements)?new Error("[Numeric filters] Can't switch from the advanced to the managed API. It is probably an error, if this is really what you want, you have to first clear the numeric filters."):c(e.numericRefinements)&&r.numericFilters?new Error("[Numeric filters] Can't switch from the managed API to the advanced. It is probably an error, if this is really what you want, you have to first clear the numeric filters."):null},m.prototype={constructor:m,clearRefinements:function(e){var t={numericRefinements:this._clearNumericRefinements(e),facetsRefinements:f.clearRefinement(this.facetsRefinements,e,"conjunctiveFacet"),facetsExcludes:f.clearRefinement(this.facetsExcludes,e,"exclude"),disjunctiveFacetsRefinements:f.clearRefinement(this.disjunctiveFacetsRefinements,e,"disjunctiveFacet"),hierarchicalFacetsRefinements:f.clearRefinement(this.hierarchicalFacetsRefinements,e,"hierarchicalFacet")};return t.numericRefinements===this.numericRefinements&&t.facetsRefinements===this.facetsRefinements&&t.facetsExcludes===this.facetsExcludes&&t.disjunctiveFacetsRefinements===this.disjunctiveFacetsRefinements&&t.hierarchicalFacetsRefinements===this.hierarchicalFacetsRefinements?this:this.setQueryParameters(t)},clearTags:function(){return void 0===this.tagFilters&&0===this.tagRefinements.length?this:this.setQueryParameters({tagFilters:void 0,tagRefinements:[]})},setIndex:function(e){return e===this.index?this:this.setQueryParameters({index:e})},setQuery:function(e){return e===this.query?this:this.setQueryParameters({query:e})},setPage:function(e){return e===this.page?this:this.setQueryParameters({page:e})},setFacets:function(e){return this.setQueryParameters({facets:e})},setDisjunctiveFacets:function(e){return this.setQueryParameters({disjunctiveFacets:e})},setHitsPerPage:function(e){return this.hitsPerPage===e?this:this.setQueryParameters({hitsPerPage:e})},setTypoTolerance:function(e){return this.typoTolerance===e?this:this.setQueryParameters({typoTolerance:e})},addNumericRefinement:function(e,t,r){var n=u(r);if(this.isNumericRefined(e,t,n))return this;var i=a({},this.numericRefinements);return i[e]=a({},i[e]),i[e][t]?(i[e][t]=i[e][t].slice(),i[e][t].push(n)):i[e][t]=[n],this.setQueryParameters({numericRefinements:i})},getConjunctiveRefinements:function(e){return this.isConjunctiveFacet(e)&&this.facetsRefinements[e]||[]},getDisjunctiveRefinements:function(e){return this.isDisjunctiveFacet(e)&&this.disjunctiveFacetsRefinements[e]||[]},getHierarchicalRefinement:function(e){return this.hierarchicalFacetsRefinements[e]||[]},getExcludeRefinements:function(e){return this.isConjunctiveFacet(e)&&this.facetsExcludes[e]||[]},removeNumericRefinement:function(e,t,r){var n=r;return void 0!==n?this.isNumericRefined(e,t,n)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements((function(r,i){return i===e&&r.op===t&&l(r.val,u(n))}))}):this:void 0!==t?this.isNumericRefined(e,t)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements((function(r,n){return n===e&&r.op===t}))}):this:this.isNumericRefined(e)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements((function(t,r){return r===e}))}):this},getNumericRefinements:function(e){return this.numericRefinements[e]||{}},getNumericRefinement:function(e,t){return this.numericRefinements[e]&&this.numericRefinements[e][t]},_clearNumericRefinements:function(e){if(void 0===e)return c(this.numericRefinements)?{}:this.numericRefinements;if("string"==typeof e)return o(this.numericRefinements,[e]);if("function"==typeof e){var t=!1,r=this.numericRefinements,n=Object.keys(r).reduce((function(n,i){var s=r[i],a={};return s=s||{},Object.keys(s).forEach((function(r){var n=s[r]||[],c=[];n.forEach((function(t){e({val:t,op:r},i,"numeric")||c.push(t)})),c.length!==n.length&&(t=!0),a[r]=c})),n[i]=a,n}),{});return t?n:this.numericRefinements}},addFacet:function(e){return this.isConjunctiveFacet(e)?this:this.setQueryParameters({facets:this.facets.concat([e])})},addDisjunctiveFacet:function(e){return this.isDisjunctiveFacet(e)?this:this.setQueryParameters({disjunctiveFacets:this.disjunctiveFacets.concat([e])})},addHierarchicalFacet:function(e){if(this.isHierarchicalFacet(e.name))throw new Error("Cannot declare two hierarchical facets with the same name: `"+e.name+"`");return this.setQueryParameters({hierarchicalFacets:this.hierarchicalFacets.concat([e])})},addFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsRefinements,e,t)?this:this.setQueryParameters({facetsRefinements:f.addRefinement(this.facetsRefinements,e,t)})},addExcludeRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsExcludes,e,t)?this:this.setQueryParameters({facetsExcludes:f.addRefinement(this.facetsExcludes,e,t)})},addDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration");return f.isRefined(this.disjunctiveFacetsRefinements,e,t)?this:this.setQueryParameters({disjunctiveFacetsRefinements:f.addRefinement(this.disjunctiveFacetsRefinements,e,t)})},addTagRefinement:function(e){if(this.isTagRefined(e))return this;var t={tagRefinements:this.tagRefinements.concat(e)};return this.setQueryParameters(t)},removeFacet:function(e){return this.isConjunctiveFacet(e)?this.clearRefinements(e).setQueryParameters({facets:this.facets.filter((function(t){return t!==e}))}):this},removeDisjunctiveFacet:function(e){return this.isDisjunctiveFacet(e)?this.clearRefinements(e).setQueryParameters({disjunctiveFacets:this.disjunctiveFacets.filter((function(t){return t!==e}))}):this},removeHierarchicalFacet:function(e){return this.isHierarchicalFacet(e)?this.clearRefinements(e).setQueryParameters({hierarchicalFacets:this.hierarchicalFacets.filter((function(t){return t.name!==e}))}):this},removeFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsRefinements,e,t)?this.setQueryParameters({facetsRefinements:f.removeRefinement(this.facetsRefinements,e,t)}):this},removeExcludeRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsExcludes,e,t)?this.setQueryParameters({facetsExcludes:f.removeRefinement(this.facetsExcludes,e,t)}):this},removeDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration");return f.isRefined(this.disjunctiveFacetsRefinements,e,t)?this.setQueryParameters({disjunctiveFacetsRefinements:f.removeRefinement(this.disjunctiveFacetsRefinements,e,t)}):this},removeTagRefinement:function(e){if(!this.isTagRefined(e))return this;var t={tagRefinements:this.tagRefinements.filter((function(t){return t!==e}))};return this.setQueryParameters(t)},toggleRefinement:function(e,t){return this.toggleFacetRefinement(e,t)},toggleFacetRefinement:function(e,t){if(this.isHierarchicalFacet(e))return this.toggleHierarchicalFacetRefinement(e,t);if(this.isConjunctiveFacet(e))return this.toggleConjunctiveFacetRefinement(e,t);if(this.isDisjunctiveFacet(e))return this.toggleDisjunctiveFacetRefinement(e,t);throw new Error("Cannot refine the undeclared facet "+e+"; it should be added to the helper options facets, disjunctiveFacets or hierarchicalFacets")},toggleConjunctiveFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return this.setQueryParameters({facetsRefinements:f.toggleRefinement(this.facetsRefinements,e,t)})},toggleExcludeFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return this.setQueryParameters({facetsExcludes:f.toggleRefinement(this.facetsExcludes,e,t)})},toggleDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration");return this.setQueryParameters({disjunctiveFacetsRefinements:f.toggleRefinement(this.disjunctiveFacetsRefinements,e,t)})},toggleHierarchicalFacetRefinement:function(e,t){if(!this.isHierarchicalFacet(e))throw new Error(e+" is not defined in the hierarchicalFacets attribute of the helper configuration");var r=this._getHierarchicalFacetSeparator(this.getHierarchicalFacetByName(e)),i={};return void 0!==this.hierarchicalFacetsRefinements[e]&&this.hierarchicalFacetsRefinements[e].length>0&&(this.hierarchicalFacetsRefinements[e][0]===t||0===this.hierarchicalFacetsRefinements[e][0].indexOf(t+r))?-1===t.indexOf(r)?i[e]=[]:i[e]=[t.slice(0,t.lastIndexOf(r))]:i[e]=[t],this.setQueryParameters({hierarchicalFacetsRefinements:n({},i,this.hierarchicalFacetsRefinements)})},addHierarchicalFacetRefinement:function(e,t){if(this.isHierarchicalFacetRefined(e))throw new Error(e+" is already refined.");if(!this.isHierarchicalFacet(e))throw new Error(e+" is not defined in the hierarchicalFacets attribute of the helper configuration.");var r={};return r[e]=[t],this.setQueryParameters({hierarchicalFacetsRefinements:n({},r,this.hierarchicalFacetsRefinements)})},removeHierarchicalFacetRefinement:function(e){if(!this.isHierarchicalFacetRefined(e))return this;var t={};return t[e]=[],this.setQueryParameters({hierarchicalFacetsRefinements:n({},t,this.hierarchicalFacetsRefinements)})},toggleTagRefinement:function(e){return this.isTagRefined(e)?this.removeTagRefinement(e):this.addTagRefinement(e)},isDisjunctiveFacet:function(e){return this.disjunctiveFacets.indexOf(e)>-1},isHierarchicalFacet:function(e){return void 0!==this.getHierarchicalFacetByName(e)},isConjunctiveFacet:function(e){return this.facets.indexOf(e)>-1},isFacetRefined:function(e,t){return!!this.isConjunctiveFacet(e)&&f.isRefined(this.facetsRefinements,e,t)},isExcludeRefined:function(e,t){return!!this.isConjunctiveFacet(e)&&f.isRefined(this.facetsExcludes,e,t)},isDisjunctiveFacetRefined:function(e,t){return!!this.isDisjunctiveFacet(e)&&f.isRefined(this.disjunctiveFacetsRefinements,e,t)},isHierarchicalFacetRefined:function(e,t){if(!this.isHierarchicalFacet(e))return!1;var r=this.getHierarchicalRefinement(e);return t?-1!==r.indexOf(t):r.length>0},isNumericRefined:function(e,t,r){if(void 0===r&&void 0===t)return Boolean(this.numericRefinements[e]);var n=this.numericRefinements[e]&&void 0!==this.numericRefinements[e][t];if(void 0===r||!n)return n;var s,a,c=u(r),o=void 0!==(s=this.numericRefinements[e][t],a=c,i(s,(function(e){return l(e,a)})));return n&&o},isTagRefined:function(e){return-1!==this.tagRefinements.indexOf(e)},getRefinedDisjunctiveFacets:function(){var e=this,t=s(Object.keys(this.numericRefinements).filter((function(t){return Object.keys(e.numericRefinements[t]).length>0})),this.disjunctiveFacets);return Object.keys(this.disjunctiveFacetsRefinements).filter((function(t){return e.disjunctiveFacetsRefinements[t].length>0})).concat(t).concat(this.getRefinedHierarchicalFacets()).sort()},getRefinedHierarchicalFacets:function(){var e=this;return s(this.hierarchicalFacets.map((function(e){return e.name})),Object.keys(this.hierarchicalFacetsRefinements).filter((function(t){return e.hierarchicalFacetsRefinements[t].length>0}))).sort()},getUnrefinedDisjunctiveFacets:function(){var e=this.getRefinedDisjunctiveFacets();return this.disjunctiveFacets.filter((function(t){return-1===e.indexOf(t)}))},managedParameters:["index","facets","disjunctiveFacets","facetsRefinements","hierarchicalFacets","facetsExcludes","disjunctiveFacetsRefinements","numericRefinements","tagRefinements","hierarchicalFacetsRefinements"],getQueryParams:function(){var e=this.managedParameters,t={},r=this;return Object.keys(this).forEach((function(n){var i=r[n];-1===e.indexOf(n)&&void 0!==i&&(t[n]=i)})),t},setQueryParameter:function(e,t){if(this[e]===t)return this;var r={};return r[e]=t,this.setQueryParameters(r)},setQueryParameters:function(e){if(!e)return this;var t=m.validate(this,e);if(t)throw t;var r=this,n=m._parseNumbers(e),i=Object.keys(this).reduce((function(e,t){return e[t]=r[t],e}),{}),s=Object.keys(n).reduce((function(e,t){var r=void 0!==e[t],i=void 0!==n[t];return r&&!i?o(e,[t]):(i&&(e[t]=n[t]),e)}),i);return new this.constructor(s)},resetPage:function(){return void 0===this.page?this:this.setPage(0)},_getHierarchicalFacetSortBy:function(e){return e.sortBy||["isRefined:desc","name:asc"]},_getHierarchicalFacetSeparator:function(e){return e.separator||" > "},_getHierarchicalRootPath:function(e){return e.rootPath||null},_getHierarchicalShowParentLevel:function(e){return"boolean"!=typeof e.showParentLevel||e.showParentLevel},getHierarchicalFacetByName:function(e){return i(this.hierarchicalFacets,(function(t){return t.name===e}))},getHierarchicalFacetBreadcrumb:function(e){if(!this.isHierarchicalFacet(e))return[];var t=this.getHierarchicalRefinement(e)[0];if(!t)return[];var r=this._getHierarchicalFacetSeparator(this.getHierarchicalFacetByName(e));return t.split(r).map((function(e){return e.trim()}))},toString:function(){return JSON.stringify(this,null,2)}},e.exports=m},76673:(e,t,r)=>{"use strict";e.exports=function(e){return function(t,r){var n=e.hierarchicalFacets[r],u=e.hierarchicalFacetsRefinements[n.name]&&e.hierarchicalFacetsRefinements[n.name][0]||"",h=e._getHierarchicalFacetSeparator(n),f=e._getHierarchicalRootPath(n),l=e._getHierarchicalShowParentLevel(n),m=s(e._getHierarchicalFacetSortBy(n)),d=t.every((function(e){return e.exhaustive})),p=function(e,t,r,n,s){return function(u,h,f){var l=u;if(f>0){var m=0;for(l=u;m<f;){var d=l&&Array.isArray(l.data)?l.data:[];l=i(d,(function(e){return e.isRefined})),m++}}if(l){var p=Object.keys(h.data).map((function(e){return[e,h.data[e]]})).filter((function(e){return function(e,t,r,n,i,s){if(i&&(0!==e.indexOf(i)||i===e))return!1;return!i&&-1===e.indexOf(n)||i&&e.split(n).length-i.split(n).length==1||-1===e.indexOf(n)&&-1===r.indexOf(n)||0===r.indexOf(e)||0===e.indexOf(t+n)&&(s||0===e.indexOf(r))}(e[0],l.path||r,s,t,r,n)}));l.data=a(p.map((function(e){var r=e[0];return function(e,t,r,n,i){var s=t.split(r);return{name:s[s.length-1].trim(),path:t,escapedValue:c(t),count:e,isRefined:n===t||0===n.indexOf(t+r),exhaustive:i,data:null}}(e[1],r,t,o(s),h.exhaustive)})),e[0],e[1])}return u}}(m,h,f,l,u),g=t;return f&&(g=t.slice(f.split(h).length)),g.reduce(p,{name:e.hierarchicalFacets[r].name,count:null,isRefined:!0,path:null,escapedValue:null,exhaustive:d,data:null})}};var n=r(2909),i=r(20849),s=r(7577),a=r(38601),c=n.escapeFacetValue,o=n.unescapeFacetValue},67691:(e,t,r)=>{"use strict";var n=r(78965),i=r(29110),s=r(2909),a=r(20849),c=r(43917),o=r(7577),u=r(44728),h=r(38601),f=s.escapeFacetValue,l=s.unescapeFacetValue,m=r(76673);function d(e){var t={};return e.forEach((function(e,r){t[e]=r})),t}function p(e,t,r){t&&t[r]&&(e.stats=t[r])}function g(e,t,r){var s=t[0];this._rawResults=t;var o=this;Object.keys(s).forEach((function(e){o[e]=s[e]}));var h=u({persistHierarchicalRootCount:!1},r);Object.keys(h).forEach((function(e){o[e]=h[e]})),this.processingTimeMS=t.reduce((function(e,t){return void 0===t.processingTimeMS?e:e+t.processingTimeMS}),0),this.disjunctiveFacets=[],this.hierarchicalFacets=e.hierarchicalFacets.map((function(){return[]})),this.facets=[];var f=e.getRefinedDisjunctiveFacets(),g=d(e.facets),v=d(e.disjunctiveFacets),y=1,R=s.facets||{};Object.keys(R).forEach((function(t){var r,n,i=R[t],u=(r=e.hierarchicalFacets,n=t,a(r,(function(e){return(e.attributes||[]).indexOf(n)>-1})));if(u){var h=u.attributes.indexOf(t),f=c(e.hierarchicalFacets,(function(e){return e.name===u.name}));o.hierarchicalFacets[f][h]={attribute:t,data:i,exhaustive:s.exhaustiveFacetsCount}}else{var l,m=-1!==e.disjunctiveFacets.indexOf(t),d=-1!==e.facets.indexOf(t);m&&(l=v[t],o.disjunctiveFacets[l]={name:t,data:i,exhaustive:s.exhaustiveFacetsCount},p(o.disjunctiveFacets[l],s.facets_stats,t)),d&&(l=g[t],o.facets[l]={name:t,data:i,exhaustive:s.exhaustiveFacetsCount},p(o.facets[l],s.facets_stats,t))}})),this.hierarchicalFacets=n(this.hierarchicalFacets),f.forEach((function(r){var n=t[y],a=n&&n.facets?n.facets:{},h=e.getHierarchicalFacetByName(r);Object.keys(a).forEach((function(t){var r,f=a[t];if(h){r=c(e.hierarchicalFacets,(function(e){return e.name===h.name}));var m=c(o.hierarchicalFacets[r],(function(e){return e.attribute===t}));if(-1===m)return;o.hierarchicalFacets[r][m].data=u({},o.hierarchicalFacets[r][m].data,f)}else{r=v[t];var d=s.facets&&s.facets[t]||{};o.disjunctiveFacets[r]={name:t,data:i({},f,d),exhaustive:n.exhaustiveFacetsCount},p(o.disjunctiveFacets[r],n.facets_stats,t),e.disjunctiveFacetsRefinements[t]&&e.disjunctiveFacetsRefinements[t].forEach((function(n){!o.disjunctiveFacets[r].data[n]&&e.disjunctiveFacetsRefinements[t].indexOf(l(n))>-1&&(o.disjunctiveFacets[r].data[n]=0)}))}})),y++})),e.getRefinedHierarchicalFacets().forEach((function(r){var n=e.getHierarchicalFacetByName(r),s=e._getHierarchicalFacetSeparator(n),a=e.getHierarchicalRefinement(r);0===a.length||a[0].split(s).length<2||t.slice(y).forEach((function(t){var r=t&&t.facets?t.facets:{};Object.keys(r).forEach((function(t){var u=r[t],h=c(e.hierarchicalFacets,(function(e){return e.name===n.name})),f=c(o.hierarchicalFacets[h],(function(e){return e.attribute===t}));if(-1!==f){var l={};if(a.length>0&&!o.persistHierarchicalRootCount){var m=a[0].split(s)[0];l[m]=o.hierarchicalFacets[h][f].data[m]}o.hierarchicalFacets[h][f].data=i(l,u,o.hierarchicalFacets[h][f].data)}})),y++}))})),Object.keys(e.facetsExcludes).forEach((function(t){var r=e.facetsExcludes[t],n=g[t];o.facets[n]={name:t,data:R[t],exhaustive:s.exhaustiveFacetsCount},r.forEach((function(e){o.facets[n]=o.facets[n]||{name:t},o.facets[n].data=o.facets[n].data||{},o.facets[n].data[e]=0}))})),this.hierarchicalFacets=this.hierarchicalFacets.map(m(e)),this.facets=n(this.facets),this.disjunctiveFacets=n(this.disjunctiveFacets),this._state=e}function v(e,t){function r(e){return e.name===t}if(e._state.isConjunctiveFacet(t)){var n=a(e.facets,r);return n?Object.keys(n.data).map((function(r){var i=f(r);return{name:r,escapedValue:i,count:n.data[r],isRefined:e._state.isFacetRefined(t,i),isExcluded:e._state.isExcludeRefined(t,r)}})):[]}if(e._state.isDisjunctiveFacet(t)){var i=a(e.disjunctiveFacets,r);return i?Object.keys(i.data).map((function(r){var n=f(r);return{name:r,escapedValue:n,count:i.data[r],isRefined:e._state.isDisjunctiveFacetRefined(t,n)}})):[]}if(e._state.isHierarchicalFacet(t)){var s=a(e.hierarchicalFacets,r);if(!s)return s;var c=e._state.getHierarchicalFacetByName(t),o=e._state._getHierarchicalFacetSeparator(c),u=l(e._state.getHierarchicalRefinement(t)[0]||"");0===u.indexOf(c.rootPath)&&(u=u.replace(c.rootPath+o,""));var h=u.split(o);return h.unshift(t),y(s,h,0),s}}function y(e,t,r){e.isRefined=e.name===(t[r]&&t[r].trim()),e.data&&e.data.forEach((function(e){y(e,t,r+1)}))}function R(e,t,r,n){if(n=n||0,Array.isArray(t))return e(t,r[n]);if(!t.data||0===t.data.length)return t;var s=t.data.map((function(t){return R(e,t,r,n+1)})),a=e(s,r[n]);return i({data:a},t)}function F(e,t){var r=a(e,(function(e){return e.name===t}));return r&&r.stats}function b(e,t,r,n,i){var s=a(i,(function(e){return e.name===r})),c=s&&s.data&&s.data[n]?s.data[n]:0,o=s&&s.exhaustive||!1;return{type:t,attributeName:r,name:n,count:c,exhaustive:o}}g.prototype.getFacetByName=function(e){function t(t){return t.name===e}return a(this.facets,t)||a(this.disjunctiveFacets,t)||a(this.hierarchicalFacets,t)},g.DEFAULT_SORT=["isRefined:desc","count:desc","name:asc"],g.prototype.getFacetValues=function(e,t){var r=v(this,e);if(r){var n,s=i({},t,{sortBy:g.DEFAULT_SORT,facetOrdering:!(t&&t.sortBy)}),a=this;if(Array.isArray(r))n=[e];else n=a._state.getHierarchicalFacetByName(r.name).attributes;return R((function(e,t){if(s.facetOrdering){var r=function(e,t){return e.renderingContent&&e.renderingContent.facetOrdering&&e.renderingContent.facetOrdering.values&&e.renderingContent.facetOrdering.values[t]}(a,t);if(r)return function(e,t){var r=[],n=[],i=(t.order||[]).reduce((function(e,t,r){return e[t]=r,e}),{});e.forEach((function(e){var t=e.path||e.name;void 0!==i[t]?r[i[t]]=e:n.push(e)})),r=r.filter((function(e){return e}));var s,a=t.sortRemainingBy;return"hidden"===a?r:(s="alpha"===a?[["path","name"],["asc","asc"]]:[["count"],["desc"]],r.concat(h(n,s[0],s[1])))}(e,r)}if(Array.isArray(s.sortBy)){var n=o(s.sortBy,g.DEFAULT_SORT);return h(e,n[0],n[1])}if("function"==typeof s.sortBy)return function(e,t){return t.sort(e)}(s.sortBy,e);throw new Error("options.sortBy is optional but if defined it must be either an array of string (predicates) or a sorting function")}),r,n)}},g.prototype.getFacetStats=function(e){return this._state.isConjunctiveFacet(e)?F(this.facets,e):this._state.isDisjunctiveFacet(e)?F(this.disjunctiveFacets,e):void 0},g.prototype.getRefinements=function(){var e=this._state,t=this,r=[];return Object.keys(e.facetsRefinements).forEach((function(n){e.facetsRefinements[n].forEach((function(i){r.push(b(e,"facet",n,i,t.facets))}))})),Object.keys(e.facetsExcludes).forEach((function(n){e.facetsExcludes[n].forEach((function(i){r.push(b(e,"exclude",n,i,t.facets))}))})),Object.keys(e.disjunctiveFacetsRefinements).forEach((function(n){e.disjunctiveFacetsRefinements[n].forEach((function(i){r.push(b(e,"disjunctive",n,i,t.disjunctiveFacets))}))})),Object.keys(e.hierarchicalFacetsRefinements).forEach((function(n){e.hierarchicalFacetsRefinements[n].forEach((function(i){r.push(function(e,t,r,n){var i=e.getHierarchicalFacetByName(t),s=e._getHierarchicalFacetSeparator(i),c=r.split(s),o=a(n,(function(e){return e.name===t})),u=c.reduce((function(e,t){var r=e&&a(e.data,(function(e){return e.name===t}));return void 0!==r?r:e}),o),h=u&&u.count||0,f=u&&u.exhaustive||!1,l=u&&u.path||"";return{type:"hierarchical",attributeName:t,name:l,count:h,exhaustive:f}}(e,n,i,t.hierarchicalFacets))}))})),Object.keys(e.numericRefinements).forEach((function(t){var n=e.numericRefinements[t];Object.keys(n).forEach((function(e){n[e].forEach((function(n){r.push({type:"numeric",attributeName:t,name:n,numericValue:n,operator:e})}))}))})),e.tagRefinements.forEach((function(e){r.push({type:"tag",attributeName:"_tags",name:e})})),r},e.exports=g},36571:(e,t,r)=>{"use strict";var n=r(72733),i=r(46732),s=r(2909).escapeFacetValue,a=r(73014),c=r(44728),o=r(40317),u=r(21383),h=r(19127),f=r(49228),l=r(33371),m=r(67691),d=r(16938);function p(e,t,r,n){"function"==typeof e.addAlgoliaAgent&&e.addAlgoliaAgent("JS Helper ("+d+")"),this.setClient(e);var i=r||{};i.index=t,this.state=l.make(i),this.recommendState=new h({params:i.recommendState}),this.lastResults=null,this.lastRecommendResults=null,this._queryId=0,this._recommendQueryId=0,this._lastQueryIdReceived=-1,this._lastRecommendQueryIdReceived=-1,this.derivedHelpers=[],this._currentNbQueries=0,this._currentNbRecommendQueries=0,this._searchResultsOptions=n}function g(e){if(e<0)throw new Error("Page requested below 0.");return this._change({state:this.state.setPage(e),isPageReset:!1}),this}function v(){return this.state.page}a(p,n),p.prototype.search=function(){return this._search({onlyWithDerivedHelpers:!1}),this},p.prototype.searchOnlyWithDerivedHelpers=function(){return this._search({onlyWithDerivedHelpers:!0}),this},p.prototype.recommend=function(){return this._recommend(),this},p.prototype.getQuery=function(){var e=this.state;return f._getHitsSearchParams(e)},p.prototype.searchOnce=function(e,t){var r=e?this.state.setQueryParameters(e):this.state,n=f._getQueries(r.index,r),i=this;if(this._currentNbQueries++,this.emit("searchOnce",{state:r}),!t)return this.client.search(n).then((function(e){return i._currentNbQueries--,0===i._currentNbQueries&&i.emit("searchQueueEmpty"),{content:new m(r,e.results),state:r,_originalResponse:e}}),(function(e){throw i._currentNbQueries--,0===i._currentNbQueries&&i.emit("searchQueueEmpty"),e}));this.client.search(n).then((function(e){i._currentNbQueries--,0===i._currentNbQueries&&i.emit("searchQueueEmpty"),t(null,new m(r,e.results),r)})).catch((function(e){i._currentNbQueries--,0===i._currentNbQueries&&i.emit("searchQueueEmpty"),t(e,null,r)}))},p.prototype.findAnswers=function(e){console.warn("[algoliasearch-helper] answers is no longer supported");var t=this.state,r=this.derivedHelpers[0];if(!r)return Promise.resolve([]);var n=r.getModifiedState(t),i=c({attributesForPrediction:e.attributesForPrediction,nbHits:e.nbHits},{params:u(f._getHitsSearchParams(n),["attributesToSnippet","hitsPerPage","restrictSearchableAttributes","snippetEllipsisText"])}),s="search for answers was called, but this client does not have a function client.initIndex(index).findAnswers";if("function"!=typeof this.client.initIndex)throw new Error(s);var a=this.client.initIndex(n.index);if("function"!=typeof a.findAnswers)throw new Error(s);return a.findAnswers(n.query,e.queryLanguages,i)},p.prototype.searchForFacetValues=function(e,t,r,n){var i="function"==typeof this.client.searchForFacetValues,a="function"==typeof this.client.initIndex;if(!i&&!a&&"function"!=typeof this.client.search)throw new Error("search for facet values (searchable) was called, but this client does not have a function client.searchForFacetValues or client.initIndex(index).searchForFacetValues");var c=this.state.setQueryParameters(n||{}),o=c.isDisjunctiveFacet(e),u=f.getSearchForFacetQuery(e,t,r,c);this._currentNbQueries++;var h,l=this;return i?h=this.client.searchForFacetValues([{indexName:c.index,params:u}]):a?h=this.client.initIndex(c.index).searchForFacetValues(u):(delete u.facetName,h=this.client.search([{type:"facet",facet:e,indexName:c.index,params:u}]).then((function(e){return e.results[0]}))),this.emit("searchForFacetValues",{state:c,facet:e,query:t}),h.then((function(t){return l._currentNbQueries--,0===l._currentNbQueries&&l.emit("searchQueueEmpty"),(t=Array.isArray(t)?t[0]:t).facetHits.forEach((function(t){t.escapedValue=s(t.value),t.isRefined=o?c.isDisjunctiveFacetRefined(e,t.escapedValue):c.isFacetRefined(e,t.escapedValue)})),t}),(function(e){throw l._currentNbQueries--,0===l._currentNbQueries&&l.emit("searchQueueEmpty"),e}))},p.prototype.setQuery=function(e){return this._change({state:this.state.resetPage().setQuery(e),isPageReset:!0}),this},p.prototype.clearRefinements=function(e){return this._change({state:this.state.resetPage().clearRefinements(e),isPageReset:!0}),this},p.prototype.clearTags=function(){return this._change({state:this.state.resetPage().clearTags(),isPageReset:!0}),this},p.prototype.addDisjunctiveFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addDisjunctiveFacetRefinement(e,t),isPageReset:!0}),this},p.prototype.addDisjunctiveRefine=function(){return this.addDisjunctiveFacetRefinement.apply(this,arguments)},p.prototype.addHierarchicalFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addHierarchicalFacetRefinement(e,t),isPageReset:!0}),this},p.prototype.addNumericRefinement=function(e,t,r){return this._change({state:this.state.resetPage().addNumericRefinement(e,t,r),isPageReset:!0}),this},p.prototype.addFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addFacetRefinement(e,t),isPageReset:!0}),this},p.prototype.addRefine=function(){return this.addFacetRefinement.apply(this,arguments)},p.prototype.addFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().addExcludeRefinement(e,t),isPageReset:!0}),this},p.prototype.addExclude=function(){return this.addFacetExclusion.apply(this,arguments)},p.prototype.addTag=function(e){return this._change({state:this.state.resetPage().addTagRefinement(e),isPageReset:!0}),this},p.prototype.addFrequentlyBoughtTogether=function(e){return this._recommendChange({state:this.recommendState.addFrequentlyBoughtTogether(e)}),this},p.prototype.addRelatedProducts=function(e){return this._recommendChange({state:this.recommendState.addRelatedProducts(e)}),this},p.prototype.addTrendingItems=function(e){return this._recommendChange({state:this.recommendState.addTrendingItems(e)}),this},p.prototype.addTrendingFacets=function(e){return this._recommendChange({state:this.recommendState.addTrendingFacets(e)}),this},p.prototype.addLookingSimilar=function(e){return this._recommendChange({state:this.recommendState.addLookingSimilar(e)}),this},p.prototype.removeNumericRefinement=function(e,t,r){return this._change({state:this.state.resetPage().removeNumericRefinement(e,t,r),isPageReset:!0}),this},p.prototype.removeDisjunctiveFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().removeDisjunctiveFacetRefinement(e,t),isPageReset:!0}),this},p.prototype.removeDisjunctiveRefine=function(){return this.removeDisjunctiveFacetRefinement.apply(this,arguments)},p.prototype.removeHierarchicalFacetRefinement=function(e){return this._change({state:this.state.resetPage().removeHierarchicalFacetRefinement(e),isPageReset:!0}),this},p.prototype.removeFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().removeFacetRefinement(e,t),isPageReset:!0}),this},p.prototype.removeRefine=function(){return this.removeFacetRefinement.apply(this,arguments)},p.prototype.removeFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().removeExcludeRefinement(e,t),isPageReset:!0}),this},p.prototype.removeExclude=function(){return this.removeFacetExclusion.apply(this,arguments)},p.prototype.removeTag=function(e){return this._change({state:this.state.resetPage().removeTagRefinement(e),isPageReset:!0}),this},p.prototype.removeFrequentlyBoughtTogether=function(e){return this._recommendChange({state:this.recommendState.removeParams(e)}),this},p.prototype.removeRelatedProducts=function(e){return this._recommendChange({state:this.recommendState.removeParams(e)}),this},p.prototype.removeTrendingItems=function(e){return this._recommendChange({state:this.recommendState.removeParams(e)}),this},p.prototype.removeTrendingFacets=function(e){return this._recommendChange({state:this.recommendState.removeParams(e)}),this},p.prototype.removeLookingSimilar=function(e){return this._recommendChange({state:this.recommendState.removeParams(e)}),this},p.prototype.toggleFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().toggleExcludeFacetRefinement(e,t),isPageReset:!0}),this},p.prototype.toggleExclude=function(){return this.toggleFacetExclusion.apply(this,arguments)},p.prototype.toggleRefinement=function(e,t){return this.toggleFacetRefinement(e,t)},p.prototype.toggleFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().toggleFacetRefinement(e,t),isPageReset:!0}),this},p.prototype.toggleRefine=function(){return this.toggleFacetRefinement.apply(this,arguments)},p.prototype.toggleTag=function(e){return this._change({state:this.state.resetPage().toggleTagRefinement(e),isPageReset:!0}),this},p.prototype.nextPage=function(){var e=this.state.page||0;return this.setPage(e+1)},p.prototype.previousPage=function(){var e=this.state.page||0;return this.setPage(e-1)},p.prototype.setCurrentPage=g,p.prototype.setPage=g,p.prototype.setIndex=function(e){return this._change({state:this.state.resetPage().setIndex(e),isPageReset:!0}),this},p.prototype.setQueryParameter=function(e,t){return this._change({state:this.state.resetPage().setQueryParameter(e,t),isPageReset:!0}),this},p.prototype.setState=function(e){return this._change({state:l.make(e),isPageReset:!1}),this},p.prototype.overrideStateWithoutTriggeringChangeEvent=function(e){return this.state=new l(e),this},p.prototype.hasRefinements=function(e){return!!o(this.state.getNumericRefinements(e))||(this.state.isConjunctiveFacet(e)?this.state.isFacetRefined(e):this.state.isDisjunctiveFacet(e)?this.state.isDisjunctiveFacetRefined(e):!!this.state.isHierarchicalFacet(e)&&this.state.isHierarchicalFacetRefined(e))},p.prototype.isExcluded=function(e,t){return this.state.isExcludeRefined(e,t)},p.prototype.isDisjunctiveRefined=function(e,t){return this.state.isDisjunctiveFacetRefined(e,t)},p.prototype.hasTag=function(e){return this.state.isTagRefined(e)},p.prototype.isTagRefined=function(){return this.hasTagRefinements.apply(this,arguments)},p.prototype.getIndex=function(){return this.state.index},p.prototype.getCurrentPage=v,p.prototype.getPage=v,p.prototype.getTags=function(){return this.state.tagRefinements},p.prototype.getRefinements=function(e){var t=[];if(this.state.isConjunctiveFacet(e))this.state.getConjunctiveRefinements(e).forEach((function(e){t.push({value:e,type:"conjunctive"})})),this.state.getExcludeRefinements(e).forEach((function(e){t.push({value:e,type:"exclude"})}));else if(this.state.isDisjunctiveFacet(e)){this.state.getDisjunctiveRefinements(e).forEach((function(e){t.push({value:e,type:"disjunctive"})}))}var r=this.state.getNumericRefinements(e);return Object.keys(r).forEach((function(e){var n=r[e];t.push({value:n,operator:e,type:"numeric"})})),t},p.prototype.getNumericRefinement=function(e,t){return this.state.getNumericRefinement(e,t)},p.prototype.getHierarchicalFacetBreadcrumb=function(e){return this.state.getHierarchicalFacetBreadcrumb(e)},p.prototype._search=function(e){var t=this.state,r=[],n=[];e.onlyWithDerivedHelpers||(n=f._getQueries(t.index,t),r.push({state:t,queriesCount:n.length,helper:this}),this.emit("search",{state:t,results:this.lastResults}));var i=this.derivedHelpers.map((function(e){var n=e.getModifiedState(t),i=n.index?f._getQueries(n.index,n):[];return r.push({state:n,queriesCount:i.length,helper:e}),e.emit("search",{state:n,results:e.lastResults}),i})),s=Array.prototype.concat.apply(n,i),a=this._queryId++;if(this._currentNbQueries++,!s.length)return Promise.resolve({results:[]}).then(this._dispatchAlgoliaResponse.bind(this,r,a));try{this.client.search(s).then(this._dispatchAlgoliaResponse.bind(this,r,a)).catch(this._dispatchAlgoliaError.bind(this,a))}catch(c){this.emit("error",{error:c})}},p.prototype._recommend=function(){var e=this.state,t=this.recommendState,r=this.getIndex(),n=[{state:t,index:r,helper:this}];this.emit("fetch",{recommend:{state:t,results:this.lastRecommendResults}});var i=this.derivedHelpers.map((function(t){var r=t.getModifiedState(e).index;if(!r)return[];var i=t.getModifiedRecommendState(new h);return n.push({state:i,index:r,helper:t}),t.emit("fetch",{recommend:{state:i,results:t.lastRecommendResults}}),i._buildQueries(r)})),s=Array.prototype.concat.apply(this.recommendState._buildQueries(r),i);if(0!==s.length)if(s.length>0&&void 0===this.client.getRecommendations)console.warn("Please update algoliasearch/lite to the latest version in order to use recommendations widgets.");else{var a=this._recommendQueryId++;this._currentNbRecommendQueries++;try{this.client.getRecommendations(s).then(this._dispatchRecommendResponse.bind(this,a,n)).catch(this._dispatchRecommendError.bind(this,a))}catch(c){this.emit("error",{error:c})}}},p.prototype._dispatchAlgoliaResponse=function(e,t,r){var n=this;if(!(t<this._lastQueryIdReceived)){this._currentNbQueries-=t-this._lastQueryIdReceived,this._lastQueryIdReceived=t,0===this._currentNbQueries&&this.emit("searchQueueEmpty");var i=r.results.slice();e.forEach((function(e){var t=e.state,r=e.queriesCount,s=e.helper,a=i.splice(0,r);t.index?(s.lastResults=new m(t,a,n._searchResultsOptions),s.emit("result",{results:s.lastResults,state:t})):s.emit("result",{results:null,state:t})}))}},p.prototype._dispatchRecommendResponse=function(e,t,r){if(!(e<this._lastRecommendQueryIdReceived)){this._currentNbRecommendQueries-=e-this._lastRecommendQueryIdReceived,this._lastRecommendQueryIdReceived=e,0===this._currentNbRecommendQueries&&this.emit("recommendQueueEmpty");var n=r.results.slice();t.forEach((function(e){var t=e.state,r=e.helper;e.index?(r.lastRecommendResults=n,r.emit("recommend:result",{recommend:{results:r.lastRecommendResults,state:t}})):r.emit("recommend:result",{results:null,state:t})}))}},p.prototype._dispatchAlgoliaError=function(e,t){e<this._lastQueryIdReceived||(this._currentNbQueries-=e-this._lastQueryIdReceived,this._lastQueryIdReceived=e,this.emit("error",{error:t}),0===this._currentNbQueries&&this.emit("searchQueueEmpty"))},p.prototype._dispatchRecommendError=function(e,t){e<this._lastRecommendQueryIdReceived||(this._currentNbRecommendQueries-=e-this._lastRecommendQueryIdReceived,this._lastRecommendQueryIdReceived=e,this.emit("error",{error:t}),0===this._currentNbRecommendQueries&&this.emit("recommendQueueEmpty"))},p.prototype.containsRefinement=function(e,t,r,n){return e||0!==t.length||0!==r.length||0!==n.length},p.prototype._hasDisjunctiveRefinements=function(e){return this.state.disjunctiveRefinements[e]&&this.state.disjunctiveRefinements[e].length>0},p.prototype._change=function(e){var t=e.state,r=e.isPageReset;t!==this.state&&(this.state=t,this.emit("change",{state:this.state,results:this.lastResults,isPageReset:r}))},p.prototype._recommendChange=function(e){var t=e.state;t!==this.recommendState&&(this.recommendState=t,this.emit("recommend:change",{search:{results:this.lastResults,state:this.state},recommend:{results:this.lastRecommendResults,state:this.recommendState}}))},p.prototype.clearCache=function(){return this.client.clearCache&&this.client.clearCache(),this},p.prototype.setClient=function(e){return this.client===e||("function"==typeof e.addAlgoliaAgent&&e.addAlgoliaAgent("JS Helper ("+d+")"),this.client=e),this},p.prototype.getClient=function(){return this.client},p.prototype.derive=function(e,t){var r=new i(this,e,t);return this.derivedHelpers.push(r),r},p.prototype.detachDerivedHelper=function(e){var t=this.derivedHelpers.indexOf(e);if(-1===t)throw new Error("Derived helper already detached");this.derivedHelpers.splice(t,1)},p.prototype.hasPendingRequests=function(){return this._currentNbQueries>0},e.exports=p},78965:e=>{"use strict";e.exports=function(e){return Array.isArray(e)?e.filter(Boolean):[]}},29110:e=>{"use strict";e.exports=function(){return Array.prototype.slice.call(arguments).reduceRight((function(e,t){return Object.keys(Object(t)).forEach((function(r){void 0!==t[r]&&(void 0!==e[r]&&delete e[r],e[r]=t[r])})),e}),{})}},2909:e=>{"use strict";e.exports={escapeFacetValue:function(e){return"string"!=typeof e?e:String(e).replace(/^-/,"\\-")},unescapeFacetValue:function(e){return"string"!=typeof e?e:e.replace(/^\\-/,"-")}}},20849:e=>{"use strict";e.exports=function(e,t){if(Array.isArray(e))for(var r=0;r<e.length;r++)if(t(e[r]))return e[r]}},43917:e=>{"use strict";e.exports=function(e,t){if(!Array.isArray(e))return-1;for(var r=0;r<e.length;r++)if(t(e[r]))return r;return-1}},7577:(e,t,r)=>{"use strict";var n=r(20849);e.exports=function(e,t){var r=(t||[]).map((function(e){return e.split(":")}));return e.reduce((function(e,t){var i=t.split(":"),s=n(r,(function(e){return e[0]===i[0]}));return i.length>1||!s?(e[0].push(i[0]),e[1].push(i[1]),e):(e[0].push(s[0]),e[1].push(s[1]),e)}),[[],[]])}},73014:e=>{"use strict";e.exports=function(e,t){e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}},14843:e=>{"use strict";e.exports=function(e,t){return e.filter((function(r,n){return t.indexOf(r)>-1&&e.indexOf(r)===n}))}},44728:e=>{"use strict";function t(e){return"function"==typeof e||Array.isArray(e)||"[object Object]"===Object.prototype.toString.call(e)}function r(e,n){if(e===n)return e;for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)&&"__proto__"!==i&&"constructor"!==i){var s=n[i],a=e[i];void 0!==a&&void 0===s||(t(a)&&t(s)?e[i]=r(a,s):e[i]="object"==typeof(c=s)&&null!==c?r(Array.isArray(c)?[]:{},c):c)}var c;return e}e.exports=function(e){t(e)||(e={});for(var n=1,i=arguments.length;n<i;n++){var s=arguments[n];t(s)&&r(e,s)}return e}},40317:e=>{"use strict";e.exports=function(e){return e&&Object.keys(e).length>0}},21383:e=>{"use strict";e.exports=function(e,t){if(null===e)return{};var r,n,i={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}},38601:e=>{"use strict";function t(e,t){if(e!==t){var r=void 0!==e,n=null===e,i=void 0!==t,s=null===t;if(!s&&e>t||n&&i||!r)return 1;if(!n&&e<t||s&&r||!i)return-1}return 0}e.exports=function(e,r,n){if(!Array.isArray(e))return[];Array.isArray(n)||(n=[]);var i=e.map((function(e,t){return{criteria:r.map((function(t){return e[t]})),index:t,value:e}}));return i.sort((function(e,r){for(var i=-1;++i<e.criteria.length;){var s=t(e.criteria[i],r.criteria[i]);if(s)return i>=n.length?s:"desc"===n[i]?-s:s}return e.index-r.index})),i.map((function(e){return e.value}))}},17507:e=>{"use strict";e.exports=function e(t){if("number"==typeof t)return t;if("string"==typeof t)return parseFloat(t);if(Array.isArray(t))return t.map(e);throw new Error("The value should be a number, a parsable string or an array of those.")}},49228:(e,t,r)=>{"use strict";var n=r(44728);function i(e){return Object.keys(e).sort().reduce((function(t,r){return t[r]=e[r],t}),{})}var s={_getQueries:function(e,t){var r=[];return r.push({indexName:e,params:s._getHitsSearchParams(t)}),t.getRefinedDisjunctiveFacets().forEach((function(n){r.push({indexName:e,params:s._getDisjunctiveFacetSearchParams(t,n)})})),t.getRefinedHierarchicalFacets().forEach((function(n){var i=t.getHierarchicalFacetByName(n),a=t.getHierarchicalRefinement(n),c=t._getHierarchicalFacetSeparator(i);if(a.length>0&&a[0].split(c).length>1){var o=a[0].split(c).slice(0,-1).reduce((function(e,t,r){return e.concat({attribute:i.attributes[r],value:0===r?t:[e[e.length-1].value,t].join(c)})}),[]);o.forEach((function(n,a){var c=s._getDisjunctiveFacetSearchParams(t,n.attribute,0===a);function u(e){return i.attributes.some((function(t){return t===e.split(":")[0]}))}var h=(c.facetFilters||[]).reduce((function(e,t){if(Array.isArray(t)){var r=t.filter((function(e){return!u(e)}));r.length>0&&e.push(r)}return"string"!=typeof t||u(t)||e.push(t),e}),[]),f=o[a-1];c.facetFilters=a>0?h.concat(f.attribute+":"+f.value):h.length>0?h:void 0,r.push({indexName:e,params:c})}))}})),r},_getHitsSearchParams:function(e){var t=e.facets.concat(e.disjunctiveFacets).concat(s._getHitsHierarchicalFacetsAttributes(e)).sort(),r=s._getFacetFilters(e),a=s._getNumericFilters(e),c=s._getTagFilters(e),o={facets:t.indexOf("*")>-1?["*"]:t,tagFilters:c};return r.length>0&&(o.facetFilters=r),a.length>0&&(o.numericFilters=a),i(n({},e.getQueryParams(),o))},_getDisjunctiveFacetSearchParams:function(e,t,r){var a=s._getFacetFilters(e,t,r),c=s._getNumericFilters(e,t),o=s._getTagFilters(e),u={hitsPerPage:0,page:0,analytics:!1,clickAnalytics:!1};o.length>0&&(u.tagFilters=o);var h=e.getHierarchicalFacetByName(t);return u.facets=h?s._getDisjunctiveHierarchicalFacetAttribute(e,h,r):t,c.length>0&&(u.numericFilters=c),a.length>0&&(u.facetFilters=a),i(n({},e.getQueryParams(),u))},_getNumericFilters:function(e,t){if(e.numericFilters)return e.numericFilters;var r=[];return Object.keys(e.numericRefinements).forEach((function(n){var i=e.numericRefinements[n]||{};Object.keys(i).forEach((function(e){var s=i[e]||[];t!==n&&s.forEach((function(t){if(Array.isArray(t)){var i=t.map((function(t){return n+e+t}));r.push(i)}else r.push(n+e+t)}))}))})),r},_getTagFilters:function(e){return e.tagFilters?e.tagFilters:e.tagRefinements.join(",")},_getFacetFilters:function(e,t,r){var n=[],i=e.facetsRefinements||{};Object.keys(i).sort().forEach((function(e){(i[e]||[]).slice().sort().forEach((function(t){n.push(e+":"+t)}))}));var s=e.facetsExcludes||{};Object.keys(s).sort().forEach((function(e){(s[e]||[]).sort().forEach((function(t){n.push(e+":-"+t)}))}));var a=e.disjunctiveFacetsRefinements||{};Object.keys(a).sort().forEach((function(e){var r=a[e]||[];if(e!==t&&r&&0!==r.length){var i=[];r.slice().sort().forEach((function(t){i.push(e+":"+t)})),n.push(i)}}));var c=e.hierarchicalFacetsRefinements||{};return Object.keys(c).sort().forEach((function(i){var s=(c[i]||[])[0];if(void 0!==s){var a,o,u=e.getHierarchicalFacetByName(i),h=e._getHierarchicalFacetSeparator(u),f=e._getHierarchicalRootPath(u);if(t===i){if(-1===s.indexOf(h)||!f&&!0===r||f&&f.split(h).length===s.split(h).length)return;f?(o=f.split(h).length-1,s=f):(o=s.split(h).length-2,s=s.slice(0,s.lastIndexOf(h))),a=u.attributes[o]}else o=s.split(h).length-1,a=u.attributes[o];a&&n.push([a+":"+s])}})),n},_getHitsHierarchicalFacetsAttributes:function(e){return e.hierarchicalFacets.reduce((function(t,r){var n=e.getHierarchicalRefinement(r.name)[0];if(!n)return t.push(r.attributes[0]),t;var i=e._getHierarchicalFacetSeparator(r),s=n.split(i).length,a=r.attributes.slice(0,s+1);return t.concat(a)}),[])},_getDisjunctiveHierarchicalFacetAttribute:function(e,t,r){var n=e._getHierarchicalFacetSeparator(t);if(!0===r){var i=e._getHierarchicalRootPath(t),s=0;return i&&(s=i.split(n).length),[t.attributes[s]]}var a=(e.getHierarchicalRefinement(t.name)[0]||"").split(n).length-1;return t.attributes.slice(0,a+1)},getSearchForFacetQuery:function(e,t,r,a){var c=a.isDisjunctiveFacet(e)?a.clearRefinements(e):a,o={facetQuery:t,facetName:e};return"number"==typeof r&&(o.maxFacetHits=r),i(n({},s._getHitsSearchParams(c),o))}};e.exports=s},72208:e=>{"use strict";e.exports=function(e){return null!==e&&/^[a-zA-Z0-9_-]{1,64}$/.test(e)}},16938:e=>{"use strict";e.exports="3.19.0"},83643:function(e){e.exports=function(){"use strict";function e(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function t(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}function r(r){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?t(Object(i),!0).forEach((function(t){e(r,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(i)):t(Object(i)).forEach((function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(i,e))}))}return r}function n(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var r=[],n=!0,i=!1,s=void 0;try{for(var a,c=e[Symbol.iterator]();!(n=(a=c.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){i=!0,s=e}finally{try{n||null==c.return||c.return()}finally{if(i)throw s}}return r}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function s(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function a(e){var t,r="algoliasearch-client-js-".concat(e.key),n=function(){return void 0===t&&(t=e.localStorage||window.localStorage),t},s=function(){return JSON.parse(n().getItem(r)||"{}")},a=function(e){n().setItem(r,JSON.stringify(e))},c=function(){var t=e.timeToLive?1e3*e.timeToLive:null,r=s(),n=Object.fromEntries(Object.entries(r).filter((function(e){return void 0!==i(e,2)[1].timestamp})));if(a(n),t){var c=Object.fromEntries(Object.entries(n).filter((function(e){var r=i(e,2)[1],n=(new Date).getTime();return!(r.timestamp+t<n)})));a(c)}};return{get:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return Promise.resolve().then((function(){c();var t=JSON.stringify(e);return s()[t]})).then((function(e){return Promise.all([e?e.value:t(),void 0!==e])})).then((function(e){var t=i(e,2),n=t[0],s=t[1];return Promise.all([n,s||r.miss(n)])})).then((function(e){return i(e,1)[0]}))},set:function(e,t){return Promise.resolve().then((function(){var i=s();return i[JSON.stringify(e)]={timestamp:(new Date).getTime(),value:t},n().setItem(r,JSON.stringify(i)),t}))},delete:function(e){return Promise.resolve().then((function(){var t=s();delete t[JSON.stringify(e)],n().setItem(r,JSON.stringify(t))}))},clear:function(){return Promise.resolve().then((function(){n().removeItem(r)}))}}}function c(e){var t=s(e.caches),r=t.shift();return void 0===r?{get:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return t().then((function(e){return Promise.all([e,r.miss(e)])})).then((function(e){return i(e,1)[0]}))},set:function(e,t){return Promise.resolve(t)},delete:function(e){return Promise.resolve()},clear:function(){return Promise.resolve()}}:{get:function(e,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return r.get(e,n,i).catch((function(){return c({caches:t}).get(e,n,i)}))},set:function(e,n){return r.set(e,n).catch((function(){return c({caches:t}).set(e,n)}))},delete:function(e){return r.delete(e).catch((function(){return c({caches:t}).delete(e)}))},clear:function(){return r.clear().catch((function(){return c({caches:t}).clear()}))}}}function o(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{serializable:!0},t={};return{get:function(r,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},s=JSON.stringify(r);if(s in t)return Promise.resolve(e.serializable?JSON.parse(t[s]):t[s]);var a=n(),c=i&&i.miss||function(){return Promise.resolve()};return a.then((function(e){return c(e)})).then((function(){return a}))},set:function(r,n){return t[JSON.stringify(r)]=e.serializable?JSON.stringify(n):n,Promise.resolve(n)},delete:function(e){return delete t[JSON.stringify(e)],Promise.resolve()},clear:function(){return t={},Promise.resolve()}}}function u(e){for(var t=e.length-1;t>0;t--){var r=Math.floor(Math.random()*(t+1)),n=e[t];e[t]=e[r],e[r]=n}return e}function h(e,t){return t?(Object.keys(t).forEach((function(r){e[r]=t[r](e)})),e):e}function f(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];var i=0;return e.replace(/%s/g,(function(){return encodeURIComponent(r[i++])}))}var l={WithinQueryParameters:0,WithinHeaders:1};function m(e,t){var r=e||{},n=r.data||{};return Object.keys(r).forEach((function(e){-1===["timeout","headers","queryParameters","data","cacheable"].indexOf(e)&&(n[e]=r[e])})),{data:Object.entries(n).length>0?n:void 0,timeout:r.timeout||t,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}var d={Read:1,Write:2,Any:3},p=1,g=2,v=3;function y(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;return r(r({},e),{},{status:t,lastUpdate:Date.now()})}function R(e){return"string"==typeof e?{protocol:"https",url:e,accept:d.Any}:{protocol:e.protocol||"https",url:e.url,accept:e.accept||d.Any}}var F="GET",b="POST";function j(e,t){return Promise.all(t.map((function(t){return e.get(t,(function(){return Promise.resolve(y(t))}))}))).then((function(e){var r=e.filter((function(e){return function(e){return e.status===p||Date.now()-e.lastUpdate>12e4}(e)})),n=e.filter((function(e){return function(e){return e.status===v&&Date.now()-e.lastUpdate<=12e4}(e)})),i=[].concat(s(r),s(n));return{getTimeout:function(e,t){return(0===n.length&&0===e?1:n.length+3+e)*t},statelessHosts:i.length>0?i.map((function(e){return R(e)})):t}}))}function P(e,t,n,i){var a=[],c=function(e,t){if(e.method!==F&&(void 0!==e.data||void 0!==t.data)){var n=Array.isArray(e.data)?e.data:r(r({},e.data),t.data);return JSON.stringify(n)}}(n,i),o=function(e,t){var n=r(r({},e.headers),t.headers),i={};return Object.keys(n).forEach((function(e){var t=n[e];i[e.toLowerCase()]=t})),i}(e,i),u=n.method,h=n.method!==F?{}:r(r({},n.data),i.data),f=r(r(r({"x-algolia-agent":e.userAgent.value},e.queryParameters),h),i.queryParameters),l=0,m=function t(r,s){var h=r.pop();if(void 0===h)throw{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:O(a)};var m={data:c,headers:o,method:u,url:x(h,n.path,f),connectTimeout:s(l,e.timeouts.connect),responseTimeout:s(l,i.timeout)},d=function(e){var t={request:m,response:e,host:h,triesLeft:r.length};return a.push(t),t},p={onSuccess:function(e){return function(e){try{return JSON.parse(e.content)}catch(t){throw function(e,t){return{name:"DeserializationError",message:e,response:t}}(t.message,e)}}(e)},onRetry:function(n){var i=d(n);return n.isTimedOut&&l++,Promise.all([e.logger.info("Retryable failure",w(i)),e.hostsCache.set(h,y(h,n.isTimedOut?v:g))]).then((function(){return t(r,s)}))},onFail:function(e){throw d(e),function(e,t){var r=e.content,n=e.status,i=r;try{i=JSON.parse(r).message}catch(e){}return function(e,t,r){return{name:"ApiError",message:e,status:t,transporterStackTrace:r}}(i,n,t)}(e,O(a))}};return e.requester.send(m).then((function(e){return function(e,t){return function(e){var t=e.status;return e.isTimedOut||function(e){var t=e.isTimedOut,r=e.status;return!t&&!~~r}(e)||2!=~~(t/100)&&4!=~~(t/100)}(e)?t.onRetry(e):2==~~(e.status/100)?t.onSuccess(e):t.onFail(e)}(e,p)}))};return j(e.hostsCache,t).then((function(e){return m(s(e.statelessHosts).reverse(),e.getTimeout)}))}function _(e){var t={value:"Algolia for JavaScript (".concat(e,")"),add:function(e){var r="; ".concat(e.segment).concat(void 0!==e.version?" (".concat(e.version,")"):"");return-1===t.value.indexOf(r)&&(t.value="".concat(t.value).concat(r)),t}};return t}function x(e,t,r){var n=E(r),i="".concat(e.protocol,"://").concat(e.url,"/").concat("/"===t.charAt(0)?t.substr(1):t);return n.length&&(i+="?".concat(n)),i}function E(e){return Object.keys(e).map((function(t){return f("%s=%s",t,(r=e[t],"[object Object]"===Object.prototype.toString.call(r)||"[object Array]"===Object.prototype.toString.call(r)?JSON.stringify(e[t]):e[t]));var r})).join("&")}function O(e){return e.map((function(e){return w(e)}))}function w(e){var t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return r(r({},e),{},{request:r(r({},e.request),{},{headers:r(r({},e.request.headers),t)})})}var S=function(e){var t=e.appId,n=function(e,t,r){var n={"x-algolia-api-key":r,"x-algolia-application-id":t};return{headers:function(){return e===l.WithinHeaders?n:{}},queryParameters:function(){return e===l.WithinQueryParameters?n:{}}}}(void 0!==e.authMode?e.authMode:l.WithinHeaders,t,e.apiKey),s=function(e){var t=e.hostsCache,r=e.logger,n=e.requester,s=e.requestsCache,a=e.responsesCache,c=e.timeouts,o=e.userAgent,u=e.hosts,h=e.queryParameters,f={hostsCache:t,logger:r,requester:n,requestsCache:s,responsesCache:a,timeouts:c,userAgent:o,headers:e.headers,queryParameters:h,hosts:u.map((function(e){return R(e)})),read:function(e,t){var r=m(t,f.timeouts.read),n=function(){return P(f,f.hosts.filter((function(e){return!!(e.accept&d.Read)})),e,r)};if(!0!==(void 0!==r.cacheable?r.cacheable:e.cacheable))return n();var s={request:e,mappedRequestOptions:r,transporter:{queryParameters:f.queryParameters,headers:f.headers}};return f.responsesCache.get(s,(function(){return f.requestsCache.get(s,(function(){return f.requestsCache.set(s,n()).then((function(e){return Promise.all([f.requestsCache.delete(s),e])}),(function(e){return Promise.all([f.requestsCache.delete(s),Promise.reject(e)])})).then((function(e){var t=i(e,2);return t[0],t[1]}))}))}),{miss:function(e){return f.responsesCache.set(s,e)}})},write:function(e,t){return P(f,f.hosts.filter((function(e){return!!(e.accept&d.Write)})),e,m(t,f.timeouts.write))}};return f}(r(r({hosts:[{url:"".concat(t,"-dsn.algolia.net"),accept:d.Read},{url:"".concat(t,".algolia.net"),accept:d.Write}].concat(u([{url:"".concat(t,"-1.algolianet.com")},{url:"".concat(t,"-2.algolianet.com")},{url:"".concat(t,"-3.algolianet.com")}]))},e),{},{headers:r(r(r({},n.headers()),{"content-type":"application/x-www-form-urlencoded"}),e.headers),queryParameters:r(r({},n.queryParameters()),e.queryParameters)}));return h({transporter:s,appId:t,addAlgoliaAgent:function(e,t){s.userAgent.add({segment:e,version:t})},clearCache:function(){return Promise.all([s.requestsCache.clear(),s.responsesCache.clear()]).then((function(){}))}},e.methods)},A=function(e){return function(t,r){return t.method===F?e.transporter.read(t,r):e.transporter.write(t,r)}},N=function(e){return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return h({transporter:e.transporter,appId:e.appId,indexName:t},r.methods)}},T=function(e){return function(t,n){var i=t.map((function(e){return r(r({},e),{},{params:E(e.params||{})})}));return e.transporter.read({method:b,path:"1/indexes/*/queries",data:{requests:i},cacheable:!0},n)}},H=function(e){return function(t,i){return Promise.all(t.map((function(t){var s=t.params,a=s.facetName,c=s.facetQuery,o=n(s,["facetName","facetQuery"]);return N(e)(t.indexName,{methods:{searchForFacetValues:I}}).searchForFacetValues(a,c,r(r({},i),o))})))}},Q=function(e){return function(t,r,n){return e.transporter.read({method:b,path:f("1/answers/%s/prediction",e.indexName),data:{query:t,queryLanguages:r},cacheable:!0},n)}},C=function(e){return function(t,r){return e.transporter.read({method:b,path:f("1/indexes/%s/query",e.indexName),data:{query:t},cacheable:!0},r)}},I=function(e){return function(t,r,n){return e.transporter.read({method:b,path:f("1/indexes/%s/facets/%s/query",e.indexName,t),data:{facetQuery:r},cacheable:!0},n)}},k=1,D=2,q=3,L=function(e){return function(t,n){var i=t.map((function(e){return r(r({},e),{},{threshold:e.threshold||0})}));return e.transporter.read({method:b,path:"1/indexes/*/recommendations",data:{requests:i},cacheable:!0},n)}};function V(e,t,n){var i,s={appId:e,apiKey:t,timeouts:{connect:1,read:2,write:30},requester:{send:function(e){return new Promise((function(t){var r=new XMLHttpRequest;r.open(e.method,e.url,!0),Object.keys(e.headers).forEach((function(t){return r.setRequestHeader(t,e.headers[t])}));var n,i=function(e,n){return setTimeout((function(){r.abort(),t({status:0,content:n,isTimedOut:!0})}),1e3*e)},s=i(e.connectTimeout,"Connection timeout");r.onreadystatechange=function(){r.readyState>r.OPENED&&void 0===n&&(clearTimeout(s),n=i(e.responseTimeout,"Socket timeout"))},r.onerror=function(){0===r.status&&(clearTimeout(s),clearTimeout(n),t({content:r.responseText||"Network request failed",status:r.status,isTimedOut:!1}))},r.onload=function(){clearTimeout(s),clearTimeout(n),t({content:r.responseText,status:r.status,isTimedOut:!1})},r.send(e.data)}))}},logger:(i=q,{debug:function(e,t){return k>=i&&console.debug(e,t),Promise.resolve()},info:function(e,t){return D>=i&&console.info(e,t),Promise.resolve()},error:function(e,t){return console.error(e,t),Promise.resolve()}}),responsesCache:o(),requestsCache:o({serializable:!1}),hostsCache:c({caches:[a({key:"".concat("4.23.3","-").concat(e)}),o()]}),userAgent:_("4.23.3").add({segment:"Browser",version:"lite"}),authMode:l.WithinQueryParameters};return S(r(r(r({},s),n),{},{methods:{search:T,searchForFacetValues:H,multipleQueries:T,multipleSearchForFacetValues:H,customRequest:A,initIndex:function(e){return function(t){return N(e)(t,{methods:{search:C,searchForFacetValues:I,findAnswers:Q}})}},getRecommendations:L}}))}return V.version="4.23.3",V}()},53465:(e,t,r)=>{"use strict";r.d(t,{W:()=>u});var n=r(96540),i=r(44586);const s=["zero","one","two","few","many","other"];function a(e){return s.filter((t=>e.includes(t)))}const c={locale:"en",pluralForms:a(["one","other"]),select:e=>1===e?"one":"other"};function o(){const{i18n:{currentLocale:e}}=(0,i.A)();return(0,n.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:a(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`),c}}),[e])}function u(){const e=o();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 i=r.select(t),s=r.pluralForms.indexOf(i);return n[Math.min(s,n.length-1)]}(r,t,e)}}},74604:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>w});var n=r(96540),i=r(34164),s=r(74103),a=r.n(s),c=r(83643),o=r.n(c),u=r(38193),h=r(5260),f=r(28774),l=r(44070),m=r(53465),d=r(24255),p=r(89532),g=r(45500),v=r(20481),y=r(21312),R=r(44586),F=r(38126),b=r(51062),j=r(49641),P=r(51107);const _={searchQueryInput:"searchQueryInput_u2C7",searchVersionInput:"searchVersionInput_m0Ui",searchResultsColumn:"searchResultsColumn_JPFH",algoliaLogo:"algoliaLogo_rT1R",algoliaLogoPathFill:"algoliaLogoPathFill_WdUC",searchResultItem:"searchResultItem_Tv2o",searchResultItemHeading:"searchResultItemHeading_KbCB",searchResultItemPath:"searchResultItemPath_lhe1",searchResultItemSummary:"searchResultItemSummary_AEaO",searchQueryColumn:"searchQueryColumn_RTkw",searchVersionColumn:"searchVersionColumn_ypXd",searchLogoColumn:"searchLogoColumn_rJIA",loadingSpinner:"loadingSpinner_XVxU","loading-spin":"loading-spin_vzvp",loader:"loader_vvXV"};var x=r(74848);function E(e){let{docsSearchVersionsHelpers:t}=e;const r=Object.entries(t.allDocsData).filter((e=>{let[,t]=e;return t.versions.length>1}));return(0,x.jsx)("div",{className:(0,i.A)("col","col--3","padding-left--none",_.searchVersionColumn),children:r.map((e=>{let[n,i]=e;const s=r.length>1?`${n}: `:"";return(0,x.jsx)("select",{onChange:e=>t.setSearchVersion(n,e.target.value),defaultValue:t.searchVersions[n],className:_.searchVersionInput,children:i.versions.map(((e,t)=>(0,x.jsx)("option",{label:`${s}${e.label}`,value:e.name},t)))},n)}))})}function O(){const{i18n:{currentLocale:e}}=(0,R.A)(),{algolia:{appId:t,apiKey:r,indexName:s}}=(0,F.c)(),c=(0,b.C)(),g=function(){const{selectMessage:e}=(0,m.W)();return t=>e(t,(0,y.T)({id:"theme.SearchPage.documentsFound.plurals",description:'Pluralized label for "{count} documents found". 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 document found|{count} documents found"},{count:t}))}(),O=function(){const e=(0,l.Gy)(),[t,r]=(0,n.useState)((()=>Object.entries(e).reduce(((e,t)=>{let[r,n]=t;return{...e,[r]:n.versions[0].name}}),{}))),i=Object.values(e).some((e=>e.versions.length>1));return{allDocsData:e,versioningEnabled:i,searchVersions:t,setSearchVersion:(e,t)=>r((r=>({...r,[e]:t})))}}(),[w,S]=(0,d.b)(),A={items:[],query:null,totalResults:null,totalPages:null,lastPage:null,hasMore:null,loading:null},[N,T]=(0,n.useReducer)(((e,t)=>{switch(t.type){case"reset":return A;case"loading":return{...e,loading:!0};case"update":return w!==t.value.query?e:{...t.value,items:0===t.value.lastPage?t.value.items:e.items.concat(t.value.items)};case"advance":{const t=e.totalPages>e.lastPage+1;return{...e,lastPage:t?e.lastPage+1:e.lastPage,hasMore:t}}default:return e}}),A),H=o()(t,r),Q=a()(H,s,{hitsPerPage:15,advancedSyntax:!0,disjunctiveFacets:["language","docusaurus_tag"]});Q.on("result",(e=>{let{results:{query:t,hits:r,page:n,nbHits:i,nbPages:s}}=e;if(""===t||!Array.isArray(r))return void T({type:"reset"});const a=e=>e.replace(/algolia-docsearch-suggestion--highlight/g,"search-result-match"),o=r.map((e=>{let{url:t,_highlightResult:{hierarchy:r},_snippetResult:n={}}=e;const i=Object.keys(r).map((e=>a(r[e].value)));return{title:i.pop(),url:c(t),summary:n.content?`${a(n.content.value)}...`:"",breadcrumbs:i}}));T({type:"update",value:{items:o,query:t,totalResults:i,totalPages:s,lastPage:n,hasMore:s>n+1,loading:!1}})}));const[C,I]=(0,n.useState)(null),k=(0,n.useRef)(0),D=(0,n.useRef)(u.A.canUseIntersectionObserver&&new IntersectionObserver((e=>{const{isIntersecting:t,boundingClientRect:{y:r}}=e[0];t&&k.current>r&&T({type:"advance"}),k.current=r}),{threshold:1})),q=()=>w?(0,y.T)({id:"theme.SearchPage.existingResultsTitle",message:'Search results for "{query}"',description:"The search page title for non-empty query"},{query:w}):(0,y.T)({id:"theme.SearchPage.emptyResultsTitle",message:"Search the documentation",description:"The search page title for empty query"}),L=(0,p._q)((function(t){void 0===t&&(t=0),Q.addDisjunctiveFacetRefinement("docusaurus_tag","default"),Q.addDisjunctiveFacetRefinement("language",e),Object.entries(O.searchVersions).forEach((e=>{let[t,r]=e;Q.addDisjunctiveFacetRefinement("docusaurus_tag",`docs-${t}-${r}`)})),Q.setQuery(w).setPage(t).search()}));return(0,n.useEffect)((()=>{if(!C)return;const e=D.current;return e?(e.observe(C),()=>e.unobserve(C)):()=>!0}),[C]),(0,n.useEffect)((()=>{T({type:"reset"}),w&&(T({type:"loading"}),setTimeout((()=>{L()}),300))}),[w,O.searchVersions,L]),(0,n.useEffect)((()=>{N.lastPage&&0!==N.lastPage&&L(N.lastPage)}),[L,N.lastPage]),(0,x.jsxs)(j.A,{children:[(0,x.jsxs)(h.A,{children:[(0,x.jsx)("title",{children:(0,v.s)(q())}),(0,x.jsx)("meta",{property:"robots",content:"noindex, follow"})]}),(0,x.jsxs)("div",{className:"container margin-vert--lg",children:[(0,x.jsx)(P.A,{as:"h1",children:q()}),(0,x.jsxs)("form",{className:"row",onSubmit:e=>e.preventDefault(),children:[(0,x.jsx)("div",{className:(0,i.A)("col",_.searchQueryColumn,{"col--9":O.versioningEnabled,"col--12":!O.versioningEnabled}),children:(0,x.jsx)("input",{type:"search",name:"q",className:_.searchQueryInput,placeholder:(0,y.T)({id:"theme.SearchPage.inputPlaceholder",message:"Type your search here",description:"The placeholder for search page input"}),"aria-label":(0,y.T)({id:"theme.SearchPage.inputLabel",message:"Search",description:"The ARIA label for search page input"}),onChange:e=>S(e.target.value),value:w,autoComplete:"off",autoFocus:!0})}),O.versioningEnabled&&(0,x.jsx)(E,{docsSearchVersionsHelpers:O})]}),(0,x.jsxs)("div",{className:"row",children:[(0,x.jsx)("div",{className:(0,i.A)("col","col--8",_.searchResultsColumn),children:!!N.totalResults&&g(N.totalResults)}),(0,x.jsx)("div",{className:(0,i.A)("col","col--4","text--right",_.searchLogoColumn),children:(0,x.jsx)(f.A,{to:"https://www.algolia.com/","aria-label":(0,y.T)({id:"theme.SearchPage.algoliaLabel",message:"Search by Algolia",description:"The ARIA label for Algolia mention"}),children:(0,x.jsx)("svg",{viewBox:"0 0 168 24",className:_.algoliaLogo,children:(0,x.jsxs)("g",{fill:"none",children:[(0,x.jsx)("path",{className:_.algoliaLogoPathFill,d:"M120.925 18.804c-4.386.02-4.386-3.54-4.386-4.106l-.007-13.336 2.675-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-10.846-2.18c.821 0 1.43-.047 1.855-.129v-2.719a6.334 6.334 0 0 0-1.574-.199 5.7 5.7 0 0 0-.897.069 2.699 2.699 0 0 0-.814.24c-.24.116-.439.28-.582.491-.15.212-.219.335-.219.656 0 .628.219.991.616 1.23s.938.362 1.615.362zm-.233-9.7c.883 0 1.629.109 2.231.328.602.218 1.088.525 1.444.915.363.396.609.922.76 1.483.157.56.232 1.175.232 1.85v6.874a32.5 32.5 0 0 1-1.868.314c-.834.123-1.772.185-2.813.185-.69 0-1.327-.069-1.895-.198a4.001 4.001 0 0 1-1.471-.636 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.803 0-.656.13-1.073.384-1.525a3.24 3.24 0 0 1 1.047-1.106c.445-.287.95-.492 1.532-.615a8.8 8.8 0 0 1 1.82-.185 8.404 8.404 0 0 1 1.972.24v-.438c0-.307-.035-.6-.11-.874a1.88 1.88 0 0 0-.384-.73 1.784 1.784 0 0 0-.724-.493 3.164 3.164 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.735 7.735 0 0 0-1.26.307l-.321-2.192c.335-.117.834-.233 1.478-.349a10.98 10.98 0 0 1 2.073-.178zm52.842 9.626c.822 0 1.43-.048 1.854-.13V13.7a6.347 6.347 0 0 0-1.574-.199c-.294 0-.595.021-.896.069a2.7 2.7 0 0 0-.814.24 1.46 1.46 0 0 0-.582.491c-.15.212-.218.335-.218.656 0 .628.218.991.615 1.23.404.245.938.362 1.615.362zm-.226-9.694c.883 0 1.629.108 2.231.327.602.219 1.088.526 1.444.915.355.39.609.923.759 1.483a6.8 6.8 0 0 1 .233 1.852v6.873c-.41.088-1.034.19-1.868.314-.834.123-1.772.184-2.813.184-.69 0-1.327-.068-1.895-.198a4.001 4.001 0 0 1-1.471-.635 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.804 0-.656.13-1.073.384-1.524.26-.45.608-.82 1.047-1.107.445-.286.95-.491 1.532-.614a8.803 8.803 0 0 1 2.751-.13c.329.034.671.096 1.04.185v-.437a3.3 3.3 0 0 0-.109-.875 1.873 1.873 0 0 0-.384-.731 1.784 1.784 0 0 0-.724-.492 3.165 3.165 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.75 7.75 0 0 0-1.26.307l-.321-2.193c.335-.116.834-.232 1.478-.348a11.633 11.633 0 0 1 2.073-.177zm-8.034-1.271a1.626 1.626 0 0 1-1.628-1.62c0-.895.725-1.62 1.628-1.62.904 0 1.63.725 1.63 1.62 0 .895-.733 1.62-1.63 1.62zm1.348 13.22h-2.689V7.27l2.69-.423v11.956zm-4.714 0c-4.386.02-4.386-3.54-4.386-4.107l-.008-13.336 2.676-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-8.698-5.903c0-1.156-.253-2.119-.746-2.788-.493-.677-1.183-1.01-2.067-1.01-.882 0-1.574.333-2.065 1.01-.493.676-.733 1.632-.733 2.788 0 1.168.246 1.953.74 2.63.492.683 1.183 1.018 2.066 1.018.882 0 1.574-.342 2.067-1.019.492-.683.738-1.46.738-2.63zm2.737-.007c0 .902-.13 1.584-.397 2.33a5.52 5.52 0 0 1-1.128 1.906 4.986 4.986 0 0 1-1.752 1.223c-.685.286-1.739.45-2.265.45-.528-.006-1.574-.157-2.252-.45a5.096 5.096 0 0 1-1.744-1.223c-.487-.527-.863-1.162-1.137-1.906a6.345 6.345 0 0 1-.41-2.33c0-.902.123-1.77.397-2.508a5.554 5.554 0 0 1 1.15-1.892 5.133 5.133 0 0 1 1.75-1.216c.679-.287 1.425-.423 2.232-.423.808 0 1.553.142 2.237.423a4.88 4.88 0 0 1 1.753 1.216 5.644 5.644 0 0 1 1.135 1.892c.287.738.431 1.606.431 2.508zm-20.138 0c0 1.12.246 2.363.738 2.882.493.52 1.13.78 1.91.78.424 0 .828-.062 1.204-.178.377-.116.677-.253.917-.417V9.33a10.476 10.476 0 0 0-1.766-.226c-.971-.028-1.71.37-2.23 1.004-.513.636-.773 1.75-.773 2.788zm7.438 5.274c0 1.824-.466 3.156-1.404 4.004-.936.846-2.367 1.27-4.296 1.27-.705 0-2.17-.137-3.34-.396l.431-2.118c.98.205 2.272.26 2.95.26 1.074 0 1.84-.219 2.299-.656.459-.437.684-1.086.684-1.948v-.437a8.07 8.07 0 0 1-1.047.397c-.43.13-.93.198-1.492.198-.739 0-1.41-.116-2.018-.349a4.206 4.206 0 0 1-1.567-1.025c-.431-.45-.774-1.017-1.013-1.694-.24-.677-.363-1.885-.363-2.773 0-.834.13-1.88.384-2.577.26-.696.629-1.298 1.129-1.796.493-.498 1.095-.881 1.8-1.162a6.605 6.605 0 0 1 2.428-.457c.87 0 1.67.109 2.45.24.78.129 1.444.265 1.985.415V18.17zM6.972 6.677v1.627c-.712-.446-1.52-.67-2.425-.67-.585 0-1.045.13-1.38.391a1.24 1.24 0 0 0-.502 1.03c0 .425.164.765.494 1.02.33.256.835.532 1.516.83.447.192.795.356 1.045.495.25.138.537.332.862.582.324.25.563.548.718.894.154.345.23.741.23 1.188 0 .947-.334 1.691-1.004 2.234-.67.542-1.537.814-2.601.814-1.18 0-2.16-.229-2.936-.686v-1.708c.84.628 1.814.942 2.92.942.585 0 1.048-.136 1.388-.407.34-.271.51-.646.51-1.125 0-.287-.1-.55-.302-.79-.203-.24-.42-.42-.655-.542-.234-.123-.585-.29-1.053-.503a61.27 61.27 0 0 1-.582-.271 13.67 13.67 0 0 1-.55-.287 4.275 4.275 0 0 1-.567-.351 6.92 6.92 0 0 1-.455-.4c-.18-.17-.31-.34-.39-.51-.08-.17-.155-.37-.224-.598a2.553 2.553 0 0 1-.104-.742c0-.915.333-1.638.998-2.17.664-.532 1.523-.798 2.576-.798.968 0 1.793.17 2.473.51zm7.468 5.696v-.287c-.022-.607-.187-1.088-.495-1.444-.309-.357-.75-.535-1.324-.535-.532 0-.99.194-1.373.583-.382.388-.622.949-.717 1.683h3.909zm1.005 2.792v1.404c-.596.34-1.383.51-2.362.51-1.255 0-2.255-.377-3-1.132-.744-.755-1.116-1.744-1.116-2.968 0-1.297.34-2.316 1.021-3.055.68-.74 1.548-1.11 2.6-1.11 1.033 0 1.852.323 2.458.966.606.644.91 1.572.91 2.784 0 .33-.033.676-.096 1.038h-5.314c.107.702.405 1.239.894 1.611.49.372 1.106.558 1.85.558.862 0 1.58-.202 2.155-.606zm6.605-1.77h-1.212c-.596 0-1.045.116-1.349.35-.303.234-.454.532-.454.894 0 .372.117.664.35.877.235.213.575.32 1.022.32.51 0 .912-.142 1.204-.424.293-.281.44-.651.44-1.108v-.91zm-4.068-2.554V9.325c.627-.361 1.457-.542 2.489-.542 2.116 0 3.175 1.026 3.175 3.08V17h-1.548v-.957c-.415.68-1.143 1.02-2.186 1.02-.766 0-1.38-.22-1.843-.661-.462-.442-.694-1.003-.694-1.684 0-.776.293-1.38.878-1.81.585-.431 1.404-.647 2.457-.647h1.34V11.8c0-.554-.133-.971-.399-1.253-.266-.282-.707-.423-1.324-.423a4.07 4.07 0 0 0-2.345.718zm9.333-1.93v1.42c.394-1 1.101-1.5 2.123-1.5.148 0 .313.016.494.048v1.531a1.885 1.885 0 0 0-.75-.143c-.542 0-.989.24-1.34.718-.351.479-.527 1.048-.527 1.707V17h-1.563V8.91h1.563zm5.01 4.084c.022.82.272 1.492.75 2.019.479.526 1.15.79 2.01.79.639 0 1.235-.176 1.788-.527v1.404c-.521.319-1.186.479-1.995.479-1.265 0-2.276-.4-3.031-1.197-.755-.798-1.133-1.792-1.133-2.984 0-1.16.38-2.151 1.14-2.975.761-.825 1.79-1.237 3.088-1.237.702 0 1.346.149 1.93.447v1.436a3.242 3.242 0 0 0-1.77-.495c-.84 0-1.513.266-2.019.798-.505.532-.758 1.213-.758 2.042zM40.24 5.72v4.579c.458-1 1.293-1.5 2.505-1.5.787 0 1.42.245 1.899.734.479.49.718 1.17.718 2.042V17h-1.564v-5.106c0-.553-.14-.98-.422-1.284-.282-.303-.652-.455-1.11-.455-.531 0-1.002.202-1.411.606-.41.405-.615 1.022-.615 1.851V17h-1.563V5.72h1.563zm14.966 10.02c.596 0 1.096-.253 1.5-.758.404-.506.606-1.157.606-1.955 0-.915-.202-1.62-.606-2.114-.404-.495-.92-.742-1.548-.742-.553 0-1.05.224-1.491.67-.442.447-.662 1.133-.662 2.058 0 .958.212 1.67.638 2.138.425.469.946.703 1.563.703zM53.004 5.72v4.42c.574-.894 1.388-1.341 2.44-1.341 1.022 0 1.857.383 2.506 1.149.649.766.973 1.781.973 3.047 0 1.138-.309 2.109-.925 2.912-.617.803-1.463 1.205-2.537 1.205-1.075 0-1.894-.447-2.457-1.34V17h-1.58V5.72h1.58zm9.908 11.104l-3.223-7.913h1.739l1.005 2.632 1.26 3.415c.096-.32.48-1.458 1.15-3.415l.909-2.632h1.66l-2.92 7.866c-.777 2.074-1.963 3.11-3.559 3.11a2.92 2.92 0 0 1-.734-.079v-1.34c.17.042.351.064.543.064 1.032 0 1.755-.57 2.17-1.708z"}),(0,x.jsx)("path",{fill:"#5468FF",d:"M78.988.938h16.594a2.968 2.968 0 0 1 2.966 2.966V20.5a2.967 2.967 0 0 1-2.966 2.964H78.988a2.967 2.967 0 0 1-2.966-2.964V3.897A2.961 2.961 0 0 1 78.988.938z"}),(0,x.jsx)("path",{fill:"white",d:"M89.632 5.967v-.772a.978.978 0 0 0-.978-.977h-2.28a.978.978 0 0 0-.978.977v.793c0 .088.082.15.171.13a7.127 7.127 0 0 1 1.984-.28c.65 0 1.295.088 1.917.259.082.02.164-.04.164-.13m-6.248 1.01l-.39-.389a.977.977 0 0 0-1.382 0l-.465.465a.973.973 0 0 0 0 1.38l.383.383c.062.061.15.047.205-.014.226-.307.472-.601.746-.874.281-.28.568-.526.883-.751.068-.042.075-.137.02-.2m4.16 2.453v3.341c0 .096.104.165.192.117l2.97-1.537c.068-.034.089-.117.055-.184a3.695 3.695 0 0 0-3.08-1.866c-.068 0-.136.054-.136.13m0 8.048a4.489 4.489 0 0 1-4.49-4.482 4.488 4.488 0 0 1 4.49-4.482 4.488 4.488 0 0 1 4.489 4.482 4.484 4.484 0 0 1-4.49 4.482m0-10.85a6.363 6.363 0 1 0 0 12.729 6.37 6.37 0 0 0 6.372-6.368 6.358 6.358 0 0 0-6.371-6.36"})]})})})})]}),N.items.length>0?(0,x.jsx)("main",{children:N.items.map(((e,t)=>{let{title:r,url:n,summary:s,breadcrumbs:a}=e;return(0,x.jsxs)("article",{className:_.searchResultItem,children:[(0,x.jsx)(P.A,{as:"h2",className:_.searchResultItemHeading,children:(0,x.jsx)(f.A,{to:n,dangerouslySetInnerHTML:{__html:r}})}),a.length>0&&(0,x.jsx)("nav",{"aria-label":"breadcrumbs",children:(0,x.jsx)("ul",{className:(0,i.A)("breadcrumbs",_.searchResultItemPath),children:a.map(((e,t)=>(0,x.jsx)("li",{className:"breadcrumbs__item",dangerouslySetInnerHTML:{__html:e}},t)))})}),s&&(0,x.jsx)("p",{className:_.searchResultItemSummary,dangerouslySetInnerHTML:{__html:s}})]},t)}))}):[w&&!N.loading&&(0,x.jsx)("p",{children:(0,x.jsx)(y.A,{id:"theme.SearchPage.noResultsText",description:"The paragraph for empty search result",children:"No results were found"})},"no-results"),!!N.loading&&(0,x.jsx)("div",{className:_.loadingSpinner},"spinner")],N.hasMore&&(0,x.jsx)("div",{className:_.loader,ref:I,children:(0,x.jsx)(y.A,{id:"theme.SearchPage.fetchingNewResults",description:"The paragraph for fetching new search results",children:"Fetching new results..."})})]})]})}function w(){return(0,x.jsx)(g.e3,{className:"search-page-wrapper",children:(0,x.jsx)(O,{})})}}}]); \ No newline at end of file diff --git a/assets/js/1a4e3797.02d466ff.js.LICENSE.txt b/assets/js/1a4e3797.02d466ff.js.LICENSE.txt new file mode 100644 index 000000000..92dc1757f --- /dev/null +++ b/assets/js/1a4e3797.02d466ff.js.LICENSE.txt @@ -0,0 +1 @@ +/*! algoliasearch-lite.umd.js | 4.23.3 | © Algolia, inc. | https://github.com/algolia/algoliasearch-client-javascript */ diff --git a/assets/js/1a4e3797.ad4bdf33.js b/assets/js/1a4e3797.ad4bdf33.js deleted file mode 100644 index 956d947bb..000000000 --- a/assets/js/1a4e3797.ad4bdf33.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see 1a4e3797.ad4bdf33.js.LICENSE.txt */ -(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[62138],{72733:e=>{function t(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(e){return"function"==typeof e}function n(e){return"object"==typeof e&&null!==e}function i(e){return void 0===e}e.exports=t,t.prototype._events=void 0,t.prototype._maxListeners=void 0,t.defaultMaxListeners=10,t.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},t.prototype.emit=function(e){var t,s,a,c,u,o;if(this._events||(this._events={}),"error"===e&&(!this._events.error||n(this._events.error)&&!this._events.error.length)){if((t=arguments[1])instanceof Error)throw t;var h=new Error('Uncaught, unspecified "error" event. ('+t+")");throw h.context=t,h}if(i(s=this._events[e]))return!1;if(r(s))switch(arguments.length){case 1:s.call(this);break;case 2:s.call(this,arguments[1]);break;case 3:s.call(this,arguments[1],arguments[2]);break;default:c=Array.prototype.slice.call(arguments,1),s.apply(this,c)}else if(n(s))for(c=Array.prototype.slice.call(arguments,1),a=(o=s.slice()).length,u=0;u<a;u++)o[u].apply(this,c);return!0},t.prototype.addListener=function(e,s){var a;if(!r(s))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,r(s.listener)?s.listener:s),this._events[e]?n(this._events[e])?this._events[e].push(s):this._events[e]=[this._events[e],s]:this._events[e]=s,n(this._events[e])&&!this._events[e].warned&&(a=i(this._maxListeners)?t.defaultMaxListeners:this._maxListeners)&&a>0&&this._events[e].length>a&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},t.prototype.on=t.prototype.addListener,t.prototype.once=function(e,t){if(!r(t))throw TypeError("listener must be a function");var n=!1;function i(){this.removeListener(e,i),n||(n=!0,t.apply(this,arguments))}return i.listener=t,this.on(e,i),this},t.prototype.removeListener=function(e,t){var i,s,a,c;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(a=(i=this._events[e]).length,s=-1,i===t||r(i.listener)&&i.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(n(i)){for(c=a;c-- >0;)if(i[c]===t||i[c].listener&&i[c].listener===t){s=c;break}if(s<0)return this;1===i.length?(i.length=0,delete this._events[e]):i.splice(s,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},t.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r(n=this._events[e]))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},t.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},t.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},t.listenerCount=function(e,t){return e.listenerCount(t)}},74103:(e,t,r)=>{"use strict";var n=r(36571),i=r(33371),s=r(67691);function a(e,t,r,i){return new n(e,t,r,i)}a.version=r(16938),a.AlgoliaSearchHelper=n,a.SearchParameters=i,a.SearchResults=s,e.exports=a},46732:(e,t,r)=>{"use strict";var n=r(72733);function i(e,t){this.main=e,this.fn=t,this.lastResults=null}r(73014)(i,n),i.prototype.detach=function(){this.removeAllListeners(),this.main.detachDerivedHelper(this)},i.prototype.getModifiedState=function(e){return this.fn(e)},e.exports=i},44054:(e,t,r)=>{"use strict";var n=r(29110),i=r(40317),s=r(21383),a={addRefinement:function(e,t,r){if(a.isRefined(e,t,r))return e;var i=""+r,s=e[t]?e[t].concat(i):[i],c={};return c[t]=s,n({},c,e)},removeRefinement:function(e,t,r){if(void 0===r)return a.clearRefinement(e,(function(e,r){return t===r}));var n=""+r;return a.clearRefinement(e,(function(e,r){return t===r&&n===e}))},toggleRefinement:function(e,t,r){if(void 0===r)throw new Error("toggleRefinement should be used with a value");return a.isRefined(e,t,r)?a.removeRefinement(e,t,r):a.addRefinement(e,t,r)},clearRefinement:function(e,t,r){if(void 0===t)return i(e)?{}:e;if("string"==typeof t)return s(e,[t]);if("function"==typeof t){var n=!1,a=Object.keys(e).reduce((function(i,s){var a=e[s]||[],c=a.filter((function(e){return!t(e,s,r)}));return c.length!==a.length&&(n=!0),i[s]=c,i}),{});return n?a:e}},isRefined:function(e,t,r){var n=Boolean(e[t])&&e[t].length>0;if(void 0===r||!n)return n;var i=""+r;return-1!==e[t].indexOf(i)}};e.exports=a},33371:(e,t,r)=>{"use strict";var n=r(29110),i=r(20849),s=r(14843),a=r(44728),c=r(40317),u=r(21383),o=r(17507),h=r(72208),f=r(44054);function l(e,t){return Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every((function(e,r){return l(t[r],e)})):e===t}function m(e){var t=e?m._parseNumbers(e):{};void 0===t.userToken||h(t.userToken)||console.warn("[algoliasearch-helper] The `userToken` parameter is invalid. This can lead to wrong analytics.\n - Format: [a-zA-Z0-9_-]{1,64}"),this.facets=t.facets||[],this.disjunctiveFacets=t.disjunctiveFacets||[],this.hierarchicalFacets=t.hierarchicalFacets||[],this.facetsRefinements=t.facetsRefinements||{},this.facetsExcludes=t.facetsExcludes||{},this.disjunctiveFacetsRefinements=t.disjunctiveFacetsRefinements||{},this.numericRefinements=t.numericRefinements||{},this.tagRefinements=t.tagRefinements||[],this.hierarchicalFacetsRefinements=t.hierarchicalFacetsRefinements||{};var r=this;Object.keys(t).forEach((function(e){var n=-1!==m.PARAMETERS.indexOf(e),i=void 0!==t[e];!n&&i&&(r[e]=t[e])}))}m.PARAMETERS=Object.keys(new m),m._parseNumbers=function(e){if(e instanceof m)return e;var t={};if(["aroundPrecision","aroundRadius","getRankingInfo","minWordSizefor2Typos","minWordSizefor1Typo","page","maxValuesPerFacet","distinct","minimumAroundRadius","hitsPerPage","minProximity"].forEach((function(r){var n=e[r];if("string"==typeof n){var i=parseFloat(n);t[r]=isNaN(i)?n:i}})),Array.isArray(e.insideBoundingBox)&&(t.insideBoundingBox=e.insideBoundingBox.map((function(e){return Array.isArray(e)?e.map((function(e){return parseFloat(e)})):e}))),e.numericRefinements){var r={};Object.keys(e.numericRefinements).forEach((function(t){var n=e.numericRefinements[t]||{};r[t]={},Object.keys(n).forEach((function(e){var i=n[e].map((function(e){return Array.isArray(e)?e.map((function(e){return"string"==typeof e?parseFloat(e):e})):"string"==typeof e?parseFloat(e):e}));r[t][e]=i}))})),t.numericRefinements=r}return a(e,t)},m.make=function(e){var t=new m(e);return(e.hierarchicalFacets||[]).forEach((function(e){if(e.rootPath){var r=t.getHierarchicalRefinement(e.name);r.length>0&&0!==r[0].indexOf(e.rootPath)&&(t=t.clearRefinements(e.name)),0===(r=t.getHierarchicalRefinement(e.name)).length&&(t=t.toggleHierarchicalFacetRefinement(e.name,e.rootPath))}})),t},m.validate=function(e,t){var r=t||{};return e.tagFilters&&r.tagRefinements&&r.tagRefinements.length>0?new Error("[Tags] Cannot switch from the managed tag API to the advanced API. It is probably an error, if it is really what you want, you should first clear the tags with clearTags method."):e.tagRefinements.length>0&&r.tagFilters?new Error("[Tags] Cannot switch from the advanced tag API to the managed API. It is probably an error, if it is not, you should first clear the tags with clearTags method."):e.numericFilters&&r.numericRefinements&&c(r.numericRefinements)?new Error("[Numeric filters] Can't switch from the advanced to the managed API. It is probably an error, if this is really what you want, you have to first clear the numeric filters."):c(e.numericRefinements)&&r.numericFilters?new Error("[Numeric filters] Can't switch from the managed API to the advanced. It is probably an error, if this is really what you want, you have to first clear the numeric filters."):null},m.prototype={constructor:m,clearRefinements:function(e){var t={numericRefinements:this._clearNumericRefinements(e),facetsRefinements:f.clearRefinement(this.facetsRefinements,e,"conjunctiveFacet"),facetsExcludes:f.clearRefinement(this.facetsExcludes,e,"exclude"),disjunctiveFacetsRefinements:f.clearRefinement(this.disjunctiveFacetsRefinements,e,"disjunctiveFacet"),hierarchicalFacetsRefinements:f.clearRefinement(this.hierarchicalFacetsRefinements,e,"hierarchicalFacet")};return t.numericRefinements===this.numericRefinements&&t.facetsRefinements===this.facetsRefinements&&t.facetsExcludes===this.facetsExcludes&&t.disjunctiveFacetsRefinements===this.disjunctiveFacetsRefinements&&t.hierarchicalFacetsRefinements===this.hierarchicalFacetsRefinements?this:this.setQueryParameters(t)},clearTags:function(){return void 0===this.tagFilters&&0===this.tagRefinements.length?this:this.setQueryParameters({tagFilters:void 0,tagRefinements:[]})},setIndex:function(e){return e===this.index?this:this.setQueryParameters({index:e})},setQuery:function(e){return e===this.query?this:this.setQueryParameters({query:e})},setPage:function(e){return e===this.page?this:this.setQueryParameters({page:e})},setFacets:function(e){return this.setQueryParameters({facets:e})},setDisjunctiveFacets:function(e){return this.setQueryParameters({disjunctiveFacets:e})},setHitsPerPage:function(e){return this.hitsPerPage===e?this:this.setQueryParameters({hitsPerPage:e})},setTypoTolerance:function(e){return this.typoTolerance===e?this:this.setQueryParameters({typoTolerance:e})},addNumericRefinement:function(e,t,r){var n=o(r);if(this.isNumericRefined(e,t,n))return this;var i=a({},this.numericRefinements);return i[e]=a({},i[e]),i[e][t]?(i[e][t]=i[e][t].slice(),i[e][t].push(n)):i[e][t]=[n],this.setQueryParameters({numericRefinements:i})},getConjunctiveRefinements:function(e){return this.isConjunctiveFacet(e)&&this.facetsRefinements[e]||[]},getDisjunctiveRefinements:function(e){return this.isDisjunctiveFacet(e)&&this.disjunctiveFacetsRefinements[e]||[]},getHierarchicalRefinement:function(e){return this.hierarchicalFacetsRefinements[e]||[]},getExcludeRefinements:function(e){return this.isConjunctiveFacet(e)&&this.facetsExcludes[e]||[]},removeNumericRefinement:function(e,t,r){var n=r;return void 0!==n?this.isNumericRefined(e,t,n)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements((function(r,i){return i===e&&r.op===t&&l(r.val,o(n))}))}):this:void 0!==t?this.isNumericRefined(e,t)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements((function(r,n){return n===e&&r.op===t}))}):this:this.isNumericRefined(e)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements((function(t,r){return r===e}))}):this},getNumericRefinements:function(e){return this.numericRefinements[e]||{}},getNumericRefinement:function(e,t){return this.numericRefinements[e]&&this.numericRefinements[e][t]},_clearNumericRefinements:function(e){if(void 0===e)return c(this.numericRefinements)?{}:this.numericRefinements;if("string"==typeof e)return u(this.numericRefinements,[e]);if("function"==typeof e){var t=!1,r=this.numericRefinements,n=Object.keys(r).reduce((function(n,i){var s=r[i],a={};return s=s||{},Object.keys(s).forEach((function(r){var n=s[r]||[],c=[];n.forEach((function(t){e({val:t,op:r},i,"numeric")||c.push(t)})),c.length!==n.length&&(t=!0),a[r]=c})),n[i]=a,n}),{});return t?n:this.numericRefinements}},addFacet:function(e){return this.isConjunctiveFacet(e)?this:this.setQueryParameters({facets:this.facets.concat([e])})},addDisjunctiveFacet:function(e){return this.isDisjunctiveFacet(e)?this:this.setQueryParameters({disjunctiveFacets:this.disjunctiveFacets.concat([e])})},addHierarchicalFacet:function(e){if(this.isHierarchicalFacet(e.name))throw new Error("Cannot declare two hierarchical facets with the same name: `"+e.name+"`");return this.setQueryParameters({hierarchicalFacets:this.hierarchicalFacets.concat([e])})},addFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsRefinements,e,t)?this:this.setQueryParameters({facetsRefinements:f.addRefinement(this.facetsRefinements,e,t)})},addExcludeRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsExcludes,e,t)?this:this.setQueryParameters({facetsExcludes:f.addRefinement(this.facetsExcludes,e,t)})},addDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration");return f.isRefined(this.disjunctiveFacetsRefinements,e,t)?this:this.setQueryParameters({disjunctiveFacetsRefinements:f.addRefinement(this.disjunctiveFacetsRefinements,e,t)})},addTagRefinement:function(e){if(this.isTagRefined(e))return this;var t={tagRefinements:this.tagRefinements.concat(e)};return this.setQueryParameters(t)},removeFacet:function(e){return this.isConjunctiveFacet(e)?this.clearRefinements(e).setQueryParameters({facets:this.facets.filter((function(t){return t!==e}))}):this},removeDisjunctiveFacet:function(e){return this.isDisjunctiveFacet(e)?this.clearRefinements(e).setQueryParameters({disjunctiveFacets:this.disjunctiveFacets.filter((function(t){return t!==e}))}):this},removeHierarchicalFacet:function(e){return this.isHierarchicalFacet(e)?this.clearRefinements(e).setQueryParameters({hierarchicalFacets:this.hierarchicalFacets.filter((function(t){return t.name!==e}))}):this},removeFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsRefinements,e,t)?this.setQueryParameters({facetsRefinements:f.removeRefinement(this.facetsRefinements,e,t)}):this},removeExcludeRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsExcludes,e,t)?this.setQueryParameters({facetsExcludes:f.removeRefinement(this.facetsExcludes,e,t)}):this},removeDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration");return f.isRefined(this.disjunctiveFacetsRefinements,e,t)?this.setQueryParameters({disjunctiveFacetsRefinements:f.removeRefinement(this.disjunctiveFacetsRefinements,e,t)}):this},removeTagRefinement:function(e){if(!this.isTagRefined(e))return this;var t={tagRefinements:this.tagRefinements.filter((function(t){return t!==e}))};return this.setQueryParameters(t)},toggleRefinement:function(e,t){return this.toggleFacetRefinement(e,t)},toggleFacetRefinement:function(e,t){if(this.isHierarchicalFacet(e))return this.toggleHierarchicalFacetRefinement(e,t);if(this.isConjunctiveFacet(e))return this.toggleConjunctiveFacetRefinement(e,t);if(this.isDisjunctiveFacet(e))return this.toggleDisjunctiveFacetRefinement(e,t);throw new Error("Cannot refine the undeclared facet "+e+"; it should be added to the helper options facets, disjunctiveFacets or hierarchicalFacets")},toggleConjunctiveFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return this.setQueryParameters({facetsRefinements:f.toggleRefinement(this.facetsRefinements,e,t)})},toggleExcludeFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return this.setQueryParameters({facetsExcludes:f.toggleRefinement(this.facetsExcludes,e,t)})},toggleDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration");return this.setQueryParameters({disjunctiveFacetsRefinements:f.toggleRefinement(this.disjunctiveFacetsRefinements,e,t)})},toggleHierarchicalFacetRefinement:function(e,t){if(!this.isHierarchicalFacet(e))throw new Error(e+" is not defined in the hierarchicalFacets attribute of the helper configuration");var r=this._getHierarchicalFacetSeparator(this.getHierarchicalFacetByName(e)),i={};return void 0!==this.hierarchicalFacetsRefinements[e]&&this.hierarchicalFacetsRefinements[e].length>0&&(this.hierarchicalFacetsRefinements[e][0]===t||0===this.hierarchicalFacetsRefinements[e][0].indexOf(t+r))?-1===t.indexOf(r)?i[e]=[]:i[e]=[t.slice(0,t.lastIndexOf(r))]:i[e]=[t],this.setQueryParameters({hierarchicalFacetsRefinements:n({},i,this.hierarchicalFacetsRefinements)})},addHierarchicalFacetRefinement:function(e,t){if(this.isHierarchicalFacetRefined(e))throw new Error(e+" is already refined.");if(!this.isHierarchicalFacet(e))throw new Error(e+" is not defined in the hierarchicalFacets attribute of the helper configuration.");var r={};return r[e]=[t],this.setQueryParameters({hierarchicalFacetsRefinements:n({},r,this.hierarchicalFacetsRefinements)})},removeHierarchicalFacetRefinement:function(e){if(!this.isHierarchicalFacetRefined(e))return this;var t={};return t[e]=[],this.setQueryParameters({hierarchicalFacetsRefinements:n({},t,this.hierarchicalFacetsRefinements)})},toggleTagRefinement:function(e){return this.isTagRefined(e)?this.removeTagRefinement(e):this.addTagRefinement(e)},isDisjunctiveFacet:function(e){return this.disjunctiveFacets.indexOf(e)>-1},isHierarchicalFacet:function(e){return void 0!==this.getHierarchicalFacetByName(e)},isConjunctiveFacet:function(e){return this.facets.indexOf(e)>-1},isFacetRefined:function(e,t){return!!this.isConjunctiveFacet(e)&&f.isRefined(this.facetsRefinements,e,t)},isExcludeRefined:function(e,t){return!!this.isConjunctiveFacet(e)&&f.isRefined(this.facetsExcludes,e,t)},isDisjunctiveFacetRefined:function(e,t){return!!this.isDisjunctiveFacet(e)&&f.isRefined(this.disjunctiveFacetsRefinements,e,t)},isHierarchicalFacetRefined:function(e,t){if(!this.isHierarchicalFacet(e))return!1;var r=this.getHierarchicalRefinement(e);return t?-1!==r.indexOf(t):r.length>0},isNumericRefined:function(e,t,r){if(void 0===r&&void 0===t)return Boolean(this.numericRefinements[e]);var n=this.numericRefinements[e]&&void 0!==this.numericRefinements[e][t];if(void 0===r||!n)return n;var s,a,c=o(r),u=void 0!==(s=this.numericRefinements[e][t],a=c,i(s,(function(e){return l(e,a)})));return n&&u},isTagRefined:function(e){return-1!==this.tagRefinements.indexOf(e)},getRefinedDisjunctiveFacets:function(){var e=this,t=s(Object.keys(this.numericRefinements).filter((function(t){return Object.keys(e.numericRefinements[t]).length>0})),this.disjunctiveFacets);return Object.keys(this.disjunctiveFacetsRefinements).filter((function(t){return e.disjunctiveFacetsRefinements[t].length>0})).concat(t).concat(this.getRefinedHierarchicalFacets()).sort()},getRefinedHierarchicalFacets:function(){var e=this;return s(this.hierarchicalFacets.map((function(e){return e.name})),Object.keys(this.hierarchicalFacetsRefinements).filter((function(t){return e.hierarchicalFacetsRefinements[t].length>0}))).sort()},getUnrefinedDisjunctiveFacets:function(){var e=this.getRefinedDisjunctiveFacets();return this.disjunctiveFacets.filter((function(t){return-1===e.indexOf(t)}))},managedParameters:["index","facets","disjunctiveFacets","facetsRefinements","hierarchicalFacets","facetsExcludes","disjunctiveFacetsRefinements","numericRefinements","tagRefinements","hierarchicalFacetsRefinements"],getQueryParams:function(){var e=this.managedParameters,t={},r=this;return Object.keys(this).forEach((function(n){var i=r[n];-1===e.indexOf(n)&&void 0!==i&&(t[n]=i)})),t},setQueryParameter:function(e,t){if(this[e]===t)return this;var r={};return r[e]=t,this.setQueryParameters(r)},setQueryParameters:function(e){if(!e)return this;var t=m.validate(this,e);if(t)throw t;var r=this,n=m._parseNumbers(e),i=Object.keys(this).reduce((function(e,t){return e[t]=r[t],e}),{}),s=Object.keys(n).reduce((function(e,t){var r=void 0!==e[t],i=void 0!==n[t];return r&&!i?u(e,[t]):(i&&(e[t]=n[t]),e)}),i);return new this.constructor(s)},resetPage:function(){return void 0===this.page?this:this.setPage(0)},_getHierarchicalFacetSortBy:function(e){return e.sortBy||["isRefined:desc","name:asc"]},_getHierarchicalFacetSeparator:function(e){return e.separator||" > "},_getHierarchicalRootPath:function(e){return e.rootPath||null},_getHierarchicalShowParentLevel:function(e){return"boolean"!=typeof e.showParentLevel||e.showParentLevel},getHierarchicalFacetByName:function(e){return i(this.hierarchicalFacets,(function(t){return t.name===e}))},getHierarchicalFacetBreadcrumb:function(e){if(!this.isHierarchicalFacet(e))return[];var t=this.getHierarchicalRefinement(e)[0];if(!t)return[];var r=this._getHierarchicalFacetSeparator(this.getHierarchicalFacetByName(e));return t.split(r).map((function(e){return e.trim()}))},toString:function(){return JSON.stringify(this,null,2)}},e.exports=m},76673:(e,t,r)=>{"use strict";e.exports=function(e){return function(t,r){var n=e.hierarchicalFacets[r],o=e.hierarchicalFacetsRefinements[n.name]&&e.hierarchicalFacetsRefinements[n.name][0]||"",h=e._getHierarchicalFacetSeparator(n),f=e._getHierarchicalRootPath(n),l=e._getHierarchicalShowParentLevel(n),m=s(e._getHierarchicalFacetSortBy(n)),d=t.every((function(e){return e.exhaustive})),p=function(e,t,r,n,s){return function(o,h,f){var l=o;if(f>0){var m=0;for(l=o;m<f;){var d=l&&Array.isArray(l.data)?l.data:[];l=i(d,(function(e){return e.isRefined})),m++}}if(l){var p=Object.keys(h.data).map((function(e){return[e,h.data[e]]})).filter((function(e){return function(e,t,r,n,i,s){if(i&&(0!==e.indexOf(i)||i===e))return!1;return!i&&-1===e.indexOf(n)||i&&e.split(n).length-i.split(n).length==1||-1===e.indexOf(n)&&-1===r.indexOf(n)||0===r.indexOf(e)||0===e.indexOf(t+n)&&(s||0===e.indexOf(r))}(e[0],l.path||r,s,t,r,n)}));l.data=a(p.map((function(e){var r=e[0];return function(e,t,r,n,i){var s=t.split(r);return{name:s[s.length-1].trim(),path:t,escapedValue:c(t),count:e,isRefined:n===t||0===n.indexOf(t+r),exhaustive:i,data:null}}(e[1],r,t,u(s),h.exhaustive)})),e[0],e[1])}return o}}(m,h,f,l,o),v=t;return f&&(v=t.slice(f.split(h).length)),v.reduce(p,{name:e.hierarchicalFacets[r].name,count:null,isRefined:!0,path:null,escapedValue:null,exhaustive:d,data:null})}};var n=r(2909),i=r(20849),s=r(7577),a=r(38601),c=n.escapeFacetValue,u=n.unescapeFacetValue},67691:(e,t,r)=>{"use strict";var n=r(78965),i=r(29110),s=r(2909),a=r(20849),c=r(43917),u=r(7577),o=r(44728),h=r(38601),f=s.escapeFacetValue,l=s.unescapeFacetValue,m=r(76673);function d(e){var t={};return e.forEach((function(e,r){t[e]=r})),t}function p(e,t,r){t&&t[r]&&(e.stats=t[r])}function v(e,t,r){var s=t[0];this._rawResults=t;var u=this;Object.keys(s).forEach((function(e){u[e]=s[e]}));var h=o({persistHierarchicalRootCount:!1},r);Object.keys(h).forEach((function(e){u[e]=h[e]})),this.processingTimeMS=t.reduce((function(e,t){return void 0===t.processingTimeMS?e:e+t.processingTimeMS}),0),this.disjunctiveFacets=[],this.hierarchicalFacets=e.hierarchicalFacets.map((function(){return[]})),this.facets=[];var f=e.getRefinedDisjunctiveFacets(),v=d(e.facets),g=d(e.disjunctiveFacets),y=1,R=s.facets||{};Object.keys(R).forEach((function(t){var r,n,i=R[t],o=(r=e.hierarchicalFacets,n=t,a(r,(function(e){return(e.attributes||[]).indexOf(n)>-1})));if(o){var h=o.attributes.indexOf(t),f=c(e.hierarchicalFacets,(function(e){return e.name===o.name}));u.hierarchicalFacets[f][h]={attribute:t,data:i,exhaustive:s.exhaustiveFacetsCount}}else{var l,m=-1!==e.disjunctiveFacets.indexOf(t),d=-1!==e.facets.indexOf(t);m&&(l=g[t],u.disjunctiveFacets[l]={name:t,data:i,exhaustive:s.exhaustiveFacetsCount},p(u.disjunctiveFacets[l],s.facets_stats,t)),d&&(l=v[t],u.facets[l]={name:t,data:i,exhaustive:s.exhaustiveFacetsCount},p(u.facets[l],s.facets_stats,t))}})),this.hierarchicalFacets=n(this.hierarchicalFacets),f.forEach((function(r){var n=t[y],a=n&&n.facets?n.facets:{},h=e.getHierarchicalFacetByName(r);Object.keys(a).forEach((function(t){var r,f=a[t];if(h){r=c(e.hierarchicalFacets,(function(e){return e.name===h.name}));var m=c(u.hierarchicalFacets[r],(function(e){return e.attribute===t}));if(-1===m)return;u.hierarchicalFacets[r][m].data=o({},u.hierarchicalFacets[r][m].data,f)}else{r=g[t];var d=s.facets&&s.facets[t]||{};u.disjunctiveFacets[r]={name:t,data:i({},f,d),exhaustive:n.exhaustiveFacetsCount},p(u.disjunctiveFacets[r],n.facets_stats,t),e.disjunctiveFacetsRefinements[t]&&e.disjunctiveFacetsRefinements[t].forEach((function(n){!u.disjunctiveFacets[r].data[n]&&e.disjunctiveFacetsRefinements[t].indexOf(l(n))>-1&&(u.disjunctiveFacets[r].data[n]=0)}))}})),y++})),e.getRefinedHierarchicalFacets().forEach((function(r){var n=e.getHierarchicalFacetByName(r),s=e._getHierarchicalFacetSeparator(n),a=e.getHierarchicalRefinement(r);0===a.length||a[0].split(s).length<2||t.slice(y).forEach((function(t){var r=t&&t.facets?t.facets:{};Object.keys(r).forEach((function(t){var o=r[t],h=c(e.hierarchicalFacets,(function(e){return e.name===n.name})),f=c(u.hierarchicalFacets[h],(function(e){return e.attribute===t}));if(-1!==f){var l={};if(a.length>0&&!u.persistHierarchicalRootCount){var m=a[0].split(s)[0];l[m]=u.hierarchicalFacets[h][f].data[m]}u.hierarchicalFacets[h][f].data=i(l,o,u.hierarchicalFacets[h][f].data)}})),y++}))})),Object.keys(e.facetsExcludes).forEach((function(t){var r=e.facetsExcludes[t],n=v[t];u.facets[n]={name:t,data:R[t],exhaustive:s.exhaustiveFacetsCount},r.forEach((function(e){u.facets[n]=u.facets[n]||{name:t},u.facets[n].data=u.facets[n].data||{},u.facets[n].data[e]=0}))})),this.hierarchicalFacets=this.hierarchicalFacets.map(m(e)),this.facets=n(this.facets),this.disjunctiveFacets=n(this.disjunctiveFacets),this._state=e}function g(e,t){function r(e){return e.name===t}if(e._state.isConjunctiveFacet(t)){var n=a(e.facets,r);return n?Object.keys(n.data).map((function(r){var i=f(r);return{name:r,escapedValue:i,count:n.data[r],isRefined:e._state.isFacetRefined(t,i),isExcluded:e._state.isExcludeRefined(t,r)}})):[]}if(e._state.isDisjunctiveFacet(t)){var i=a(e.disjunctiveFacets,r);return i?Object.keys(i.data).map((function(r){var n=f(r);return{name:r,escapedValue:n,count:i.data[r],isRefined:e._state.isDisjunctiveFacetRefined(t,n)}})):[]}if(e._state.isHierarchicalFacet(t)){var s=a(e.hierarchicalFacets,r);if(!s)return s;var c=e._state.getHierarchicalFacetByName(t),u=e._state._getHierarchicalFacetSeparator(c),o=l(e._state.getHierarchicalRefinement(t)[0]||"");0===o.indexOf(c.rootPath)&&(o=o.replace(c.rootPath+u,""));var h=o.split(u);return h.unshift(t),y(s,h,0),s}}function y(e,t,r){e.isRefined=e.name===(t[r]&&t[r].trim()),e.data&&e.data.forEach((function(e){y(e,t,r+1)}))}function R(e,t,r,n){if(n=n||0,Array.isArray(t))return e(t,r[n]);if(!t.data||0===t.data.length)return t;var s=t.data.map((function(t){return R(e,t,r,n+1)})),a=e(s,r[n]);return i({data:a},t)}function F(e,t){var r=a(e,(function(e){return e.name===t}));return r&&r.stats}function b(e,t,r,n,i){var s=a(i,(function(e){return e.name===r})),c=s&&s.data&&s.data[n]?s.data[n]:0,u=s&&s.exhaustive||!1;return{type:t,attributeName:r,name:n,count:c,exhaustive:u}}v.prototype.getFacetByName=function(e){function t(t){return t.name===e}return a(this.facets,t)||a(this.disjunctiveFacets,t)||a(this.hierarchicalFacets,t)},v.DEFAULT_SORT=["isRefined:desc","count:desc","name:asc"],v.prototype.getFacetValues=function(e,t){var r=g(this,e);if(r){var n,s=i({},t,{sortBy:v.DEFAULT_SORT,facetOrdering:!(t&&t.sortBy)}),a=this;if(Array.isArray(r))n=[e];else n=a._state.getHierarchicalFacetByName(r.name).attributes;return R((function(e,t){if(s.facetOrdering){var r=function(e,t){return e.renderingContent&&e.renderingContent.facetOrdering&&e.renderingContent.facetOrdering.values&&e.renderingContent.facetOrdering.values[t]}(a,t);if(r)return function(e,t){var r=[],n=[],i=(t.order||[]).reduce((function(e,t,r){return e[t]=r,e}),{});e.forEach((function(e){var t=e.path||e.name;void 0!==i[t]?r[i[t]]=e:n.push(e)})),r=r.filter((function(e){return e}));var s,a=t.sortRemainingBy;return"hidden"===a?r:(s="alpha"===a?[["path","name"],["asc","asc"]]:[["count"],["desc"]],r.concat(h(n,s[0],s[1])))}(e,r)}if(Array.isArray(s.sortBy)){var n=u(s.sortBy,v.DEFAULT_SORT);return h(e,n[0],n[1])}if("function"==typeof s.sortBy)return function(e,t){return t.sort(e)}(s.sortBy,e);throw new Error("options.sortBy is optional but if defined it must be either an array of string (predicates) or a sorting function")}),r,n)}},v.prototype.getFacetStats=function(e){return this._state.isConjunctiveFacet(e)?F(this.facets,e):this._state.isDisjunctiveFacet(e)?F(this.disjunctiveFacets,e):void 0},v.prototype.getRefinements=function(){var e=this._state,t=this,r=[];return Object.keys(e.facetsRefinements).forEach((function(n){e.facetsRefinements[n].forEach((function(i){r.push(b(e,"facet",n,i,t.facets))}))})),Object.keys(e.facetsExcludes).forEach((function(n){e.facetsExcludes[n].forEach((function(i){r.push(b(e,"exclude",n,i,t.facets))}))})),Object.keys(e.disjunctiveFacetsRefinements).forEach((function(n){e.disjunctiveFacetsRefinements[n].forEach((function(i){r.push(b(e,"disjunctive",n,i,t.disjunctiveFacets))}))})),Object.keys(e.hierarchicalFacetsRefinements).forEach((function(n){e.hierarchicalFacetsRefinements[n].forEach((function(i){r.push(function(e,t,r,n){var i=e.getHierarchicalFacetByName(t),s=e._getHierarchicalFacetSeparator(i),c=r.split(s),u=a(n,(function(e){return e.name===t})),o=c.reduce((function(e,t){var r=e&&a(e.data,(function(e){return e.name===t}));return void 0!==r?r:e}),u),h=o&&o.count||0,f=o&&o.exhaustive||!1,l=o&&o.path||"";return{type:"hierarchical",attributeName:t,name:l,count:h,exhaustive:f}}(e,n,i,t.hierarchicalFacets))}))})),Object.keys(e.numericRefinements).forEach((function(t){var n=e.numericRefinements[t];Object.keys(n).forEach((function(e){n[e].forEach((function(n){r.push({type:"numeric",attributeName:t,name:n,numericValue:n,operator:e})}))}))})),e.tagRefinements.forEach((function(e){r.push({type:"tag",attributeName:"_tags",name:e})})),r},e.exports=v},36571:(e,t,r)=>{"use strict";var n=r(72733),i=r(46732),s=r(2909).escapeFacetValue,a=r(73014),c=r(44728),u=r(40317),o=r(21383),h=r(49228),f=r(33371),l=r(67691),m=r(16938);function d(e,t,r,n){"function"==typeof e.addAlgoliaAgent&&e.addAlgoliaAgent("JS Helper ("+m+")"),this.setClient(e);var i=r||{};i.index=t,this.state=f.make(i),this.lastResults=null,this._queryId=0,this._lastQueryIdReceived=-1,this.derivedHelpers=[],this._currentNbQueries=0,this._searchResultsOptions=n}function p(e){if(e<0)throw new Error("Page requested below 0.");return this._change({state:this.state.setPage(e),isPageReset:!1}),this}function v(){return this.state.page}a(d,n),d.prototype.search=function(){return this._search({onlyWithDerivedHelpers:!1}),this},d.prototype.searchOnlyWithDerivedHelpers=function(){return this._search({onlyWithDerivedHelpers:!0}),this},d.prototype.getQuery=function(){var e=this.state;return h._getHitsSearchParams(e)},d.prototype.searchOnce=function(e,t){var r=e?this.state.setQueryParameters(e):this.state,n=h._getQueries(r.index,r),i=this;if(this._currentNbQueries++,this.emit("searchOnce",{state:r}),!t)return this.client.search(n).then((function(e){return i._currentNbQueries--,0===i._currentNbQueries&&i.emit("searchQueueEmpty"),{content:new l(r,e.results),state:r,_originalResponse:e}}),(function(e){throw i._currentNbQueries--,0===i._currentNbQueries&&i.emit("searchQueueEmpty"),e}));this.client.search(n).then((function(e){i._currentNbQueries--,0===i._currentNbQueries&&i.emit("searchQueueEmpty"),t(null,new l(r,e.results),r)})).catch((function(e){i._currentNbQueries--,0===i._currentNbQueries&&i.emit("searchQueueEmpty"),t(e,null,r)}))},d.prototype.findAnswers=function(e){console.warn("[algoliasearch-helper] answers is no longer supported");var t=this.state,r=this.derivedHelpers[0];if(!r)return Promise.resolve([]);var n=r.getModifiedState(t),i=c({attributesForPrediction:e.attributesForPrediction,nbHits:e.nbHits},{params:o(h._getHitsSearchParams(n),["attributesToSnippet","hitsPerPage","restrictSearchableAttributes","snippetEllipsisText"])}),s="search for answers was called, but this client does not have a function client.initIndex(index).findAnswers";if("function"!=typeof this.client.initIndex)throw new Error(s);var a=this.client.initIndex(n.index);if("function"!=typeof a.findAnswers)throw new Error(s);return a.findAnswers(n.query,e.queryLanguages,i)},d.prototype.searchForFacetValues=function(e,t,r,n){var i="function"==typeof this.client.searchForFacetValues,a="function"==typeof this.client.initIndex;if(!i&&!a&&"function"!=typeof this.client.search)throw new Error("search for facet values (searchable) was called, but this client does not have a function client.searchForFacetValues or client.initIndex(index).searchForFacetValues");var c=this.state.setQueryParameters(n||{}),u=c.isDisjunctiveFacet(e),o=h.getSearchForFacetQuery(e,t,r,c);this._currentNbQueries++;var f,l=this;return i?f=this.client.searchForFacetValues([{indexName:c.index,params:o}]):a?f=this.client.initIndex(c.index).searchForFacetValues(o):(delete o.facetName,f=this.client.search([{type:"facet",facet:e,indexName:c.index,params:o}]).then((function(e){return e.results[0]}))),this.emit("searchForFacetValues",{state:c,facet:e,query:t}),f.then((function(t){return l._currentNbQueries--,0===l._currentNbQueries&&l.emit("searchQueueEmpty"),(t=Array.isArray(t)?t[0]:t).facetHits.forEach((function(t){t.escapedValue=s(t.value),t.isRefined=u?c.isDisjunctiveFacetRefined(e,t.escapedValue):c.isFacetRefined(e,t.escapedValue)})),t}),(function(e){throw l._currentNbQueries--,0===l._currentNbQueries&&l.emit("searchQueueEmpty"),e}))},d.prototype.setQuery=function(e){return this._change({state:this.state.resetPage().setQuery(e),isPageReset:!0}),this},d.prototype.clearRefinements=function(e){return this._change({state:this.state.resetPage().clearRefinements(e),isPageReset:!0}),this},d.prototype.clearTags=function(){return this._change({state:this.state.resetPage().clearTags(),isPageReset:!0}),this},d.prototype.addDisjunctiveFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addDisjunctiveFacetRefinement(e,t),isPageReset:!0}),this},d.prototype.addDisjunctiveRefine=function(){return this.addDisjunctiveFacetRefinement.apply(this,arguments)},d.prototype.addHierarchicalFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addHierarchicalFacetRefinement(e,t),isPageReset:!0}),this},d.prototype.addNumericRefinement=function(e,t,r){return this._change({state:this.state.resetPage().addNumericRefinement(e,t,r),isPageReset:!0}),this},d.prototype.addFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addFacetRefinement(e,t),isPageReset:!0}),this},d.prototype.addRefine=function(){return this.addFacetRefinement.apply(this,arguments)},d.prototype.addFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().addExcludeRefinement(e,t),isPageReset:!0}),this},d.prototype.addExclude=function(){return this.addFacetExclusion.apply(this,arguments)},d.prototype.addTag=function(e){return this._change({state:this.state.resetPage().addTagRefinement(e),isPageReset:!0}),this},d.prototype.removeNumericRefinement=function(e,t,r){return this._change({state:this.state.resetPage().removeNumericRefinement(e,t,r),isPageReset:!0}),this},d.prototype.removeDisjunctiveFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().removeDisjunctiveFacetRefinement(e,t),isPageReset:!0}),this},d.prototype.removeDisjunctiveRefine=function(){return this.removeDisjunctiveFacetRefinement.apply(this,arguments)},d.prototype.removeHierarchicalFacetRefinement=function(e){return this._change({state:this.state.resetPage().removeHierarchicalFacetRefinement(e),isPageReset:!0}),this},d.prototype.removeFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().removeFacetRefinement(e,t),isPageReset:!0}),this},d.prototype.removeRefine=function(){return this.removeFacetRefinement.apply(this,arguments)},d.prototype.removeFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().removeExcludeRefinement(e,t),isPageReset:!0}),this},d.prototype.removeExclude=function(){return this.removeFacetExclusion.apply(this,arguments)},d.prototype.removeTag=function(e){return this._change({state:this.state.resetPage().removeTagRefinement(e),isPageReset:!0}),this},d.prototype.toggleFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().toggleExcludeFacetRefinement(e,t),isPageReset:!0}),this},d.prototype.toggleExclude=function(){return this.toggleFacetExclusion.apply(this,arguments)},d.prototype.toggleRefinement=function(e,t){return this.toggleFacetRefinement(e,t)},d.prototype.toggleFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().toggleFacetRefinement(e,t),isPageReset:!0}),this},d.prototype.toggleRefine=function(){return this.toggleFacetRefinement.apply(this,arguments)},d.prototype.toggleTag=function(e){return this._change({state:this.state.resetPage().toggleTagRefinement(e),isPageReset:!0}),this},d.prototype.nextPage=function(){var e=this.state.page||0;return this.setPage(e+1)},d.prototype.previousPage=function(){var e=this.state.page||0;return this.setPage(e-1)},d.prototype.setCurrentPage=p,d.prototype.setPage=p,d.prototype.setIndex=function(e){return this._change({state:this.state.resetPage().setIndex(e),isPageReset:!0}),this},d.prototype.setQueryParameter=function(e,t){return this._change({state:this.state.resetPage().setQueryParameter(e,t),isPageReset:!0}),this},d.prototype.setState=function(e){return this._change({state:f.make(e),isPageReset:!1}),this},d.prototype.overrideStateWithoutTriggeringChangeEvent=function(e){return this.state=new f(e),this},d.prototype.hasRefinements=function(e){return!!u(this.state.getNumericRefinements(e))||(this.state.isConjunctiveFacet(e)?this.state.isFacetRefined(e):this.state.isDisjunctiveFacet(e)?this.state.isDisjunctiveFacetRefined(e):!!this.state.isHierarchicalFacet(e)&&this.state.isHierarchicalFacetRefined(e))},d.prototype.isExcluded=function(e,t){return this.state.isExcludeRefined(e,t)},d.prototype.isDisjunctiveRefined=function(e,t){return this.state.isDisjunctiveFacetRefined(e,t)},d.prototype.hasTag=function(e){return this.state.isTagRefined(e)},d.prototype.isTagRefined=function(){return this.hasTagRefinements.apply(this,arguments)},d.prototype.getIndex=function(){return this.state.index},d.prototype.getCurrentPage=v,d.prototype.getPage=v,d.prototype.getTags=function(){return this.state.tagRefinements},d.prototype.getRefinements=function(e){var t=[];if(this.state.isConjunctiveFacet(e))this.state.getConjunctiveRefinements(e).forEach((function(e){t.push({value:e,type:"conjunctive"})})),this.state.getExcludeRefinements(e).forEach((function(e){t.push({value:e,type:"exclude"})}));else if(this.state.isDisjunctiveFacet(e)){this.state.getDisjunctiveRefinements(e).forEach((function(e){t.push({value:e,type:"disjunctive"})}))}var r=this.state.getNumericRefinements(e);return Object.keys(r).forEach((function(e){var n=r[e];t.push({value:n,operator:e,type:"numeric"})})),t},d.prototype.getNumericRefinement=function(e,t){return this.state.getNumericRefinement(e,t)},d.prototype.getHierarchicalFacetBreadcrumb=function(e){return this.state.getHierarchicalFacetBreadcrumb(e)},d.prototype._search=function(e){var t=this.state,r=[],n=[];e.onlyWithDerivedHelpers||(n=h._getQueries(t.index,t),r.push({state:t,queriesCount:n.length,helper:this}),this.emit("search",{state:t,results:this.lastResults}));var i=this.derivedHelpers.map((function(e){var n=e.getModifiedState(t),i=n.index?h._getQueries(n.index,n):[];return r.push({state:n,queriesCount:i.length,helper:e}),e.emit("search",{state:n,results:e.lastResults}),i})),s=Array.prototype.concat.apply(n,i),a=this._queryId++;if(this._currentNbQueries++,!s.length)return Promise.resolve({results:[]}).then(this._dispatchAlgoliaResponse.bind(this,r,a));try{this.client.search(s).then(this._dispatchAlgoliaResponse.bind(this,r,a)).catch(this._dispatchAlgoliaError.bind(this,a))}catch(c){this.emit("error",{error:c})}},d.prototype._dispatchAlgoliaResponse=function(e,t,r){var n=this;if(!(t<this._lastQueryIdReceived)){this._currentNbQueries-=t-this._lastQueryIdReceived,this._lastQueryIdReceived=t,0===this._currentNbQueries&&this.emit("searchQueueEmpty");var i=r.results.slice();e.forEach((function(e){var t=e.state,r=e.queriesCount,s=e.helper,a=i.splice(0,r);t.index?(s.lastResults=new l(t,a,n._searchResultsOptions),s.emit("result",{results:s.lastResults,state:t})):s.emit("result",{results:null,state:t})}))}},d.prototype._dispatchAlgoliaError=function(e,t){e<this._lastQueryIdReceived||(this._currentNbQueries-=e-this._lastQueryIdReceived,this._lastQueryIdReceived=e,this.emit("error",{error:t}),0===this._currentNbQueries&&this.emit("searchQueueEmpty"))},d.prototype.containsRefinement=function(e,t,r,n){return e||0!==t.length||0!==r.length||0!==n.length},d.prototype._hasDisjunctiveRefinements=function(e){return this.state.disjunctiveRefinements[e]&&this.state.disjunctiveRefinements[e].length>0},d.prototype._change=function(e){var t=e.state,r=e.isPageReset;t!==this.state&&(this.state=t,this.emit("change",{state:this.state,results:this.lastResults,isPageReset:r}))},d.prototype.clearCache=function(){return this.client.clearCache&&this.client.clearCache(),this},d.prototype.setClient=function(e){return this.client===e||("function"==typeof e.addAlgoliaAgent&&e.addAlgoliaAgent("JS Helper ("+m+")"),this.client=e),this},d.prototype.getClient=function(){return this.client},d.prototype.derive=function(e){var t=new i(this,e);return this.derivedHelpers.push(t),t},d.prototype.detachDerivedHelper=function(e){var t=this.derivedHelpers.indexOf(e);if(-1===t)throw new Error("Derived helper already detached");this.derivedHelpers.splice(t,1)},d.prototype.hasPendingRequests=function(){return this._currentNbQueries>0},e.exports=d},78965:e=>{"use strict";e.exports=function(e){return Array.isArray(e)?e.filter(Boolean):[]}},29110:e=>{"use strict";e.exports=function(){return Array.prototype.slice.call(arguments).reduceRight((function(e,t){return Object.keys(Object(t)).forEach((function(r){void 0!==t[r]&&(void 0!==e[r]&&delete e[r],e[r]=t[r])})),e}),{})}},2909:e=>{"use strict";e.exports={escapeFacetValue:function(e){return"string"!=typeof e?e:String(e).replace(/^-/,"\\-")},unescapeFacetValue:function(e){return"string"!=typeof e?e:e.replace(/^\\-/,"-")}}},20849:e=>{"use strict";e.exports=function(e,t){if(Array.isArray(e))for(var r=0;r<e.length;r++)if(t(e[r]))return e[r]}},43917:e=>{"use strict";e.exports=function(e,t){if(!Array.isArray(e))return-1;for(var r=0;r<e.length;r++)if(t(e[r]))return r;return-1}},7577:(e,t,r)=>{"use strict";var n=r(20849);e.exports=function(e,t){var r=(t||[]).map((function(e){return e.split(":")}));return e.reduce((function(e,t){var i=t.split(":"),s=n(r,(function(e){return e[0]===i[0]}));return i.length>1||!s?(e[0].push(i[0]),e[1].push(i[1]),e):(e[0].push(s[0]),e[1].push(s[1]),e)}),[[],[]])}},73014:e=>{"use strict";e.exports=function(e,t){e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}},14843:e=>{"use strict";e.exports=function(e,t){return e.filter((function(r,n){return t.indexOf(r)>-1&&e.indexOf(r)===n}))}},44728:e=>{"use strict";function t(e){return"function"==typeof e||Array.isArray(e)||"[object Object]"===Object.prototype.toString.call(e)}function r(e,n){if(e===n)return e;for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)&&"__proto__"!==i&&"constructor"!==i){var s=n[i],a=e[i];void 0!==a&&void 0===s||(t(a)&&t(s)?e[i]=r(a,s):e[i]="object"==typeof(c=s)&&null!==c?r(Array.isArray(c)?[]:{},c):c)}var c;return e}e.exports=function(e){t(e)||(e={});for(var n=1,i=arguments.length;n<i;n++){var s=arguments[n];t(s)&&r(e,s)}return e}},40317:e=>{"use strict";e.exports=function(e){return e&&Object.keys(e).length>0}},21383:e=>{"use strict";e.exports=function(e,t){if(null===e)return{};var r,n,i={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}},38601:e=>{"use strict";function t(e,t){if(e!==t){var r=void 0!==e,n=null===e,i=void 0!==t,s=null===t;if(!s&&e>t||n&&i||!r)return 1;if(!n&&e<t||s&&r||!i)return-1}return 0}e.exports=function(e,r,n){if(!Array.isArray(e))return[];Array.isArray(n)||(n=[]);var i=e.map((function(e,t){return{criteria:r.map((function(t){return e[t]})),index:t,value:e}}));return i.sort((function(e,r){for(var i=-1;++i<e.criteria.length;){var s=t(e.criteria[i],r.criteria[i]);if(s)return i>=n.length?s:"desc"===n[i]?-s:s}return e.index-r.index})),i.map((function(e){return e.value}))}},17507:e=>{"use strict";e.exports=function e(t){if("number"==typeof t)return t;if("string"==typeof t)return parseFloat(t);if(Array.isArray(t))return t.map(e);throw new Error("The value should be a number, a parsable string or an array of those.")}},49228:(e,t,r)=>{"use strict";var n=r(44728);function i(e){return Object.keys(e).sort().reduce((function(t,r){return t[r]=e[r],t}),{})}var s={_getQueries:function(e,t){var r=[];return r.push({indexName:e,params:s._getHitsSearchParams(t)}),t.getRefinedDisjunctiveFacets().forEach((function(n){r.push({indexName:e,params:s._getDisjunctiveFacetSearchParams(t,n)})})),t.getRefinedHierarchicalFacets().forEach((function(n){var i=t.getHierarchicalFacetByName(n),a=t.getHierarchicalRefinement(n),c=t._getHierarchicalFacetSeparator(i);if(a.length>0&&a[0].split(c).length>1){var u=a[0].split(c).slice(0,-1).reduce((function(e,t,r){return e.concat({attribute:i.attributes[r],value:0===r?t:[e[e.length-1].value,t].join(c)})}),[]);u.forEach((function(n,a){var c=s._getDisjunctiveFacetSearchParams(t,n.attribute,0===a);function o(e){return i.attributes.some((function(t){return t===e.split(":")[0]}))}var h=(c.facetFilters||[]).reduce((function(e,t){if(Array.isArray(t)){var r=t.filter((function(e){return!o(e)}));r.length>0&&e.push(r)}return"string"!=typeof t||o(t)||e.push(t),e}),[]),f=u[a-1];c.facetFilters=a>0?h.concat(f.attribute+":"+f.value):h.length>0?h:void 0,r.push({indexName:e,params:c})}))}})),r},_getHitsSearchParams:function(e){var t=e.facets.concat(e.disjunctiveFacets).concat(s._getHitsHierarchicalFacetsAttributes(e)).sort(),r=s._getFacetFilters(e),a=s._getNumericFilters(e),c=s._getTagFilters(e),u={facets:t.indexOf("*")>-1?["*"]:t,tagFilters:c};return r.length>0&&(u.facetFilters=r),a.length>0&&(u.numericFilters=a),i(n({},e.getQueryParams(),u))},_getDisjunctiveFacetSearchParams:function(e,t,r){var a=s._getFacetFilters(e,t,r),c=s._getNumericFilters(e,t),u=s._getTagFilters(e),o={hitsPerPage:0,page:0,analytics:!1,clickAnalytics:!1};u.length>0&&(o.tagFilters=u);var h=e.getHierarchicalFacetByName(t);return o.facets=h?s._getDisjunctiveHierarchicalFacetAttribute(e,h,r):t,c.length>0&&(o.numericFilters=c),a.length>0&&(o.facetFilters=a),i(n({},e.getQueryParams(),o))},_getNumericFilters:function(e,t){if(e.numericFilters)return e.numericFilters;var r=[];return Object.keys(e.numericRefinements).forEach((function(n){var i=e.numericRefinements[n]||{};Object.keys(i).forEach((function(e){var s=i[e]||[];t!==n&&s.forEach((function(t){if(Array.isArray(t)){var i=t.map((function(t){return n+e+t}));r.push(i)}else r.push(n+e+t)}))}))})),r},_getTagFilters:function(e){return e.tagFilters?e.tagFilters:e.tagRefinements.join(",")},_getFacetFilters:function(e,t,r){var n=[],i=e.facetsRefinements||{};Object.keys(i).sort().forEach((function(e){(i[e]||[]).slice().sort().forEach((function(t){n.push(e+":"+t)}))}));var s=e.facetsExcludes||{};Object.keys(s).sort().forEach((function(e){(s[e]||[]).sort().forEach((function(t){n.push(e+":-"+t)}))}));var a=e.disjunctiveFacetsRefinements||{};Object.keys(a).sort().forEach((function(e){var r=a[e]||[];if(e!==t&&r&&0!==r.length){var i=[];r.slice().sort().forEach((function(t){i.push(e+":"+t)})),n.push(i)}}));var c=e.hierarchicalFacetsRefinements||{};return Object.keys(c).sort().forEach((function(i){var s=(c[i]||[])[0];if(void 0!==s){var a,u,o=e.getHierarchicalFacetByName(i),h=e._getHierarchicalFacetSeparator(o),f=e._getHierarchicalRootPath(o);if(t===i){if(-1===s.indexOf(h)||!f&&!0===r||f&&f.split(h).length===s.split(h).length)return;f?(u=f.split(h).length-1,s=f):(u=s.split(h).length-2,s=s.slice(0,s.lastIndexOf(h))),a=o.attributes[u]}else u=s.split(h).length-1,a=o.attributes[u];a&&n.push([a+":"+s])}})),n},_getHitsHierarchicalFacetsAttributes:function(e){return e.hierarchicalFacets.reduce((function(t,r){var n=e.getHierarchicalRefinement(r.name)[0];if(!n)return t.push(r.attributes[0]),t;var i=e._getHierarchicalFacetSeparator(r),s=n.split(i).length,a=r.attributes.slice(0,s+1);return t.concat(a)}),[])},_getDisjunctiveHierarchicalFacetAttribute:function(e,t,r){var n=e._getHierarchicalFacetSeparator(t);if(!0===r){var i=e._getHierarchicalRootPath(t),s=0;return i&&(s=i.split(n).length),[t.attributes[s]]}var a=(e.getHierarchicalRefinement(t.name)[0]||"").split(n).length-1;return t.attributes.slice(0,a+1)},getSearchForFacetQuery:function(e,t,r,a){var c=a.isDisjunctiveFacet(e)?a.clearRefinements(e):a,u={facetQuery:t,facetName:e};return"number"==typeof r&&(u.maxFacetHits=r),i(n({},s._getHitsSearchParams(c),u))}};e.exports=s},72208:e=>{"use strict";e.exports=function(e){return null!==e&&/^[a-zA-Z0-9_-]{1,64}$/.test(e)}},16938:e=>{"use strict";e.exports="3.16.3"},83643:function(e){e.exports=function(){"use strict";function e(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function t(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}function r(r){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?t(Object(i),!0).forEach((function(t){e(r,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(i)):t(Object(i)).forEach((function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(i,e))}))}return r}function n(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var r=[],n=!0,i=!1,s=void 0;try{for(var a,c=e[Symbol.iterator]();!(n=(a=c.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){i=!0,s=e}finally{try{n||null==c.return||c.return()}finally{if(i)throw s}}return r}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function s(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function a(e){var t,r="algoliasearch-client-js-".concat(e.key),n=function(){return void 0===t&&(t=e.localStorage||window.localStorage),t},s=function(){return JSON.parse(n().getItem(r)||"{}")},a=function(e){n().setItem(r,JSON.stringify(e))},c=function(){var t=e.timeToLive?1e3*e.timeToLive:null,r=s(),n=Object.fromEntries(Object.entries(r).filter((function(e){return void 0!==i(e,2)[1].timestamp})));if(a(n),t){var c=Object.fromEntries(Object.entries(n).filter((function(e){var r=i(e,2)[1],n=(new Date).getTime();return!(r.timestamp+t<n)})));a(c)}};return{get:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return Promise.resolve().then((function(){c();var t=JSON.stringify(e);return s()[t]})).then((function(e){return Promise.all([e?e.value:t(),void 0!==e])})).then((function(e){var t=i(e,2),n=t[0],s=t[1];return Promise.all([n,s||r.miss(n)])})).then((function(e){return i(e,1)[0]}))},set:function(e,t){return Promise.resolve().then((function(){var i=s();return i[JSON.stringify(e)]={timestamp:(new Date).getTime(),value:t},n().setItem(r,JSON.stringify(i)),t}))},delete:function(e){return Promise.resolve().then((function(){var t=s();delete t[JSON.stringify(e)],n().setItem(r,JSON.stringify(t))}))},clear:function(){return Promise.resolve().then((function(){n().removeItem(r)}))}}}function c(e){var t=s(e.caches),r=t.shift();return void 0===r?{get:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return t().then((function(e){return Promise.all([e,r.miss(e)])})).then((function(e){return i(e,1)[0]}))},set:function(e,t){return Promise.resolve(t)},delete:function(e){return Promise.resolve()},clear:function(){return Promise.resolve()}}:{get:function(e,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return r.get(e,n,i).catch((function(){return c({caches:t}).get(e,n,i)}))},set:function(e,n){return r.set(e,n).catch((function(){return c({caches:t}).set(e,n)}))},delete:function(e){return r.delete(e).catch((function(){return c({caches:t}).delete(e)}))},clear:function(){return r.clear().catch((function(){return c({caches:t}).clear()}))}}}function u(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{serializable:!0},t={};return{get:function(r,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},s=JSON.stringify(r);if(s in t)return Promise.resolve(e.serializable?JSON.parse(t[s]):t[s]);var a=n(),c=i&&i.miss||function(){return Promise.resolve()};return a.then((function(e){return c(e)})).then((function(){return a}))},set:function(r,n){return t[JSON.stringify(r)]=e.serializable?JSON.stringify(n):n,Promise.resolve(n)},delete:function(e){return delete t[JSON.stringify(e)],Promise.resolve()},clear:function(){return t={},Promise.resolve()}}}function o(e){for(var t=e.length-1;t>0;t--){var r=Math.floor(Math.random()*(t+1)),n=e[t];e[t]=e[r],e[r]=n}return e}function h(e,t){return t?(Object.keys(t).forEach((function(r){e[r]=t[r](e)})),e):e}function f(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];var i=0;return e.replace(/%s/g,(function(){return encodeURIComponent(r[i++])}))}var l={WithinQueryParameters:0,WithinHeaders:1};function m(e,t){var r=e||{},n=r.data||{};return Object.keys(r).forEach((function(e){-1===["timeout","headers","queryParameters","data","cacheable"].indexOf(e)&&(n[e]=r[e])})),{data:Object.entries(n).length>0?n:void 0,timeout:r.timeout||t,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}var d={Read:1,Write:2,Any:3},p=1,v=2,g=3;function y(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;return r(r({},e),{},{status:t,lastUpdate:Date.now()})}function R(e){return"string"==typeof e?{protocol:"https",url:e,accept:d.Any}:{protocol:e.protocol||"https",url:e.url,accept:e.accept||d.Any}}var F="GET",b="POST";function j(e,t){return Promise.all(t.map((function(t){return e.get(t,(function(){return Promise.resolve(y(t))}))}))).then((function(e){var r=e.filter((function(e){return function(e){return e.status===p||Date.now()-e.lastUpdate>12e4}(e)})),n=e.filter((function(e){return function(e){return e.status===g&&Date.now()-e.lastUpdate<=12e4}(e)})),i=[].concat(s(r),s(n));return{getTimeout:function(e,t){return(0===n.length&&0===e?1:n.length+3+e)*t},statelessHosts:i.length>0?i.map((function(e){return R(e)})):t}}))}function P(e,t,n,i){var a=[],c=function(e,t){if(e.method!==F&&(void 0!==e.data||void 0!==t.data)){var n=Array.isArray(e.data)?e.data:r(r({},e.data),t.data);return JSON.stringify(n)}}(n,i),u=function(e,t){var n=r(r({},e.headers),t.headers),i={};return Object.keys(n).forEach((function(e){var t=n[e];i[e.toLowerCase()]=t})),i}(e,i),o=n.method,h=n.method!==F?{}:r(r({},n.data),i.data),f=r(r(r({"x-algolia-agent":e.userAgent.value},e.queryParameters),h),i.queryParameters),l=0,m=function t(r,s){var h=r.pop();if(void 0===h)throw{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:O(a)};var m={data:c,headers:u,method:o,url:_(h,n.path,f),connectTimeout:s(l,e.timeouts.connect),responseTimeout:s(l,i.timeout)},d=function(e){var t={request:m,response:e,host:h,triesLeft:r.length};return a.push(t),t},p={onSuccess:function(e){return function(e){try{return JSON.parse(e.content)}catch(t){throw function(e,t){return{name:"DeserializationError",message:e,response:t}}(t.message,e)}}(e)},onRetry:function(n){var i=d(n);return n.isTimedOut&&l++,Promise.all([e.logger.info("Retryable failure",w(i)),e.hostsCache.set(h,y(h,n.isTimedOut?g:v))]).then((function(){return t(r,s)}))},onFail:function(e){throw d(e),function(e,t){var r=e.content,n=e.status,i=r;try{i=JSON.parse(r).message}catch(e){}return function(e,t,r){return{name:"ApiError",message:e,status:t,transporterStackTrace:r}}(i,n,t)}(e,O(a))}};return e.requester.send(m).then((function(e){return function(e,t){return function(e){var t=e.status;return e.isTimedOut||function(e){var t=e.isTimedOut,r=e.status;return!t&&!~~r}(e)||2!=~~(t/100)&&4!=~~(t/100)}(e)?t.onRetry(e):2==~~(e.status/100)?t.onSuccess(e):t.onFail(e)}(e,p)}))};return j(e.hostsCache,t).then((function(e){return m(s(e.statelessHosts).reverse(),e.getTimeout)}))}function x(e){var t={value:"Algolia for JavaScript (".concat(e,")"),add:function(e){var r="; ".concat(e.segment).concat(void 0!==e.version?" (".concat(e.version,")"):"");return-1===t.value.indexOf(r)&&(t.value="".concat(t.value).concat(r)),t}};return t}function _(e,t,r){var n=E(r),i="".concat(e.protocol,"://").concat(e.url,"/").concat("/"===t.charAt(0)?t.substr(1):t);return n.length&&(i+="?".concat(n)),i}function E(e){return Object.keys(e).map((function(t){return f("%s=%s",t,(r=e[t],"[object Object]"===Object.prototype.toString.call(r)||"[object Array]"===Object.prototype.toString.call(r)?JSON.stringify(e[t]):e[t]));var r})).join("&")}function O(e){return e.map((function(e){return w(e)}))}function w(e){var t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return r(r({},e),{},{request:r(r({},e.request),{},{headers:r(r({},e.request.headers),t)})})}var A=function(e){var t=e.appId,n=function(e,t,r){var n={"x-algolia-api-key":r,"x-algolia-application-id":t};return{headers:function(){return e===l.WithinHeaders?n:{}},queryParameters:function(){return e===l.WithinQueryParameters?n:{}}}}(void 0!==e.authMode?e.authMode:l.WithinHeaders,t,e.apiKey),s=function(e){var t=e.hostsCache,r=e.logger,n=e.requester,s=e.requestsCache,a=e.responsesCache,c=e.timeouts,u=e.userAgent,o=e.hosts,h=e.queryParameters,f={hostsCache:t,logger:r,requester:n,requestsCache:s,responsesCache:a,timeouts:c,userAgent:u,headers:e.headers,queryParameters:h,hosts:o.map((function(e){return R(e)})),read:function(e,t){var r=m(t,f.timeouts.read),n=function(){return P(f,f.hosts.filter((function(e){return!!(e.accept&d.Read)})),e,r)};if(!0!==(void 0!==r.cacheable?r.cacheable:e.cacheable))return n();var s={request:e,mappedRequestOptions:r,transporter:{queryParameters:f.queryParameters,headers:f.headers}};return f.responsesCache.get(s,(function(){return f.requestsCache.get(s,(function(){return f.requestsCache.set(s,n()).then((function(e){return Promise.all([f.requestsCache.delete(s),e])}),(function(e){return Promise.all([f.requestsCache.delete(s),Promise.reject(e)])})).then((function(e){var t=i(e,2);return t[0],t[1]}))}))}),{miss:function(e){return f.responsesCache.set(s,e)}})},write:function(e,t){return P(f,f.hosts.filter((function(e){return!!(e.accept&d.Write)})),e,m(t,f.timeouts.write))}};return f}(r(r({hosts:[{url:"".concat(t,"-dsn.algolia.net"),accept:d.Read},{url:"".concat(t,".algolia.net"),accept:d.Write}].concat(o([{url:"".concat(t,"-1.algolianet.com")},{url:"".concat(t,"-2.algolianet.com")},{url:"".concat(t,"-3.algolianet.com")}]))},e),{},{headers:r(r(r({},n.headers()),{"content-type":"application/x-www-form-urlencoded"}),e.headers),queryParameters:r(r({},n.queryParameters()),e.queryParameters)}));return h({transporter:s,appId:t,addAlgoliaAgent:function(e,t){s.userAgent.add({segment:e,version:t})},clearCache:function(){return Promise.all([s.requestsCache.clear(),s.responsesCache.clear()]).then((function(){}))}},e.methods)},N=function(e){return function(t,r){return t.method===F?e.transporter.read(t,r):e.transporter.write(t,r)}},H=function(e){return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return h({transporter:e.transporter,appId:e.appId,indexName:t},r.methods)}},S=function(e){return function(t,n){var i=t.map((function(e){return r(r({},e),{},{params:E(e.params||{})})}));return e.transporter.read({method:b,path:"1/indexes/*/queries",data:{requests:i},cacheable:!0},n)}},T=function(e){return function(t,i){return Promise.all(t.map((function(t){var s=t.params,a=s.facetName,c=s.facetQuery,u=n(s,["facetName","facetQuery"]);return H(e)(t.indexName,{methods:{searchForFacetValues:D}}).searchForFacetValues(a,c,r(r({},i),u))})))}},Q=function(e){return function(t,r,n){return e.transporter.read({method:b,path:f("1/answers/%s/prediction",e.indexName),data:{query:t,queryLanguages:r},cacheable:!0},n)}},C=function(e){return function(t,r){return e.transporter.read({method:b,path:f("1/indexes/%s/query",e.indexName),data:{query:t},cacheable:!0},r)}},D=function(e){return function(t,r,n){return e.transporter.read({method:b,path:f("1/indexes/%s/facets/%s/query",e.indexName,t),data:{facetQuery:r},cacheable:!0},n)}},I=1,k=2,q=3;function V(e,t,n){var i,s={appId:e,apiKey:t,timeouts:{connect:1,read:2,write:30},requester:{send:function(e){return new Promise((function(t){var r=new XMLHttpRequest;r.open(e.method,e.url,!0),Object.keys(e.headers).forEach((function(t){return r.setRequestHeader(t,e.headers[t])}));var n,i=function(e,n){return setTimeout((function(){r.abort(),t({status:0,content:n,isTimedOut:!0})}),1e3*e)},s=i(e.connectTimeout,"Connection timeout");r.onreadystatechange=function(){r.readyState>r.OPENED&&void 0===n&&(clearTimeout(s),n=i(e.responseTimeout,"Socket timeout"))},r.onerror=function(){0===r.status&&(clearTimeout(s),clearTimeout(n),t({content:r.responseText||"Network request failed",status:r.status,isTimedOut:!1}))},r.onload=function(){clearTimeout(s),clearTimeout(n),t({content:r.responseText,status:r.status,isTimedOut:!1})},r.send(e.data)}))}},logger:(i=q,{debug:function(e,t){return I>=i&&console.debug(e,t),Promise.resolve()},info:function(e,t){return k>=i&&console.info(e,t),Promise.resolve()},error:function(e,t){return console.error(e,t),Promise.resolve()}}),responsesCache:u(),requestsCache:u({serializable:!1}),hostsCache:c({caches:[a({key:"".concat("4.22.1","-").concat(e)}),u()]}),userAgent:x("4.22.1").add({segment:"Browser",version:"lite"}),authMode:l.WithinQueryParameters};return A(r(r(r({},s),n),{},{methods:{search:S,searchForFacetValues:T,multipleQueries:S,multipleSearchForFacetValues:T,customRequest:N,initIndex:function(e){return function(t){return H(e)(t,{methods:{search:C,searchForFacetValues:D,findAnswers:Q}})}}}}))}return V.version="4.22.1",V}()},53465:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(96540),i=r(44586);const s=["zero","one","two","few","many","other"];function a(e){return s.filter((t=>e.includes(t)))}const c={locale:"en",pluralForms:a(["one","other"]),select:e=>1===e?"one":"other"};function u(){const{i18n:{currentLocale:e}}=(0,i.A)();return(0,n.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:a(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`),c}}),[e])}function o(){const e=u();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 i=r.select(t),s=r.pluralForms.indexOf(i);return n[Math.min(s,n.length-1)]}(r,t,e)}}},74604:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>w});var n=r(96540),i=r(34164),s=r(74103),a=r.n(s),c=r(83643),u=r.n(c),o=r(38193),h=r(5260),f=r(28774),l=r(44070),m=r(53465),d=r(24255),p=r(89532),v=r(69024),g=r(20481),y=r(21312),R=r(44586),F=r(38126),b=r(51062),j=r(49641),P=r(51107);const x={searchQueryInput:"searchQueryInput_u2C7",searchVersionInput:"searchVersionInput_m0Ui",searchResultsColumn:"searchResultsColumn_JPFH",algoliaLogo:"algoliaLogo_rT1R",algoliaLogoPathFill:"algoliaLogoPathFill_WdUC",searchResultItem:"searchResultItem_Tv2o",searchResultItemHeading:"searchResultItemHeading_KbCB",searchResultItemPath:"searchResultItemPath_lhe1",searchResultItemSummary:"searchResultItemSummary_AEaO",searchQueryColumn:"searchQueryColumn_RTkw",searchVersionColumn:"searchVersionColumn_ypXd",searchLogoColumn:"searchLogoColumn_rJIA",loadingSpinner:"loadingSpinner_XVxU","loading-spin":"loading-spin_vzvp",loader:"loader_vvXV"};var _=r(74848);function E(e){let{docsSearchVersionsHelpers:t}=e;const r=Object.entries(t.allDocsData).filter((e=>{let[,t]=e;return t.versions.length>1}));return(0,_.jsx)("div",{className:(0,i.A)("col","col--3","padding-left--none",x.searchVersionColumn),children:r.map((e=>{let[n,i]=e;const s=r.length>1?`${n}: `:"";return(0,_.jsx)("select",{onChange:e=>t.setSearchVersion(n,e.target.value),defaultValue:t.searchVersions[n],className:x.searchVersionInput,children:i.versions.map(((e,t)=>(0,_.jsx)("option",{label:`${s}${e.label}`,value:e.name},t)))},n)}))})}function O(){const{i18n:{currentLocale:e}}=(0,R.A)(),{algolia:{appId:t,apiKey:r,indexName:s}}=(0,F.c)(),c=(0,b.C)(),v=function(){const{selectMessage:e}=(0,m.W)();return t=>e(t,(0,y.T)({id:"theme.SearchPage.documentsFound.plurals",description:'Pluralized label for "{count} documents found". 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 document found|{count} documents found"},{count:t}))}(),O=function(){const e=(0,l.Gy)(),[t,r]=(0,n.useState)((()=>Object.entries(e).reduce(((e,t)=>{let[r,n]=t;return{...e,[r]:n.versions[0].name}}),{}))),i=Object.values(e).some((e=>e.versions.length>1));return{allDocsData:e,versioningEnabled:i,searchVersions:t,setSearchVersion:(e,t)=>r((r=>({...r,[e]:t})))}}(),[w,A]=(0,d.b)(),N={items:[],query:null,totalResults:null,totalPages:null,lastPage:null,hasMore:null,loading:null},[H,S]=(0,n.useReducer)(((e,t)=>{switch(t.type){case"reset":return N;case"loading":return{...e,loading:!0};case"update":return w!==t.value.query?e:{...t.value,items:0===t.value.lastPage?t.value.items:e.items.concat(t.value.items)};case"advance":{const t=e.totalPages>e.lastPage+1;return{...e,lastPage:t?e.lastPage+1:e.lastPage,hasMore:t}}default:return e}}),N),T=u()(t,r),Q=a()(T,s,{hitsPerPage:15,advancedSyntax:!0,disjunctiveFacets:["language","docusaurus_tag"]});Q.on("result",(e=>{let{results:{query:t,hits:r,page:n,nbHits:i,nbPages:s}}=e;if(""===t||!Array.isArray(r))return void S({type:"reset"});const a=e=>e.replace(/algolia-docsearch-suggestion--highlight/g,"search-result-match"),u=r.map((e=>{let{url:t,_highlightResult:{hierarchy:r},_snippetResult:n={}}=e;const i=Object.keys(r).map((e=>a(r[e].value)));return{title:i.pop(),url:c(t),summary:n.content?`${a(n.content.value)}...`:"",breadcrumbs:i}}));S({type:"update",value:{items:u,query:t,totalResults:i,totalPages:s,lastPage:n,hasMore:s>n+1,loading:!1}})}));const[C,D]=(0,n.useState)(null),I=(0,n.useRef)(0),k=(0,n.useRef)(o.A.canUseIntersectionObserver&&new IntersectionObserver((e=>{const{isIntersecting:t,boundingClientRect:{y:r}}=e[0];t&&I.current>r&&S({type:"advance"}),I.current=r}),{threshold:1})),q=()=>w?(0,y.T)({id:"theme.SearchPage.existingResultsTitle",message:'Search results for "{query}"',description:"The search page title for non-empty query"},{query:w}):(0,y.T)({id:"theme.SearchPage.emptyResultsTitle",message:"Search the documentation",description:"The search page title for empty query"}),V=(0,p._q)((function(t){void 0===t&&(t=0),Q.addDisjunctiveFacetRefinement("docusaurus_tag","default"),Q.addDisjunctiveFacetRefinement("language",e),Object.entries(O.searchVersions).forEach((e=>{let[t,r]=e;Q.addDisjunctiveFacetRefinement("docusaurus_tag",`docs-${t}-${r}`)})),Q.setQuery(w).setPage(t).search()}));return(0,n.useEffect)((()=>{if(!C)return;const e=k.current;return e?(e.observe(C),()=>e.unobserve(C)):()=>!0}),[C]),(0,n.useEffect)((()=>{S({type:"reset"}),w&&(S({type:"loading"}),setTimeout((()=>{V()}),300))}),[w,O.searchVersions,V]),(0,n.useEffect)((()=>{H.lastPage&&0!==H.lastPage&&V(H.lastPage)}),[V,H.lastPage]),(0,_.jsxs)(j.A,{children:[(0,_.jsxs)(h.A,{children:[(0,_.jsx)("title",{children:(0,g.s)(q())}),(0,_.jsx)("meta",{property:"robots",content:"noindex, follow"})]}),(0,_.jsxs)("div",{className:"container margin-vert--lg",children:[(0,_.jsx)(P.A,{as:"h1",children:q()}),(0,_.jsxs)("form",{className:"row",onSubmit:e=>e.preventDefault(),children:[(0,_.jsx)("div",{className:(0,i.A)("col",x.searchQueryColumn,{"col--9":O.versioningEnabled,"col--12":!O.versioningEnabled}),children:(0,_.jsx)("input",{type:"search",name:"q",className:x.searchQueryInput,placeholder:(0,y.T)({id:"theme.SearchPage.inputPlaceholder",message:"Type your search here",description:"The placeholder for search page input"}),"aria-label":(0,y.T)({id:"theme.SearchPage.inputLabel",message:"Search",description:"The ARIA label for search page input"}),onChange:e=>A(e.target.value),value:w,autoComplete:"off",autoFocus:!0})}),O.versioningEnabled&&(0,_.jsx)(E,{docsSearchVersionsHelpers:O})]}),(0,_.jsxs)("div",{className:"row",children:[(0,_.jsx)("div",{className:(0,i.A)("col","col--8",x.searchResultsColumn),children:!!H.totalResults&&v(H.totalResults)}),(0,_.jsx)("div",{className:(0,i.A)("col","col--4","text--right",x.searchLogoColumn),children:(0,_.jsx)(f.A,{to:"https://www.algolia.com/","aria-label":(0,y.T)({id:"theme.SearchPage.algoliaLabel",message:"Search by Algolia",description:"The ARIA label for Algolia mention"}),children:(0,_.jsx)("svg",{viewBox:"0 0 168 24",className:x.algoliaLogo,children:(0,_.jsxs)("g",{fill:"none",children:[(0,_.jsx)("path",{className:x.algoliaLogoPathFill,d:"M120.925 18.804c-4.386.02-4.386-3.54-4.386-4.106l-.007-13.336 2.675-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-10.846-2.18c.821 0 1.43-.047 1.855-.129v-2.719a6.334 6.334 0 0 0-1.574-.199 5.7 5.7 0 0 0-.897.069 2.699 2.699 0 0 0-.814.24c-.24.116-.439.28-.582.491-.15.212-.219.335-.219.656 0 .628.219.991.616 1.23s.938.362 1.615.362zm-.233-9.7c.883 0 1.629.109 2.231.328.602.218 1.088.525 1.444.915.363.396.609.922.76 1.483.157.56.232 1.175.232 1.85v6.874a32.5 32.5 0 0 1-1.868.314c-.834.123-1.772.185-2.813.185-.69 0-1.327-.069-1.895-.198a4.001 4.001 0 0 1-1.471-.636 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.803 0-.656.13-1.073.384-1.525a3.24 3.24 0 0 1 1.047-1.106c.445-.287.95-.492 1.532-.615a8.8 8.8 0 0 1 1.82-.185 8.404 8.404 0 0 1 1.972.24v-.438c0-.307-.035-.6-.11-.874a1.88 1.88 0 0 0-.384-.73 1.784 1.784 0 0 0-.724-.493 3.164 3.164 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.735 7.735 0 0 0-1.26.307l-.321-2.192c.335-.117.834-.233 1.478-.349a10.98 10.98 0 0 1 2.073-.178zm52.842 9.626c.822 0 1.43-.048 1.854-.13V13.7a6.347 6.347 0 0 0-1.574-.199c-.294 0-.595.021-.896.069a2.7 2.7 0 0 0-.814.24 1.46 1.46 0 0 0-.582.491c-.15.212-.218.335-.218.656 0 .628.218.991.615 1.23.404.245.938.362 1.615.362zm-.226-9.694c.883 0 1.629.108 2.231.327.602.219 1.088.526 1.444.915.355.39.609.923.759 1.483a6.8 6.8 0 0 1 .233 1.852v6.873c-.41.088-1.034.19-1.868.314-.834.123-1.772.184-2.813.184-.69 0-1.327-.068-1.895-.198a4.001 4.001 0 0 1-1.471-.635 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.804 0-.656.13-1.073.384-1.524.26-.45.608-.82 1.047-1.107.445-.286.95-.491 1.532-.614a8.803 8.803 0 0 1 2.751-.13c.329.034.671.096 1.04.185v-.437a3.3 3.3 0 0 0-.109-.875 1.873 1.873 0 0 0-.384-.731 1.784 1.784 0 0 0-.724-.492 3.165 3.165 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.75 7.75 0 0 0-1.26.307l-.321-2.193c.335-.116.834-.232 1.478-.348a11.633 11.633 0 0 1 2.073-.177zm-8.034-1.271a1.626 1.626 0 0 1-1.628-1.62c0-.895.725-1.62 1.628-1.62.904 0 1.63.725 1.63 1.62 0 .895-.733 1.62-1.63 1.62zm1.348 13.22h-2.689V7.27l2.69-.423v11.956zm-4.714 0c-4.386.02-4.386-3.54-4.386-4.107l-.008-13.336 2.676-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-8.698-5.903c0-1.156-.253-2.119-.746-2.788-.493-.677-1.183-1.01-2.067-1.01-.882 0-1.574.333-2.065 1.01-.493.676-.733 1.632-.733 2.788 0 1.168.246 1.953.74 2.63.492.683 1.183 1.018 2.066 1.018.882 0 1.574-.342 2.067-1.019.492-.683.738-1.46.738-2.63zm2.737-.007c0 .902-.13 1.584-.397 2.33a5.52 5.52 0 0 1-1.128 1.906 4.986 4.986 0 0 1-1.752 1.223c-.685.286-1.739.45-2.265.45-.528-.006-1.574-.157-2.252-.45a5.096 5.096 0 0 1-1.744-1.223c-.487-.527-.863-1.162-1.137-1.906a6.345 6.345 0 0 1-.41-2.33c0-.902.123-1.77.397-2.508a5.554 5.554 0 0 1 1.15-1.892 5.133 5.133 0 0 1 1.75-1.216c.679-.287 1.425-.423 2.232-.423.808 0 1.553.142 2.237.423a4.88 4.88 0 0 1 1.753 1.216 5.644 5.644 0 0 1 1.135 1.892c.287.738.431 1.606.431 2.508zm-20.138 0c0 1.12.246 2.363.738 2.882.493.52 1.13.78 1.91.78.424 0 .828-.062 1.204-.178.377-.116.677-.253.917-.417V9.33a10.476 10.476 0 0 0-1.766-.226c-.971-.028-1.71.37-2.23 1.004-.513.636-.773 1.75-.773 2.788zm7.438 5.274c0 1.824-.466 3.156-1.404 4.004-.936.846-2.367 1.27-4.296 1.27-.705 0-2.17-.137-3.34-.396l.431-2.118c.98.205 2.272.26 2.95.26 1.074 0 1.84-.219 2.299-.656.459-.437.684-1.086.684-1.948v-.437a8.07 8.07 0 0 1-1.047.397c-.43.13-.93.198-1.492.198-.739 0-1.41-.116-2.018-.349a4.206 4.206 0 0 1-1.567-1.025c-.431-.45-.774-1.017-1.013-1.694-.24-.677-.363-1.885-.363-2.773 0-.834.13-1.88.384-2.577.26-.696.629-1.298 1.129-1.796.493-.498 1.095-.881 1.8-1.162a6.605 6.605 0 0 1 2.428-.457c.87 0 1.67.109 2.45.24.78.129 1.444.265 1.985.415V18.17zM6.972 6.677v1.627c-.712-.446-1.52-.67-2.425-.67-.585 0-1.045.13-1.38.391a1.24 1.24 0 0 0-.502 1.03c0 .425.164.765.494 1.02.33.256.835.532 1.516.83.447.192.795.356 1.045.495.25.138.537.332.862.582.324.25.563.548.718.894.154.345.23.741.23 1.188 0 .947-.334 1.691-1.004 2.234-.67.542-1.537.814-2.601.814-1.18 0-2.16-.229-2.936-.686v-1.708c.84.628 1.814.942 2.92.942.585 0 1.048-.136 1.388-.407.34-.271.51-.646.51-1.125 0-.287-.1-.55-.302-.79-.203-.24-.42-.42-.655-.542-.234-.123-.585-.29-1.053-.503a61.27 61.27 0 0 1-.582-.271 13.67 13.67 0 0 1-.55-.287 4.275 4.275 0 0 1-.567-.351 6.92 6.92 0 0 1-.455-.4c-.18-.17-.31-.34-.39-.51-.08-.17-.155-.37-.224-.598a2.553 2.553 0 0 1-.104-.742c0-.915.333-1.638.998-2.17.664-.532 1.523-.798 2.576-.798.968 0 1.793.17 2.473.51zm7.468 5.696v-.287c-.022-.607-.187-1.088-.495-1.444-.309-.357-.75-.535-1.324-.535-.532 0-.99.194-1.373.583-.382.388-.622.949-.717 1.683h3.909zm1.005 2.792v1.404c-.596.34-1.383.51-2.362.51-1.255 0-2.255-.377-3-1.132-.744-.755-1.116-1.744-1.116-2.968 0-1.297.34-2.316 1.021-3.055.68-.74 1.548-1.11 2.6-1.11 1.033 0 1.852.323 2.458.966.606.644.91 1.572.91 2.784 0 .33-.033.676-.096 1.038h-5.314c.107.702.405 1.239.894 1.611.49.372 1.106.558 1.85.558.862 0 1.58-.202 2.155-.606zm6.605-1.77h-1.212c-.596 0-1.045.116-1.349.35-.303.234-.454.532-.454.894 0 .372.117.664.35.877.235.213.575.32 1.022.32.51 0 .912-.142 1.204-.424.293-.281.44-.651.44-1.108v-.91zm-4.068-2.554V9.325c.627-.361 1.457-.542 2.489-.542 2.116 0 3.175 1.026 3.175 3.08V17h-1.548v-.957c-.415.68-1.143 1.02-2.186 1.02-.766 0-1.38-.22-1.843-.661-.462-.442-.694-1.003-.694-1.684 0-.776.293-1.38.878-1.81.585-.431 1.404-.647 2.457-.647h1.34V11.8c0-.554-.133-.971-.399-1.253-.266-.282-.707-.423-1.324-.423a4.07 4.07 0 0 0-2.345.718zm9.333-1.93v1.42c.394-1 1.101-1.5 2.123-1.5.148 0 .313.016.494.048v1.531a1.885 1.885 0 0 0-.75-.143c-.542 0-.989.24-1.34.718-.351.479-.527 1.048-.527 1.707V17h-1.563V8.91h1.563zm5.01 4.084c.022.82.272 1.492.75 2.019.479.526 1.15.79 2.01.79.639 0 1.235-.176 1.788-.527v1.404c-.521.319-1.186.479-1.995.479-1.265 0-2.276-.4-3.031-1.197-.755-.798-1.133-1.792-1.133-2.984 0-1.16.38-2.151 1.14-2.975.761-.825 1.79-1.237 3.088-1.237.702 0 1.346.149 1.93.447v1.436a3.242 3.242 0 0 0-1.77-.495c-.84 0-1.513.266-2.019.798-.505.532-.758 1.213-.758 2.042zM40.24 5.72v4.579c.458-1 1.293-1.5 2.505-1.5.787 0 1.42.245 1.899.734.479.49.718 1.17.718 2.042V17h-1.564v-5.106c0-.553-.14-.98-.422-1.284-.282-.303-.652-.455-1.11-.455-.531 0-1.002.202-1.411.606-.41.405-.615 1.022-.615 1.851V17h-1.563V5.72h1.563zm14.966 10.02c.596 0 1.096-.253 1.5-.758.404-.506.606-1.157.606-1.955 0-.915-.202-1.62-.606-2.114-.404-.495-.92-.742-1.548-.742-.553 0-1.05.224-1.491.67-.442.447-.662 1.133-.662 2.058 0 .958.212 1.67.638 2.138.425.469.946.703 1.563.703zM53.004 5.72v4.42c.574-.894 1.388-1.341 2.44-1.341 1.022 0 1.857.383 2.506 1.149.649.766.973 1.781.973 3.047 0 1.138-.309 2.109-.925 2.912-.617.803-1.463 1.205-2.537 1.205-1.075 0-1.894-.447-2.457-1.34V17h-1.58V5.72h1.58zm9.908 11.104l-3.223-7.913h1.739l1.005 2.632 1.26 3.415c.096-.32.48-1.458 1.15-3.415l.909-2.632h1.66l-2.92 7.866c-.777 2.074-1.963 3.11-3.559 3.11a2.92 2.92 0 0 1-.734-.079v-1.34c.17.042.351.064.543.064 1.032 0 1.755-.57 2.17-1.708z"}),(0,_.jsx)("path",{fill:"#5468FF",d:"M78.988.938h16.594a2.968 2.968 0 0 1 2.966 2.966V20.5a2.967 2.967 0 0 1-2.966 2.964H78.988a2.967 2.967 0 0 1-2.966-2.964V3.897A2.961 2.961 0 0 1 78.988.938z"}),(0,_.jsx)("path",{fill:"white",d:"M89.632 5.967v-.772a.978.978 0 0 0-.978-.977h-2.28a.978.978 0 0 0-.978.977v.793c0 .088.082.15.171.13a7.127 7.127 0 0 1 1.984-.28c.65 0 1.295.088 1.917.259.082.02.164-.04.164-.13m-6.248 1.01l-.39-.389a.977.977 0 0 0-1.382 0l-.465.465a.973.973 0 0 0 0 1.38l.383.383c.062.061.15.047.205-.014.226-.307.472-.601.746-.874.281-.28.568-.526.883-.751.068-.042.075-.137.02-.2m4.16 2.453v3.341c0 .096.104.165.192.117l2.97-1.537c.068-.034.089-.117.055-.184a3.695 3.695 0 0 0-3.08-1.866c-.068 0-.136.054-.136.13m0 8.048a4.489 4.489 0 0 1-4.49-4.482 4.488 4.488 0 0 1 4.49-4.482 4.488 4.488 0 0 1 4.489 4.482 4.484 4.484 0 0 1-4.49 4.482m0-10.85a6.363 6.363 0 1 0 0 12.729 6.37 6.37 0 0 0 6.372-6.368 6.358 6.358 0 0 0-6.371-6.36"})]})})})})]}),H.items.length>0?(0,_.jsx)("main",{children:H.items.map(((e,t)=>{let{title:r,url:n,summary:s,breadcrumbs:a}=e;return(0,_.jsxs)("article",{className:x.searchResultItem,children:[(0,_.jsx)(P.A,{as:"h2",className:x.searchResultItemHeading,children:(0,_.jsx)(f.A,{to:n,dangerouslySetInnerHTML:{__html:r}})}),a.length>0&&(0,_.jsx)("nav",{"aria-label":"breadcrumbs",children:(0,_.jsx)("ul",{className:(0,i.A)("breadcrumbs",x.searchResultItemPath),children:a.map(((e,t)=>(0,_.jsx)("li",{className:"breadcrumbs__item",dangerouslySetInnerHTML:{__html:e}},t)))})}),s&&(0,_.jsx)("p",{className:x.searchResultItemSummary,dangerouslySetInnerHTML:{__html:s}})]},t)}))}):[w&&!H.loading&&(0,_.jsx)("p",{children:(0,_.jsx)(y.A,{id:"theme.SearchPage.noResultsText",description:"The paragraph for empty search result",children:"No results were found"})},"no-results"),!!H.loading&&(0,_.jsx)("div",{className:x.loadingSpinner},"spinner")],H.hasMore&&(0,_.jsx)("div",{className:x.loader,ref:D,children:(0,_.jsx)(y.A,{id:"theme.SearchPage.fetchingNewResults",description:"The paragraph for fetching new search results",children:"Fetching new results..."})})]})]})}function w(){return(0,_.jsx)(v.e3,{className:"search-page-wrapper",children:(0,_.jsx)(O,{})})}}}]); \ No newline at end of file diff --git a/assets/js/1a4e3797.ad4bdf33.js.LICENSE.txt b/assets/js/1a4e3797.ad4bdf33.js.LICENSE.txt deleted file mode 100644 index 9caab8b19..000000000 --- a/assets/js/1a4e3797.ad4bdf33.js.LICENSE.txt +++ /dev/null @@ -1 +0,0 @@ -/*! algoliasearch-lite.umd.js | 4.22.1 | © Algolia, inc. | https://github.com/algolia/algoliasearch-client-javascript */ diff --git a/assets/js/1ead2ae5.c7cf0a94.js b/assets/js/1ead2ae5.c7cf0a94.js new file mode 100644 index 000000000..3c797579f --- /dev/null +++ b/assets/js/1ead2ae5.c7cf0a94.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[61315],{26710:t=>{t.exports=JSON.parse('{"tag":{"label":"block","permalink":"/blog/tags/block","allTagsPath":"/blog/tags","count":2,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/block","page":1,"postsPerPage":9,"totalPages":1,"totalCount":2,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/2067e39b.8048a327.js b/assets/js/2067e39b.8048a327.js deleted file mode 100644 index 3ee9d541d..000000000 --- a/assets/js/2067e39b.8048a327.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[28801],{61733:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/taxonomy","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/2176bd9e.c5f85e4e.js b/assets/js/2176bd9e.c5f85e4e.js deleted file mode 100644 index edce2d794..000000000 --- a/assets/js/2176bd9e.c5f85e4e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[66131],{27058:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/fonts","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/23271.4b6b167e.js b/assets/js/23271.4b6b167e.js new file mode 100644 index 000000000..c25d3eefd --- /dev/null +++ b/assets/js/23271.4b6b167e.js @@ -0,0 +1,8 @@ +/*! For license information please see 23271.4b6b167e.js.LICENSE.txt */ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[23271],{23271:(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{QH:()=>startPlaygroundWeb,XT:()=>installTheme,gT:()=>wpCLI$1});var vt=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)},se=(e,t,r)=>(vt(e,t,"read from private field"),r?r.call(e):t.get(e)),ee=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)},fe=(e,t,r,n)=>(vt(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r),ae=(e,t,r)=>(vt(e,t,"access private method"),r);const currentJsRuntime=typeof process<"u"&&"node"===(null==(e=process.release)?void 0:e.name)?"NODE":typeof window<"u"?"WEB":typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?"WORKER":"NODE";var e;if("NODE"===currentJsRuntime){let e=function(e){return new Promise((function(t,r){e.onload=e.onerror=function(n){e.onload=e.onerror=null,"load"===n.type?t(e.result):r(new Error("Failed to read the blob/file"))}}))},t=function(){const e=new Uint8Array([1,2,3,4]),t=new File([e],"test").stream();try{return t.getReader({mode:"byob"}),!0}catch{return!1}};if(typeof File>"u"){class e extends Blob{constructor(e,t,r){let n;super(e),null!=r&&r.lastModified&&(n=new Date),(!n||isNaN(n.getFullYear()))&&(n=new Date),this.lastModifiedDate=n,this.lastModified=n.getMilliseconds(),this.name=t||""}}global.File=e}typeof Blob.prototype.arrayBuffer>"u"&&(Blob.prototype.arrayBuffer=function(){const t=new FileReader;return t.readAsArrayBuffer(this),e(t)}),typeof Blob.prototype.text>"u"&&(Blob.prototype.text=function(){const t=new FileReader;return t.readAsText(this),e(t)}),(typeof Blob.prototype.stream>"u"||!t())&&(Blob.prototype.stream=function(){let e=0;const t=this;return new ReadableStream({type:"bytes",autoAllocateChunkSize:524288,async pull(r){const n=r.byobRequest.view,o=await t.slice(e,e+n.byteLength).arrayBuffer(),s=new Uint8Array(o);new Uint8Array(n.buffer).set(s);const i=s.byteLength;r.byobRequest.respond(i),e+=i,e>=t.size&&r.close()}})})}if("NODE"===currentJsRuntime&&typeof CustomEvent>"u"){class e extends Event{constructor(e,t={}){super(e,t),this.detail=t.detail}initCustomEvent(){}}globalThis.CustomEvent=e}const wpContentFilesExcludedFromExport=["db.php","plugins/akismet","plugins/hello.php","plugins/wordpress-importer","mu-plugins/sqlite-database-integration","mu-plugins/playground-includes","mu-plugins/0-playground.php","themes/twentytwenty","themes/twentytwentyone","themes/twentytwentytwo","themes/twentytwentythree","themes/twentytwentyfour","themes/twentytwentyfive","themes/twentytwentysix"],SleepFinished=Symbol("SleepFinished");function sleep(e){return new Promise((t=>{setTimeout((()=>t(SleepFinished)),e)}))}class AcquireTimeoutError extends Error{constructor(){super("Acquiring lock timed out")}}class Semaphore{constructor({concurrency:e,timeout:t}){this._running=0,this.concurrency=e,this.timeout=t,this.queue=[]}get remaining(){return this.concurrency-this.running}get running(){return this._running}async acquire(){for(;;){if(!(this._running>=this.concurrency)){this._running++;let e=!1;return()=>{e||(e=!0,this._running--,this.queue.length>0&&this.queue.shift()())}}{const e=new Promise((e=>{this.queue.push(e)}));void 0!==this.timeout?await Promise.race([e,sleep(this.timeout)]).then((e=>{if(e===SleepFinished)throw new AcquireTimeoutError})):await e}}}async run(e){const t=await this.acquire();try{return await e()}finally{t()}}}function joinPaths(...e){let t=e.join("/");const r="/"===t[0],n="/"===t.substring(t.length-1);return t=normalizePath(t),!t&&!r&&(t="."),t&&n&&(t+="/"),t}function dirname(e){if("/"===e)return"/";const t=(e=normalizePath(e)).lastIndexOf("/");return-1===t?"":0===t?"/":e.substr(0,t)}function normalizePath(e){const t="/"===e[0];return(t?"/":"")+(e=normalizePathsArray(e.split("/").filter((e=>!!e)),!t).join("/")).replace(/\/$/,"")}function normalizePathsArray(e,t){let r=0;for(let n=e.length-1;n>=0;n--){const t=e[n];"."===t?e.splice(n,1):".."===t?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e}function splitShellCommand$1(e){let t=0,r="";const n=[];let o="";for(let s=0;s<e.length;s++){const i=e[s];"\\"===i?(('"'===e[s+1]||"'"===e[s+1])&&s++,o+=e[s]):0===t?'"'===i||"'"===i?(t=1,r=i):i.match(/\s/)?(o.trim().length&&n.push(o.trim()),o=i):n.length&&!o?o=n.pop()+i:o+=i:1===t&&(i===r?(t=0,r=""):o+=i)}return o&&n.push(o.trim()),n}function createSpawnHandler(e){return function(t,r=[],n={}){const o=new ChildProcess,s=new ProcessApi(o);return setTimeout((async()=>{let i=[];if(r.length)i=[t,...r];else if("string"==typeof t)i=splitShellCommand$1(t);else{if(!Array.isArray(t))throw new Error("Invalid command ",t);i=t}try{await e(i,s,n)}catch(a){o.emit("error",a),"object"==typeof a&&null!==a&&"message"in a&&"string"==typeof a.message&&s.stderr(a.message),s.exit(1)}o.emit("spawn",!0)})),o}}class EventEmitter{constructor(){this.listeners={}}emit(e,t){this.listeners[e]&&this.listeners[e].forEach((function(e){e(t)}))}on(e,t){this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(t)}}class ProcessApi extends EventEmitter{constructor(e){super(),this.childProcess=e,this.exited=!1,this.stdinData=[],e.on("stdin",(e=>{this.stdinData?this.stdinData.push(e.slice()):this.emit("stdin",e)}))}stdout(e){"string"==typeof e&&(e=(new TextEncoder).encode(e)),this.childProcess.stdout.emit("data",e)}stdoutEnd(){this.childProcess.stdout.emit("end",{})}stderr(e){"string"==typeof e&&(e=(new TextEncoder).encode(e)),this.childProcess.stderr.emit("data",e)}stderrEnd(){this.childProcess.stderr.emit("end",{})}exit(e){this.exited||(this.exited=!0,this.childProcess.emit("exit",e))}flushStdin(){if(this.stdinData)for(let e=0;e<this.stdinData.length;e++)this.emit("stdin",this.stdinData[e]);this.stdinData=null}}let lastPid=9743;class ChildProcess extends EventEmitter{constructor(e=lastPid++){super(),this.pid=e,this.stdout=new EventEmitter,this.stderr=new EventEmitter;const t=this;this.stdin={write:e=>{t.emit("stdin",e)}}}}function randomString(e=36,t="!@#$%^&*()_+=-[]/.,<>?"){const r="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"+t;let n="";for(let o=e;o>0;--o)n+=r[Math.floor(Math.random()*r.length)];return n}function randomFilename(){return randomString(36,"-_")}function phpVar(e){return`json_decode(base64_decode('${stringToBase64(JSON.stringify(e))}'), true)`}function phpVars(e){const t={};for(const r in e)t[r]=phpVar(e[r]);return t}function stringToBase64(e){return bytesToBase64((new TextEncoder).encode(e))}function bytesToBase64(e){const t=String.fromCodePoint(...e);return btoa(t)}const activatePlugin=async(e,{pluginPath:t,pluginName:r},n)=>{null==n||n.tracker.setCaption(`Activating ${r||t}`);const o=await e.documentRoot;await e.run({code:`<?php\ndefine( 'WP_ADMIN', true );\nrequire_once( ${phpVar(o)}. "/wp-load.php" );\nrequire_once( ${phpVar(o)}. "/wp-admin/includes/plugin.php" );\n\n// Set current user to admin\nwp_set_current_user( get_users(array('role' => 'Administrator') )[0]->ID );\n\n$plugin_path = ${phpVar(t)};\n\nif (!is_dir($plugin_path)) {\n\tactivate_plugin($plugin_path);\n\tdie();\n}\n\nforeach ( ( glob( $plugin_path . '/*.php' ) ?: array() ) as $file ) {\n\t$info = get_plugin_data( $file, false, false );\n\tif ( ! empty( $info['Name'] ) ) {\n\t\tactivate_plugin( $file );\n\t\tdie();\n\t}\n}\n\n// If we got here, the plugin was not found.\nexit(1);\n`})},activateTheme=async(e,{themeFolderName:t},r)=>{null==r||r.tracker.setCaption(`Activating ${t}`);const n=await e.documentRoot;await e.run({code:`<?php\ndefine( 'WP_ADMIN', true );\nrequire_once( ${phpVar(n)}. "/wp-load.php" );\n\n// Set current user to admin\nwp_set_current_user( get_users(array('role' => 'Administrator') )[0]->ID );\n\nswitch_theme( ${phpVar(t)} );\n`})},runPHP=async(e,{code:t})=>await e.run({code:t}),runPHPWithOptions=async(e,{options:t})=>await e.run(t),rm=async(e,{path:t})=>{await e.unlink(t)},runSql=async(e,{sql:t},r)=>{null==r||r.tracker.setCaption("Executing SQL Queries");const n=`/tmp/${randomFilename()}.sql`;await e.writeFile(n,new Uint8Array(await t.arrayBuffer()));const o=phpVars({docroot:await e.documentRoot,sqlFilename:n}),s=await e.run({code:`<?php\n\t\trequire_once ${o.docroot} . '/wp-load.php';\n\n\t\t$handle = fopen(${o.sqlFilename}, 'r');\n\t\t$buffer = '';\n\n\t\tglobal $wpdb;\n\n\t\twhile ($bytes = fgets($handle)) {\n\t\t\t$buffer .= $bytes;\n\n\t\t\tif (!feof($handle) && substr($buffer, -1, 1) !== "\n") {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t$wpdb->query($buffer);\n\t\t\t$buffer = '';\n\t\t}\n\t`});return await rm(e,{path:n}),s},logToConsole=(e,...t)=>{switch(e.severity){case"Debug":console.debug(e.message,...t);break;case"Info":console.info(e.message,...t);break;case"Warn":console.warn(e.message,...t);break;case"Error":case"Fatal":console.error(e.message,...t);break;default:console.log(e.message,...t)}},prepareLogMessage=(e,...t)=>["object"==typeof e?JSON.stringify(e):e,...t.map((e=>JSON.stringify(e)))].join(" "),logs=[],addToLogArray=e=>{logs.push(e)},logToMemory=e=>{if(!0===e.raw)addToLogArray(e.message);else{const t=formatLogEntry("object"==typeof e.message?prepareLogMessage(e.message):e.message,e.severity??"Info",e.prefix??"JavaScript");addToLogArray(t)}};class Logger extends EventTarget{constructor(e=[]){super(),this.handlers=e,this.fatalErrorEvent="playground-fatal-error"}getLogs(){return this.handlers.includes(logToMemory)?[...logs]:(this.error("Logs aren't stored because the logToMemory handler isn't registered.\n\t\t\t\tIf you're using a custom logger instance, make sure to register logToMemory handler.\n\t\t\t"),[])}logMessage(e,...t){for(const r of this.handlers)r(e,...t)}log(e,...t){this.logMessage({message:e,severity:void 0,prefix:"JavaScript",raw:!1},...t)}debug(e,...t){this.logMessage({message:e,severity:"Debug",prefix:"JavaScript",raw:!1},...t)}info(e,...t){this.logMessage({message:e,severity:"Info",prefix:"JavaScript",raw:!1},...t)}warn(e,...t){this.logMessage({message:e,severity:"Warn",prefix:"JavaScript",raw:!1},...t)}error(e,...t){this.logMessage({message:e,severity:"Error",prefix:"JavaScript",raw:!1},...t)}}const logger=new Logger([logToMemory,logToConsole]),formatLogEntry=(e,t,r)=>{const n=new Date;return`[${new Intl.DateTimeFormat("en-GB",{year:"numeric",month:"short",day:"2-digit",timeZone:"UTC"}).format(n).replace(/ /g,"-")+" "+new Intl.DateTimeFormat("en-GB",{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1,timeZone:"UTC",timeZoneName:"short"}).format(n)}] ${r} ${t}: ${e}`};let lastPHPLogLength=0;const errorLogPath="/wordpress/wp-content/debug.log",getRequestPhpErrorLog=async e=>await e.fileExists(errorLogPath)?await e.readFileAsText(errorLogPath):"",collectPhpLogs=(e,t)=>{t.addEventListener("request.end",(async()=>{const r=await getRequestPhpErrorLog(t);if(r.length>lastPHPLogLength){const t=r.substring(lastPHPLogLength);e.logMessage({message:t,raw:!0}),lastPHPLogLength=r.length}})),t.addEventListener("request.error",(t=>{t.error&&(e.logMessage({message:`${t.error.message} ${t.error.stack}`,severity:"Fatal",prefix:"request"===t.source?"PHP":"WASM Crash"}),e.dispatchEvent(new CustomEvent(e.fatalErrorEvent,{detail:{logs:e.getLogs(),source:t.source}})))}))},request=async(e,{request:t})=>{logger.warn('Deprecated: The Blueprint step "request" is deprecated and will be removed in a future release.');const r=await e.request(t);if(r.httpStatusCode>399||r.httpStatusCode<200)throw logger.warn("WordPress response was",{response:r}),new Error(`Request failed with status ${r.httpStatusCode}`);return r},rewriteWpConfigToDefineConstants="<?php\n\n/**\n * Rewrites the wp-config.php file to ensure specific constants are defined\n * with specific values.\n * \n * Example:\n * \n * ```php\n * <?php\n * define('WP_DEBUG', true);\n * // The third define() argument is also supported:\n * define('SAVEQUERIES', false, true);\n * \n * // Expression\n * define(true ? 'WP_DEBUG_LOG' : 'WP_DEBUG_LOG', 123);\n * \n * // Guarded expressions shouldn't be wrapped twice\n * if(!defined(1 ? 'A' : 'B')) {\n * define(1 ? 'A' : 'B', 0);\n * }\n * \n * // More advanced expression\n * define((function() use($x) {\n * return [$x, 'a'];\n * })(), 123);\n * ```\n * \n * Rewritten with\n * \n * $constants = [\n * 'WP_DEBUG' => false,\n * 'WP_DEBUG_LOG' => true,\n * 'SAVEQUERIES' => true,\n * 'NEW_CONSTANT' => \"new constant\",\n * ];\n * \n * ```php\n * <?php\n * define('WP_DEBUG_LOG',true);\n * define('NEW_CONSTANT','new constant');\n * ?><?php\n * define('WP_DEBUG',false);\n * // The third define() argument is also supported:\n * define('SAVEQUERIES',true, true);\n * \n * // Expression\n * if(!defined($const ? 'WP_DEBUG_LOG' : 'WP_DEBUG_LOG')) {\n * define($const ? 'WP_DEBUG_LOG' : 'WP_DEBUG_LOG', 123);\n * }\n * \n * // Guarded expressions shouldn't be wrapped twice\n * if(!defined(1 ? 'A' : 'B')) {\n * define(1 ? 'A' : 'B', 0);\n * }\n * \n * // More advanced expression\n * if(!defined((function() use($x) {\n * return [$x, 'a'];\n * })())) {\n * define((function() use($x) {\n * return [$x, 'a'];\n * })(), 123);\n * }\n * ```\n * \n * @param mixed $content\n * @return string\n */\nfunction rewrite_wp_config_to_define_constants($content, $constants = [])\n{\n $tokens = array_reverse(token_get_all($content));\n $output = [];\n $defined_expressions = [];\n\n // Look through all the tokens and find the define calls\n do {\n $buffer = [];\n $name_buffer = [];\n $value_buffer = [];\n $third_arg_buffer = [];\n\n // Capture everything until the define call into output.\n // Capturing the define call into a buffer.\n // Example:\n // <?php echo 'a'; define (\n // ^^^^^^^^^^^^^^^^^^^^^^\n // output |buffer\n while ($token = array_pop($tokens)) {\n if (is_array($token) && $token[0] === T_STRING && (strtolower($token[1]) === 'define' || strtolower($token[1]) === 'defined')) {\n $buffer[] = $token;\n break;\n }\n $output[] = $token;\n }\n\n // Maybe we didn't find a define call and reached the end of the file?\n if (!count($tokens)) {\n break;\n }\n\n // Keep track of the \"defined\" expressions that are already accounted for\n if($token[1] === 'defined') {\n $output[] = $token;\n $defined_expression = [];\n $open_parenthesis = 0;\n // Capture everything up to the opening parenthesis, including the parenthesis\n // e.g. defined (\n // ^^^^\n while ($token = array_pop($tokens)) {\n $output[] = $token;\n if ($token === \"(\") {\n ++$open_parenthesis;\n break;\n }\n }\n\n // Capture everything up to the closing parenthesis, including the parenthesis\n // e.g. defined (\n // ^^^^\n while ($token = array_pop($tokens)) {\n $output[] = $token;\n if ($token === \")\") {\n --$open_parenthesis;\n }\n if ($open_parenthesis === 0) {\n break;\n }\n $defined_expression[] = $token;\n }\n\n $defined_expressions[] = stringify_tokens(skip_whitespace($defined_expression));\n continue;\n }\n\n // Capture everything up to the opening parenthesis, including the parenthesis\n // e.g. define (\n // ^^^^\n while ($token = array_pop($tokens)) {\n $buffer[] = $token;\n if ($token === \"(\") {\n break;\n }\n }\n\n // Capture the first argument \u2013 it's the first expression after the opening\n // parenthesis and before the comma:\n // Examples:\n // define(\"WP_DEBUG\", true);\n // ^^^^^^^^^^^\n //\n // define(count([1,2]) > 2 ? 'WP_DEBUG' : 'FOO', true);\n // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n $open_parenthesis = 0;\n while ($token = array_pop($tokens)) {\n $buffer[] = $token;\n if ($token === \"(\" || $token === \"[\" || $token === \"{\") {\n ++$open_parenthesis;\n } elseif ($token === \")\" || $token === \"]\" || $token === \"}\") {\n --$open_parenthesis;\n } elseif ($token === \",\" && $open_parenthesis === 0) {\n break;\n }\n\n // Don't capture the comma as a part of the constant name\n $name_buffer[] = $token;\n }\n\n // Capture everything until the closing parenthesis\n // define(\"WP_DEBUG\", true);\n // ^^^^^^\n $open_parenthesis = 0;\n $is_second_argument = true;\n while ($token = array_pop($tokens)) {\n $buffer[] = $token;\n if ($token === \")\" && $open_parenthesis === 0) {\n // Final parenthesis of the define call.\n break;\n } else if ($token === \"(\" || $token === \"[\" || $token === \"{\") {\n ++$open_parenthesis;\n } elseif ($token === \")\" || $token === \"]\" || $token === \"}\") {\n --$open_parenthesis;\n } elseif ($token === \",\" && $open_parenthesis === 0) {\n // This define call has more than 2 arguments! The third one is the\n // boolean value indicating $is_case_insensitive. Let's continue capturing\n // to $third_arg_buffer.\n $is_second_argument = false;\n }\n if ($is_second_argument) {\n $value_buffer[] = $token;\n } else {\n $third_arg_buffer[] = $token;\n }\n }\n\n // Capture until the semicolon\n // define(\"WP_DEBUG\", true) ;\n // ^^^\n while ($token = array_pop($tokens)) {\n $buffer[] = $token;\n if ($token === \";\") {\n break;\n }\n }\n\n // Decide whether $name_buffer is a constant name or an expression\n $name_token = null;\n $name_token_index = $token;\n $name_is_literal = true;\n foreach ($name_buffer as $k => $token) {\n if (is_array($token)) {\n if ($token[0] === T_WHITESPACE || $token[0] === T_COMMENT || $token[0] === T_DOC_COMMENT) {\n continue;\n } else if ($token[0] === T_STRING || $token[0] === T_CONSTANT_ENCAPSED_STRING) {\n $name_token = $token;\n $name_token_index = $k;\n } else {\n $name_is_literal = false;\n break;\n }\n } else if ($token !== \"(\" && $token !== \")\") {\n $name_is_literal = false;\n break;\n }\n }\n\n // We can't handle expressions as constant names. Let's wrap that define\n // call in an if(!defined()) statement, just in case it collides with\n // a constant name.\n if (!$name_is_literal) {\n // Ensure the defined expression is not already accounted for\n foreach ($defined_expressions as $defined_expression) {\n if ($defined_expression === stringify_tokens(skip_whitespace($name_buffer))) {\n $output = array_merge($output, $buffer);\n continue 2;\n }\n }\n $output = array_merge(\n $output,\n [\"if(!defined(\"],\n $name_buffer,\n [\")) {\\n \"],\n ['define('],\n $name_buffer,\n [','],\n $value_buffer,\n $third_arg_buffer,\n [\");\"],\n [\"\\n}\\n\"]\n );\n continue;\n }\n\n // Yay, we have a literal constant name in the buffer now. Let's\n // get its value:\n $name = eval('return ' . $name_token[1] . ';');\n\n // If the constant name is not in the list of constants we're looking,\n // we can ignore it.\n if (!array_key_exists($name, $constants)) {\n $output = array_merge($output, $buffer);\n continue;\n }\n\n // We now have a define() call that defines a constant we're looking for.\n // Let's rewrite its value to the one \n $output = array_merge(\n $output,\n ['define('],\n $name_buffer,\n [','],\n [var_export($constants[$name], true)],\n $third_arg_buffer,\n [\");\"]\n );\n\n // Remove the constant from the list so we can process any remaining\n // constants later.\n unset($constants[$name]);\n } while (count($tokens));\n\n // Add any constants that weren't found in the file\n if (count($constants)) {\n $prepend = [\n \"<?php \\n\"\n ];\n foreach ($constants as $name => $value) {\n $prepend = array_merge(\n $prepend,\n [\n \"define(\",\n var_export($name, true),\n ',',\n var_export($value, true),\n \");\\n\"\n ]\n );\n }\n $prepend[] = \"?>\";\n $output = array_merge(\n $prepend,\n $output\n );\n }\n\n // Translate the output tokens back into a string\n return stringify_tokens($output);\n}\n\nfunction stringify_tokens($tokens) {\n $output = '';\n foreach ($tokens as $token) {\n if (is_array($token)) {\n $output .= $token[1];\n } else {\n $output .= $token;\n }\n }\n return $output;\n}\n\nfunction skip_whitespace($tokens) {\n $output = [];\n foreach ($tokens as $token) {\n if (is_array($token) && ($token[0] === T_WHITESPACE || $token[0] === T_COMMENT || $token[0] === T_DOC_COMMENT)) {\n continue;\n }\n $output[] = $token;\n }\n return $output;\n}\n",defineWpConfigConsts=async(e,{consts:t,method:r="rewrite-wp-config"})=>{switch(r){case"define-before-run":await defineBeforeRun(e,t);break;case"rewrite-wp-config":{const r=joinPaths(await e.documentRoot,"/wp-config.php"),n=await e.readFileAsText(r),o=await rewriteDefineCalls(e,n,t);await e.writeFile(r,o);break}default:throw new Error(`Invalid method: ${r}`)}};async function defineBeforeRun(e,t){for(const r in t)await e.defineConstant(r,t[r])}async function rewriteDefineCalls(e,t,r){await e.writeFile("/tmp/code.php",t);const n=phpVars({consts:r});return await e.run({code:`${rewriteWpConfigToDefineConstants}\n\t$wp_config_path = '/tmp/code.php';\n\t$wp_config = file_get_contents($wp_config_path);\n\t$new_wp_config = rewrite_wp_config_to_define_constants($wp_config, ${n.consts});\n\tfile_put_contents($wp_config_path, $new_wp_config);\n\t`}),await e.readFileAsText("/tmp/code.php")}const login=async(e,{username:t="admin",password:r="password"}={},n)=>{var o,s,i;null==n||n.tracker.setCaption((null==n?void 0:n.initialCaption)||"Logging in"),await e.request({url:"/wp-login.php"});const a=await e.request({url:"/wp-login.php",method:"POST",body:{log:t,pwd:r,rememberme:"forever"}});if(null==(i=null==(s=null==(o=a.headers)?void 0:o.location)?void 0:s[0])||!i.includes("/wp-admin/"))throw logger.warn("WordPress response was",{response:a,text:a.text}),new Error(`Failed to log in as ${t} with password ${r}`)},setSiteOptions=async(e,{options:t})=>{const r=await e.documentRoot;await e.run({code:`<?php\n\t\tinclude ${phpVar(r)} . '/wp-load.php';\n\t\t$site_options = ${phpVar(t)};\n\t\tforeach($site_options as $name => $value) {\n\t\t\tupdate_option($name, $value);\n\t\t}\n\t\techo "Success";\n\t\t`})},updateUserMeta=async(e,{meta:t,userId:r})=>{const n=await e.documentRoot;await e.run({code:`<?php\n\t\tinclude ${phpVar(n)} . '/wp-load.php';\n\t\t$meta = ${phpVar(t)};\n\t\tforeach($meta as $name => $value) {\n\t\t\tupdate_user_meta(${phpVar(r)}, $name, $value);\n\t\t}\n\t\t`})};function isURLScoped(e){return e.pathname.startsWith("/scope:")}function getURLScope(e){return isURLScoped(e)?e.pathname.split("/")[1].split(":")[1]:null}const enableMultisite=async e=>{var t;await defineWpConfigConsts(e,{consts:{WP_ALLOW_MULTISITE:1}});const r=new URL(await e.absoluteUrl);if(""!==r.port){let e=`The current host is ${r.host}, but WordPress multisites do not support custom ports.`;throw"localhost"===r.hostname&&(e+=" For development, you can set up a playground.test domain using the instructions at https://wordpress.github.io/wordpress-playground/contributing/code."),new Error(e)}const n=r.pathname.replace(/\/$/,"")+"/",o=`${r.protocol}//${r.hostname}${n}`;await setSiteOptions(e,{options:{siteurl:o,home:o}}),await login(e,{});const s=await e.documentRoot,i=(await e.run({code:`<?php\ndefine( 'WP_ADMIN', true );\nrequire_once(${phpVar(s)} . "/wp-load.php");\n\n// Set current user to admin\n( get_users(array('role' => 'Administrator') )[0] );\n\nrequire_once(${phpVar(s)} . "/wp-admin/includes/plugin.php");\n$plugins_root = ${phpVar(s)} . "/wp-content/plugins";\n$plugins = glob($plugins_root . "/*");\n\n$deactivated_plugins = [];\nforeach($plugins as $plugin_path) {\n\tif (!is_dir($plugin_path)) {\n\t\tdeactivate_plugins($plugin_path);\n\t\tcontinue;\n\t}\n\t// Find plugin entry file\n\tforeach ( ( glob( $plugin_path . '/*.php' ) ?: array() ) as $file ) {\n\t\t$info = get_plugin_data( $file, false, false );\n\t\tif ( ! empty( $info['Name'] ) ) {\n\t\t\tdeactivate_plugins( $file );\n\t\t\t$deactivated_plugins[] = substr($file, strlen($plugins_root) + 1);\n\t\t\tbreak;\n\t\t}\n\t}\n}\necho json_encode($deactivated_plugins);\n`})).json,a=null==(t=(await request(e,{request:{url:"/wp-admin/network.php"}})).text.match(/name="_wpnonce"\s+value="([^"]+)"/))?void 0:t[1],c=await request(e,{request:{url:"/wp-admin/network.php",method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:jsonToUrlEncoded({_wpnonce:a,_wp_http_referer:n+"wp-admin/network.php",sitename:"My WordPress Website Sites",email:"admin@localhost.com",submit:"Install"})}});if(200!==c.httpStatusCode)throw logger.warn("WordPress response was",{response:c,text:c.text,headers:c.headers}),new Error(`Failed to enable multisite. Response code was ${c.httpStatusCode}`);await defineWpConfigConsts(e,{consts:{SUNRISE:"on",MULTISITE:!0,SUBDOMAIN_INSTALL:!1,SITE_ID_CURRENT_SITE:1,BLOG_ID_CURRENT_SITE:1,DOMAIN_CURRENT_SITE:r.hostname,PATH_CURRENT_SITE:n}});const l=new URL(await e.absoluteUrl),d=isURLScoped(l)?"scope:"+getURLScope(l):null;await e.writeFile(joinPaths(s,"/wp-content/sunrise.php"),`<?php\n\tif ( !defined( 'BLOG_ID_CURRENT_SITE' ) ) {\n\t\tdefine( 'BLOG_ID_CURRENT_SITE', 1 );\n\t}\n\t$folder = ${phpVar(d)};\n\tif ($folder && strpos($_SERVER['REQUEST_URI'],"/$folder") === false) {\n\t\t$_SERVER['HTTP_HOST'] = ${phpVar(l.hostname)};\n\t\t$_SERVER['REQUEST_URI'] = "/$folder/" . ltrim($_SERVER['REQUEST_URI'], '/');\n\t}\n`),await login(e,{});for(const p of i)await activatePlugin(e,{pluginPath:p})};function jsonToUrlEncoded(e){return Object.keys(e).map((t=>encodeURIComponent(t)+"="+encodeURIComponent(e[t]))).join("&")}const cp=async(e,{fromPath:t,toPath:r})=>{await e.writeFile(r,await e.readFileAsBuffer(t))},mv=async(e,{fromPath:t,toPath:r})=>{await e.mv(t,r)},mkdir=async(e,{path:t})=>{await e.mkdir(t)},rmdir=async(e,{path:t})=>{await e.rmdir(t)},writeFile=async(e,{path:t,data:r})=>{r instanceof File&&(r=new Uint8Array(await r.arrayBuffer())),await e.writeFile(t,r)},defineSiteUrl=async(e,{siteUrl:t})=>{await defineWpConfigConsts(e,{consts:{WP_HOME:t,WP_SITEURL:t}})},importWxr=async(e,{file:t},r)=>{var n;null==(n=null==r?void 0:r.tracker)||n.setCaption("Importing content"),await writeFile(e,{path:"/tmp/import.wxr",data:t});const o=await e.documentRoot;await e.run({code:`<?php\n\t\trequire ${phpVar(o)} . '/wp-load.php';\n\t\tkses_remove_filters();\n\t\t$admin_id = get_users(array('role' => 'Administrator') )[0];\n\t\t$importer = new WXR_Importer( array(\n\t\t\t'fetch_attachments' => true,\n\t\t\t'default_author' => $admin_id\n\t\t) );\n\t\t$logger = new WP_Importer_Logger_CLI();\n\t\t$importer->set_logger( $logger );\n\n\t\t// Slashes from the imported content are lost if we don't call wp_slash here.\n\t\tadd_action( 'wp_insert_post_data', function( $data ) {\n\t\t\treturn wp_slash($data);\n\t\t});\n\n\t\t$result = $importer->import( '/tmp/import.wxr' );\n\t\t`})},zipFunctions="<?php\n\nfunction zipDir($root, $output, $options = array())\n{\n $root = rtrim($root, '/');\n $additionalPaths = array_key_exists('additional_paths', $options) ? $options['additional_paths'] : array();\n $excludePaths = array_key_exists('exclude_paths', $options) ? $options['exclude_paths'] : array();\n $zip_root = array_key_exists('zip_root', $options) ? $options['zip_root'] : $root;\n\n $zip = new ZipArchive;\n $res = $zip->open($output, ZipArchive::CREATE);\n if ($res === TRUE) {\n $directories = array(\n $root . '/'\n );\n while (sizeof($directories)) {\n $current_dir = array_pop($directories);\n\n if ($handle = opendir($current_dir)) {\n while (false !== ($entry = readdir($handle))) {\n if ($entry == '.' || $entry == '..') {\n continue;\n }\n\n $entry = join_paths($current_dir, $entry);\n if (in_array($entry, $excludePaths)) {\n continue;\n }\n\n if (is_dir($entry)) {\n $directory_path = $entry . '/';\n array_push($directories, $directory_path);\n } else if (is_file($entry)) {\n $zip->addFile($entry, substr($entry, strlen($zip_root)));\n }\n }\n closedir($handle);\n }\n }\n foreach ($additionalPaths as $disk_path => $zip_path) {\n $zip->addFile($disk_path, $zip_path);\n }\n $zip->close();\n chmod($output, 0777);\n }\n}\n\nfunction join_paths()\n{\n $paths = array();\n\n foreach (func_get_args() as $arg) {\n if ($arg !== '') {\n $paths[] = $arg;\n }\n }\n\n return preg_replace('#/+#', '/', join('/', $paths));\n}\n\nfunction unzip($zipPath, $extractTo, $overwrite = true)\n{\n if (!is_dir($extractTo)) {\n mkdir($extractTo, 0777, true);\n }\n $zip = new ZipArchive;\n $res = $zip->open($zipPath);\n if ($res === TRUE) {\n $zip->extractTo($extractTo);\n $zip->close();\n chmod($extractTo, 0777);\n }\n}\n\n\nfunction delTree($dir)\n{\n $files = array_diff(scandir($dir), array('.', '..'));\n foreach ($files as $file) {\n (is_dir(\"$dir/$file\")) ? delTree(\"$dir/$file\") : unlink(\"$dir/$file\");\n }\n return rmdir($dir);\n}\n";async function runPhpWithZipFunctions(e,t){return await e.run({code:zipFunctions+t})}const tmpPath="/tmp/file.zip",unzip=async(e,{zipFile:t,zipPath:r,extractToPath:n})=>{if(r)await e.writeFile(tmpPath,await e.readFileAsBuffer(r)),logger.warn('The "zipPath" option of the unzip() Blueprint step is deprecated and will be removed. Use "zipFile" instead.');else{if(!t)throw new Error("Either zipPath or zipFile must be provided");await e.writeFile(tmpPath,new Uint8Array(await t.arrayBuffer()))}const o=phpVars({zipPath:tmpPath,extractToPath:n});await runPhpWithZipFunctions(e,`unzip(${o.zipPath}, ${o.extractToPath});`),e.fileExists(tmpPath)&&await e.unlink(tmpPath)},importWordPressFiles=async(e,{wordPressFilesZip:t,pathInZip:r=""})=>{const n=await e.documentRoot;let o=joinPaths("/tmp","import");await e.mkdir(o),await unzip(e,{zipFile:t,extractToPath:o}),o=joinPaths(o,r);const s=joinPaths(o,"wp-content"),i=joinPaths(n,"wp-content");for(const d of wpContentFilesExcludedFromExport){const t=joinPaths(s,d);await removePath(e,t);const r=joinPaths(i,d);await e.fileExists(r)&&(await e.mkdir(dirname(t)),await e.mv(r,t))}const a=joinPaths(o,"wp-content","database");await e.fileExists(a)||await e.mv(joinPaths(n,"wp-content","database"),a);const c=await e.listFiles(o);for(const d of c)await removePath(e,joinPaths(n,d)),await e.mv(joinPaths(o,d),joinPaths(n,d));await e.rmdir(o),await defineSiteUrl(e,{siteUrl:await e.absoluteUrl});const l=phpVar(joinPaths(n,"wp-admin","upgrade.php"));await e.run({code:`<?php\n $_GET['step'] = 'upgrade_db';\n require ${l};\n `})};async function removePath(e,t){await e.fileExists(t)&&(await e.isDir(t)?await e.rmdir(t):await e.unlink(t))}async function exportWXR(e){const t=await e.request({url:"/wp-admin/export.php?download=true&content=all"});return new File([t.bytes],"export.xml")}async function installAsset(e,{targetPath:t,zipFile:r,ifAlreadyInstalled:n="overwrite"}){const o=r.name.replace(/\.zip$/,""),s=joinPaths(await e.documentRoot,"wp-content"),i=joinPaths(s,randomString()),a=joinPaths(i,"assets",o);await e.fileExists(a)&&await e.rmdir(i,{recursive:!0}),await e.mkdir(i);try{await unzip(e,{zipFile:r,extractToPath:a});let s=await e.listFiles(a,{prependPath:!0});s=s.filter((e=>!e.endsWith("/__MACOSX")));const i=1===s.length&&await e.isDir(s[0]);let c,l="";i?(l=s[0],c=s[0].split("/").pop()):(l=a,c=o);const d=`${t}/${c}`;if(await e.fileExists(d)){if(!await e.isDir(d))throw new Error(`Cannot install asset ${c} to ${d} because a file with the same name already exists. Note it's a file, not a directory! Is this by mistake?`);if("overwrite"!==n){if("skip"===n)return{assetFolderPath:d,assetFolderName:c};throw new Error(`Cannot install asset ${c} to ${t} because it already exists and the ifAlreadyInstalled option was set to ${n}`)}await e.rmdir(d,{recursive:!0})}return await e.mv(l,d),{assetFolderPath:d,assetFolderName:c}}finally{await e.rmdir(i,{recursive:!0})}}function zipNameToHumanName(e){const t=e.split(".").shift().replace(/-/g," ");return t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()}const installPlugin=async(e,{pluginZipFile:t,ifAlreadyInstalled:r,options:n={}},o)=>{const s=zipNameToHumanName(t.name.split("/").pop()||"plugin.zip");null==o||o.tracker.setCaption(`Installing the ${s} plugin`);const{assetFolderPath:i}=await installAsset(e,{ifAlreadyInstalled:r,zipFile:t,targetPath:`${await e.documentRoot}/wp-content/plugins`});(!("activate"in n)||n.activate)&&await activatePlugin(e,{pluginPath:i,pluginName:s},o)},installTheme=async(e,{themeZipFile:t,ifAlreadyInstalled:r,options:n={}},o)=>{const s=zipNameToHumanName(t.name);null==o||o.tracker.setCaption(`Installing the ${s} theme`);const{assetFolderName:i}=await installAsset(e,{ifAlreadyInstalled:r,zipFile:t,targetPath:`${await e.documentRoot}/wp-content/themes`});(!("activate"in n)||n.activate)&&await activateTheme(e,{themeFolderName:i},o)},runWpInstallationWizard=async(e,{options:t})=>{await e.request({url:"/wp-admin/install.php?step=2",method:"POST",body:{language:"en",prefix:"wp_",weblog_title:"My WordPress Website",user_name:t.adminPassword||"admin",admin_password:t.adminPassword||"password",admin_password2:t.adminPassword||"password",Submit:"Install WordPress",pw_weak:"1",admin_email:"admin@localhost.com"}})},zipWpContent=async(e,{selfContained:t=!1}={})=>{const r="/tmp/wordpress-playground.zip",n=await e.documentRoot,o=joinPaths(n,"wp-content");let s=wpContentFilesExcludedFromExport;t&&(s=s.filter((e=>!e.startsWith("themes/twenty"))).filter((e=>"mu-plugins/sqlite-database-integration"!==e)));const i=phpVars({zipPath:r,wpContentPath:o,documentRoot:n,exceptPaths:s.map((e=>joinPaths(n,"wp-content",e))),additionalPaths:t?{[joinPaths(n,"wp-config.php")]:"wp-config.php"}:{}});await runPhpWithZipFunctions(e,`zipDir(${i.wpContentPath}, ${i.zipPath}, array(\n\t\t\t'exclude_paths' => ${i.exceptPaths},\n\t\t\t'zip_root' => ${i.documentRoot},\n\t\t\t'additional_paths' => ${i.additionalPaths}\n\t\t));`);const a=await e.readFileAsBuffer(r);return e.unlink(r),a},wpCLI$1=async(e,{command:t,wpCliPath:r="/tmp/wp-cli.phar"})=>{if(!await e.fileExists(r))throw new Error(`wp-cli.phar not found at ${r}`);let n;if("string"==typeof t?n=splitShellCommand(t=t.trim()):n=t,"wp"!==n.shift())throw new Error('The first argument must be "wp".');await e.writeFile("/tmp/stdout",""),await e.writeFile("/tmp/stderr",""),await e.writeFile("/wordpress/run-cli.php",`<?php\n\t\t// Set up the environment to emulate a shell script\n\t\t// call.\n\n\t\t// Set SHELL_PIPE to 0 to ensure WP-CLI formats\n\t\t// the output as ASCII tables.\n\t\t// @see https://github.com/wp-cli/wp-cli/issues/1102\n\t\tputenv( 'SHELL_PIPE=0' );\n\n\t\t// Set the argv global.\n\t\t$GLOBALS['argv'] = array_merge([\n\t\t "/tmp/wp-cli.phar",\n\t\t "--path=/wordpress"\n\t\t], ${phpVar(n)});\n\n\t\t// Provide stdin, stdout, stderr streams outside of\n\t\t// the CLI SAPI.\n\t\tdefine('STDIN', fopen('php://stdin', 'rb'));\n\t\tdefine('STDOUT', fopen('php://stdout', 'wb'));\n\t\tdefine('STDERR', fopen('/tmp/stderr', 'wb'));\n\n\t\trequire( ${phpVar(r)} );\n\t\t`);const o=await e.run({scriptPath:"/wordpress/run-cli.php"});if(o.errors)throw new Error(o.errors);return o};function splitShellCommand(e){let t=0,r="";const n=[];let o="";for(let s=0;s<e.length;s++){const i=e[s];0===t?'"'===i||"'"===i?(t=1,r=i):i.match(/\s/)?(o&&n.push(o),o=""):o+=i:1===t&&("\\"===i?(s++,o+=e[s]):i===r?(t=0,r=""):o+=i)}return o&&n.push(o),n}const allStepHandlers=Object.freeze(Object.defineProperty({__proto__:null,activatePlugin:activatePlugin,activateTheme:activateTheme,cp:cp,defineSiteUrl:defineSiteUrl,defineWpConfigConsts:defineWpConfigConsts,enableMultisite:enableMultisite,exportWXR:exportWXR,importWordPressFiles:importWordPressFiles,importWxr:importWxr,installPlugin:installPlugin,installTheme:installTheme,login:login,mkdir:mkdir,mv:mv,request:request,rm:rm,rmdir:rmdir,runPHP:runPHP,runPHPWithOptions:runPHPWithOptions,runSql:runSql,runWpInstallationWizard:runWpInstallationWizard,setSiteOptions:setSiteOptions,unzip:unzip,updateUserMeta:updateUserMeta,wpCLI:wpCLI$1,writeFile:writeFile,zipWpContent:zipWpContent},Symbol.toStringTag,{value:"Module"})),FALLBACK_FILE_SIZE=5242880;function cloneResponseMonitorProgress(e,t){const r=e.headers.get("content-length")||"",n=parseInt(r,10)||FALLBACK_FILE_SIZE;function o(e,r){t(new CustomEvent("progress",{detail:{loaded:e,total:r}}))}return new Response(new ReadableStream({async start(t){if(!e.body)return void t.close();const r=e.body.getReader();let s=0;for(;;)try{const{done:e,value:i}=await r.read();if(i&&(s+=i.byteLength),e){o(s,s),t.close();break}o(s,n),t.enqueue(i)}catch(i){logger.error({e:i}),t.error(i);break}}}),{status:e.status,statusText:e.statusText,headers:e.headers})}const PROGRESS_EPSILON=1e-5;class ProgressTracker extends EventTarget{constructor({weight:e=1,caption:t="",fillTime:r=4}={}){super(),this._selfWeight=1,this._selfDone=!1,this._selfProgress=0,this._selfCaption="",this._isFilling=!1,this._subTrackers=[],this._weight=e,this._selfCaption=t,this._fillTime=r}stage(e,t=""){if(e||(e=this._selfWeight),this._selfWeight-e<-PROGRESS_EPSILON)throw new Error(`Cannot add a stage with weight ${e} as the total weight of registered stages would exceed 1.`);this._selfWeight-=e;const r=new ProgressTracker({caption:t,weight:e,fillTime:this._fillTime});return this._subTrackers.push(r),r.addEventListener("progress",(()=>this.notifyProgress())),r.addEventListener("done",(()=>{this.done&&this.notifyDone()})),r}fillSlowly({stopBeforeFinishing:e=!0}={}){if(this._isFilling)return;this._isFilling=!0;const t=this._fillTime/100;this._fillInterval=setInterval((()=>{this.set(this._selfProgress+1),e&&this._selfProgress>=99&&clearInterval(this._fillInterval)}),t)}set(e){this._selfProgress=Math.min(e,100),this.notifyProgress(),this._selfProgress+PROGRESS_EPSILON>=100&&this.finish()}finish(){this._fillInterval&&clearInterval(this._fillInterval),this._selfDone=!0,this._selfProgress=100,this._isFilling=!1,this._fillInterval=void 0,this.notifyProgress(),this.notifyDone()}get caption(){for(let e=this._subTrackers.length-1;e>=0;e--)if(!this._subTrackers[e].done){const t=this._subTrackers[e].caption;if(t)return t}return this._selfCaption}setCaption(e){this._selfCaption=e,this.notifyProgress()}get done(){return this.progress+PROGRESS_EPSILON>=100}get progress(){if(this._selfDone)return 100;const e=this._subTrackers.reduce(((e,t)=>e+t.progress*t.weight),this._selfProgress*this._selfWeight);return Math.round(1e4*e)/1e4}get weight(){return this._weight}get observer(){return this._progressObserver||(this._progressObserver=e=>{this.set(e)}),this._progressObserver}get loadingListener(){return this._loadingListener||(this._loadingListener=e=>{this.set(e.detail.loaded/e.detail.total*100)}),this._loadingListener}pipe(e){e.setProgress({progress:this.progress,caption:this.caption}),this.addEventListener("progress",(t=>{e.setProgress({progress:t.detail.progress,caption:t.detail.caption})})),this.addEventListener("done",(()=>{e.setLoaded()}))}addEventListener(e,t){super.addEventListener(e,t)}removeEventListener(e,t){super.removeEventListener(e,t)}notifyProgress(){const e=this;this.dispatchEvent(new CustomEvent("progress",{detail:{get progress(){return e.progress},get caption(){return e.caption}}}))}notifyDone(){this.dispatchEvent(new CustomEvent("done"))}}const kError=Symbol("error"),kMessage=Symbol("message");class ErrorEvent2 extends Event{constructor(e,t={}){super(e),this[kError]=void 0===t.error?null:t.error,this[kMessage]=void 0===t.message?"":t.message}get error(){return this[kError]}get message(){return this[kMessage]}}Object.defineProperty(ErrorEvent2.prototype,"error",{enumerable:!0}),Object.defineProperty(ErrorEvent2.prototype,"message",{enumerable:!0});const ErrorEvent="function"==typeof globalThis.ErrorEvent?globalThis.ErrorEvent:ErrorEvent2;function isExitCodeZero(e){return e instanceof Error&&("exitCode"in e&&0===(null==e?void 0:e.exitCode)||"ExitStatus"===(null==e?void 0:e.name)&&"status"in e&&0===e.status)}class UnhandledRejectionsTarget extends EventTarget{constructor(){super(...arguments),this.listenersCount=0}addEventListener(e,t){++this.listenersCount,super.addEventListener(e,t)}removeEventListener(e,t){--this.listenersCount,super.removeEventListener(e,t)}hasListeners(){return this.listenersCount>0}}function improveWASMErrorReporting(e){e.asm={...e.asm};const t=new UnhandledRejectionsTarget;for(const r in e.asm)if("function"==typeof e.asm[r]){const n=e.asm[r];e.asm[r]=function(...r){var o;try{return n(...r)}catch(s){if(!(s instanceof Error))throw s;const r=clarifyErrorMessage(s,null==(o=e.lastAsyncifyStackSource)?void 0:o.stack);if(e.lastAsyncifyStackSource&&(s.cause=e.lastAsyncifyStackSource),t.hasListeners())return void t.dispatchEvent(new ErrorEvent("error",{error:s,message:r}));throw isExitCodeZero(s)||showCriticalErrorBox(r),s}}}return t}let functionsMaybeMissingFromAsyncify=[];function getFunctionsMaybeMissingFromAsyncify(){return functionsMaybeMissingFromAsyncify}function clarifyErrorMessage(e,t){if("unreachable"===e.message){let r=UNREACHABLE_ERROR;t||(r+="\n\nThis stack trace is lacking. For a better one initialize \nthe PHP runtime with { debug: true }, e.g. PHPNode.load('8.1', { debug: true }).\n\n"),functionsMaybeMissingFromAsyncify=extractPHPFunctionsFromStack(t||e.stack||"");for(const e of functionsMaybeMissingFromAsyncify)r+=` * ${e}\n`;return r}return e.message}const UNREACHABLE_ERROR="\n\"unreachable\" WASM instruction executed.\n\nThe typical reason is a PHP function missing from the ASYNCIFY_ONLY\nlist when building PHP.wasm.\n\nYou will need to file a new issue in the WordPress Playground repository\nand paste this error message there:\n\nhttps://github.com/WordPress/wordpress-playground/issues/new\n\nIf you're a core developer, the typical fix is to:\n\n* Isolate a minimal reproduction of the error\n* Add a reproduction of the error to php-asyncify.spec.ts in the WordPress Playground repository\n* Run 'npm run fix-asyncify'\n* Commit the changes, push to the repo, release updated NPM packages\n\nBelow is a list of all the PHP functions found in the stack trace to\nhelp with the minimal reproduction. If they're all already listed in\nthe Dockerfile, you'll need to trigger this error again with long stack\ntraces enabled. In node.js, you can do it using the --stack-trace-limit=100\nCLI option: \n\n",redBg="\x1b[41m",bold="\x1b[1m",reset="\x1b[0m",eol="\x1b[K";let logged=!1;function showCriticalErrorBox(e){if(!logged&&(logged=!0,null==e||!e.trim().startsWith("Program terminated with exit"))){logger.log(`${redBg}\n${eol}\n${bold} WASM ERROR${reset}${redBg}`);for(const t of e.split("\n"))logger.log(`${eol} ${t} `);logger.log(`${reset}`)}}function extractPHPFunctionsFromStack(e){try{const t=e.split("\n").slice(1).map((e=>{const t=e.trim().substring(3).split(" ");return{fn:t.length>=2?t[0]:"<unknown>",isWasm:e.includes("wasm://")}})).filter((({fn:e,isWasm:t})=>t&&!e.startsWith("dynCall_")&&!e.startsWith("invoke_"))).map((({fn:e})=>e));return Array.from(new Set(t))}catch{return[]}}ReadableStream.prototype[Symbol.asyncIterator]||(ReadableStream.prototype[Symbol.asyncIterator]=async function*(){const e=this.getReader();try{for(;;){const{done:t,value:r}=await e.read();if(t)return;yield r}}finally{e.releaseLock()}},ReadableStream.prototype.iterate=ReadableStream.prototype[Symbol.asyncIterator]);const responseTexts={500:"Internal Server Error",502:"Bad Gateway",404:"Not Found",403:"Forbidden",401:"Unauthorized",400:"Bad Request",301:"Moved Permanently",302:"Found",307:"Temporary Redirect",308:"Permanent Redirect",204:"No Content",201:"Created",200:"OK"};class PHPResponse{constructor(e,t,r,n="",o=0){this.httpStatusCode=e,this.headers=t,this.bytes=r,this.exitCode=o,this.errors=n}static forHttpCode(e,t=""){return new PHPResponse(e,{},(new TextEncoder).encode(t||responseTexts[e]||""))}static fromRawData(e){return new PHPResponse(e.httpStatusCode,e.headers,e.bytes,e.errors,e.exitCode)}toRawData(){return{headers:this.headers,bytes:this.bytes,errors:this.errors,exitCode:this.exitCode,httpStatusCode:this.httpStatusCode}}get json(){return JSON.parse(this.text)}get text(){return(new TextDecoder).decode(this.bytes)}}const SupportedPHPVersions=["8.3","8.2","8.1","8.0","7.4","7.3","7.2","7.1","7.0"],LatestSupportedPHPVersion=SupportedPHPVersions[0],SupportedPHPVersionsList=SupportedPHPVersions,SupportedPHPExtensionsList=["iconv","mbstring","xml-bundle","gd"],SupportedPHPExtensionBundles={"kitchen-sink":SupportedPHPExtensionsList,light:[]},FileErrorCodes={0:"No error occurred. System call completed successfully.",1:"Argument list too long.",2:"Permission denied.",3:"Address in use.",4:"Address not available.",5:"Address family not supported.",6:"Resource unavailable, or operation would block.",7:"Connection already in progress.",8:"Bad file descriptor.",9:"Bad message.",10:"Device or resource busy.",11:"Operation canceled.",12:"No child processes.",13:"Connection aborted.",14:"Connection refused.",15:"Connection reset.",16:"Resource deadlock would occur.",17:"Destination address required.",18:"Mathematics argument out of domain of function.",19:"Reserved.",20:"File exists.",21:"Bad address.",22:"File too large.",23:"Host is unreachable.",24:"Identifier removed.",25:"Illegal byte sequence.",26:"Operation in progress.",27:"Interrupted function.",28:"Invalid argument.",29:"I/O error.",30:"Socket is connected.",31:"There is a directory under that path.",32:"Too many levels of symbolic links.",33:"File descriptor value too large.",34:"Too many links.",35:"Message too large.",36:"Reserved.",37:"Filename too long.",38:"Network is down.",39:"Connection aborted by network.",40:"Network unreachable.",41:"Too many files open in system.",42:"No buffer space available.",43:"No such device.",44:"There is no such file or directory OR the parent directory does not exist.",45:"Executable file format error.",46:"No locks available.",47:"Reserved.",48:"Not enough space.",49:"No message of the desired type.",50:"Protocol not available.",51:"No space left on device.",52:"Function not supported.",53:"The socket is not connected.",54:"Not a directory or a symbolic link to a directory.",55:"Directory not empty.",56:"State not recoverable.",57:"Not a socket.",58:"Not supported, or operation not supported on socket.",59:"Inappropriate I/O control operation.",60:"No such device or address.",61:"Value too large to be stored in data type.",62:"Previous owner died.",63:"Operation not permitted.",64:"Broken pipe.",65:"Protocol error.",66:"Protocol not supported.",67:"Protocol wrong type for socket.",68:"Result too large.",69:"Read-only file system.",70:"Invalid seek.",71:"No such process.",72:"Reserved.",73:"Connection timed out.",74:"Text file busy.",75:"Cross-device link.",76:"Extension: Capabilities insufficient."};function getEmscriptenFsError(e){const t="object"==typeof e?null==e?void 0:e.errno:null;if(t in FileErrorCodes)return FileErrorCodes[t]}function rethrowFileSystemError(e=""){return function(t,r,n){const o=n.value;n.value=function(...t){try{return o.apply(this,t)}catch(r){const n="object"==typeof r?null==r?void 0:r.errno:null;if(n in FileErrorCodes){const o=FileErrorCodes[n],s="string"==typeof t[0]?t[0]:null,i=null!==s?e.replaceAll("{path}",s):e;throw new Error(`${i}: ${o}`,{cause:r})}throw r}}}}const loadedRuntimes=new Map;function getLoadedRuntime(e){return loadedRuntimes.get(e)}!function(){var e;typeof process<"u"&&"node"===(null==(e=process.release)?void 0:e.name)||(typeof window<"u"||typeof WorkerGlobalScope<"u"&&(self,WorkerGlobalScope))}();var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__decorateClass=(e,t,r,n)=>{for(var o,s=n>1?void 0:n?__getOwnPropDesc(t,r):t,i=e.length-1;i>=0;i--)(o=e[i])&&(s=(n?o(t,r,s):o(s))||s);return n&&s&&__defProp(t,r,s),s};const STRING="string",NUMBER="number",__private__dont__use=Symbol("__private__dont__use");class PHPExecutionFailureError extends Error{constructor(e,t,r){super(e),this.response=t,this.source=r}}var Ne,Ve,xe,ve,Ee,Pe,He,st,jt,it,At,ot,Dt,at,Ft,ct,Mt,lt,Lt,dt,qt,ut,Ut,pt,Vt,ft,xt,ht,Ht,mt,zt,gt,Wt,_t,Bt,yt,Gt;class BasePHP{constructor(e){ee(this,st),ee(this,it),ee(this,ot),ee(this,at),ee(this,ct),ee(this,lt),ee(this,dt),ee(this,ut),ee(this,pt),ee(this,ft),ee(this,ht),ee(this,mt),ee(this,gt),ee(this,_t),ee(this,yt),ee(this,Ne,void 0),ee(this,Ve,void 0),ee(this,xe,void 0),ee(this,ve,void 0),ee(this,Ee,void 0),ee(this,Pe,void 0),ee(this,He,void 0),fe(this,Ne,[]),fe(this,ve,!1),fe(this,Ee,null),fe(this,Pe,new Map),fe(this,He,[]),this.semaphore=new Semaphore({concurrency:1}),void 0!==e&&this.initializeRuntime(e)}addEventListener(e,t){se(this,Pe).has(e)||se(this,Pe).set(e,new Set),se(this,Pe).get(e).add(t)}removeEventListener(e,t){var r;null==(r=se(this,Pe).get(e))||r.delete(t)}dispatchEvent(e){const t=se(this,Pe).get(e.type);if(t)for(const r of t)r(e)}async onMessage(e){se(this,He).push(e)}async setSpawnHandler(handler){"string"==typeof handler&&(handler=createSpawnHandler(eval(handler))),this[__private__dont__use].spawnProcess=handler}get absoluteUrl(){return this.requestHandler.absoluteUrl}get documentRoot(){return this.requestHandler.documentRoot}pathToInternalUrl(e){return this.requestHandler.pathToInternalUrl(e)}internalUrlToPath(e){return this.requestHandler.internalUrlToPath(e)}initializeRuntime(e){if(this[__private__dont__use])throw new Error("PHP runtime already initialized.");const t=getLoadedRuntime(e);if(!t)throw new Error("Invalid PHP runtime id.");this[__private__dont__use]=t,t.onMessage=async e=>{for(const t of se(this,He)){const r=await t(e);if(r)return r}return""},fe(this,Ee,improveWASMErrorReporting(t)),this.dispatchEvent({type:"runtime.initialized"})}async setSapiName(e){if(0!==this[__private__dont__use].ccall("wasm_set_sapi_name",NUMBER,[STRING],[e]))throw new Error("Could not set SAPI name. This can only be done before the PHP WASM module is initialized.Did you already dispatch any requests?");fe(this,xe,e)}setPhpIniPath(e){if(se(this,ve))throw new Error("Cannot set PHP ini path after calling run().");fe(this,Ve,e),this[__private__dont__use].ccall("wasm_set_phpini_path",null,["string"],[e])}setPhpIniEntry(e,t){if(se(this,ve))throw new Error("Cannot set PHP ini entries after calling run().");se(this,Ne).push([e,t])}chdir(e){this[__private__dont__use].FS.chdir(e)}async request(e){if(logger.warn("PHP.request() is deprecated. Please use new PHPRequestHandler() instead."),!this.requestHandler)throw new Error("No request handler available.");return this.requestHandler.request(e)}async run(e){const t=await this.semaphore.acquire();let r;try{if(se(this,ve)||(ae(this,it,At).call(this),fe(this,ve,!0)),e.scriptPath&&!this.fileExists(e.scriptPath))throw new Error(`The script path "${e.scriptPath}" does not exist.`);ae(this,ht,Ht).call(this,e.scriptPath||""),ae(this,at,Ft).call(this,e.relativeUri||""),ae(this,ut,Ut).call(this,e.method||"GET");const t=normalizeHeaders(e.headers||{}),n=t.host||"example.com:443",o=ae(this,dt,qt).call(this,n,e.protocol||"http");ae(this,ct,Mt).call(this,n),ae(this,lt,Lt).call(this,o),ae(this,pt,Vt).call(this,t),e.body&&(r=ae(this,ft,xt).call(this,e.body)),"string"==typeof e.code&&ae(this,_t,Bt).call(this," ?>"+e.code);const s=ae(this,st,jt).call(this,e.$_SERVER,t,o);for(const e in s)ae(this,mt,zt).call(this,e,s[e]);const i=e.env||{};for(const e in i)ae(this,gt,Wt).call(this,e,i[e]);const a=await ae(this,yt,Gt).call(this);if(0!==a.exitCode){logger.warn("PHP.run() output was:",a.text);const e=new PHPExecutionFailureError(`PHP.run() failed with exit code ${a.exitCode} and the following output: `+a.errors,a,"request");throw logger.error(e),e}return a}catch(n){throw this.dispatchEvent({type:"request.error",error:n,source:n.source??"php-wasm"}),n}finally{try{r&&this[__private__dont__use].free(r)}finally{t(),this.dispatchEvent({type:"request.end"})}}}defineConstant(e,t){let r={};try{r=JSON.parse(this.fileExists("/internal/consts.json")&&this.readFileAsText("/internal/consts.json")||"{}")}catch{}this.writeFile("/internal/consts.json",JSON.stringify({...r,[e]:t}))}mkdir(e){this[__private__dont__use].FS.mkdirTree(e)}mkdirTree(e){this.mkdir(e)}readFileAsText(e){return(new TextDecoder).decode(this.readFileAsBuffer(e))}readFileAsBuffer(e){return this[__private__dont__use].FS.readFile(e)}writeFile(e,t){this[__private__dont__use].FS.writeFile(e,t)}unlink(e){this[__private__dont__use].FS.unlink(e)}mv(e,t){try{this[__private__dont__use].FS.rename(e,t)}catch(r){const n=getEmscriptenFsError(r);throw n?new Error(`Could not move ${e} to ${t}: ${n}`,{cause:r}):r}}rmdir(e,t={recursive:!0}){null!=t&&t.recursive&&this.listFiles(e).forEach((r=>{const n=`${e}/${r}`;this.isDir(n)?this.rmdir(n,t):this.unlink(n)})),this[__private__dont__use].FS.rmdir(e)}listFiles(e,t={prependPath:!1}){if(!this.fileExists(e))return[];try{const r=this[__private__dont__use].FS.readdir(e).filter((e=>"."!==e&&".."!==e));if(t.prependPath){const t=e.replace(/\/$/,"");return r.map((e=>`${t}/${e}`))}return r}catch(r){return logger.error(r,{path:e}),[]}}isDir(e){return!!this.fileExists(e)&&this[__private__dont__use].FS.isDir(this[__private__dont__use].FS.lookupPath(e).node.mode)}fileExists(e){try{return this[__private__dont__use].FS.lookupPath(e),!0}catch{return!1}}hotSwapPHPRuntime(e,t){const r=this[__private__dont__use].FS;try{this.exit()}catch{}this.initializeRuntime(e),se(this,Ve)&&this.setPhpIniPath(se(this,Ve)),se(this,xe)&&this.setSapiName(se(this,xe)),t&©FS(r,this[__private__dont__use].FS,t)}exit(e=0){this.dispatchEvent({type:"runtime.beforedestroy"});try{this[__private__dont__use]._exit(e)}catch{}fe(this,ve,!1),fe(this,Ee,null),delete this[__private__dont__use].onMessage,delete this[__private__dont__use]}[Symbol.dispose](){se(this,ve)&&this.exit(0)}}function normalizeHeaders(e){const t={};for(const r in e)t[r.toLowerCase()]=e[r];return t}function copyFS(e,t,r){let n;try{n=e.lookupPath(r)}catch{return}if(!("contents"in n.node))return;if(!e.isDir(n.node.mode))return void t.writeFile(r,e.readFile(r));t.mkdirTree(r);const o=e.readdir(r).filter((e=>"."!==e&&".."!==e));for(const s of o)copyFS(e,t,joinPaths(r,s))}Ne=new WeakMap,Ve=new WeakMap,xe=new WeakMap,ve=new WeakMap,Ee=new WeakMap,Pe=new WeakMap,He=new WeakMap,st=new WeakSet,jt=function(e,t,r){const n={...e||{}};n.HTTPS=n.HTTPS||443===r?"on":"off";for(const o in t){let e="HTTP_";["content-type","content-length"].includes(o.toLowerCase())&&(e=""),n[`${e}${o.toUpperCase().replace(/-/g,"_")}`]=t[o]}return n},it=new WeakSet,At=function(){if(this.setPhpIniEntry("auto_prepend_file","/internal/consts.php"),this.fileExists("/internal/consts.php")||this.writeFile("/internal/consts.php","<?php\n\t\t\t\tif(file_exists('/internal/consts.json')) {\n\t\t\t\t\t$consts = json_decode(file_get_contents('/internal/consts.json'), true);\n\t\t\t\t\tforeach ($consts as $const => $value) {\n\t\t\t\t\t\tif (!defined($const) && is_scalar($value)) {\n\t\t\t\t\t\t\tdefine($const, $value);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}"),se(this,Ne).length>0){const e=se(this,Ne).map((([e,t])=>`${e}=${t}`)).join("\n")+"\n\n";this[__private__dont__use].ccall("wasm_set_phpini_entries",null,[STRING],[e])}this[__private__dont__use].ccall("php_wasm_init",null,[],[])},ot=new WeakSet,Dt=function(){const e="/internal/headers.json";if(!this.fileExists(e))throw new Error("SAPI Error: Could not find response headers file.");const t=JSON.parse(this.readFileAsText(e)),r={};for(const n of t.headers){if(!n.includes(": "))continue;const e=n.indexOf(": "),t=n.substring(0,e).toLowerCase(),o=n.substring(e+2);t in r||(r[t]=[]),r[t].push(o)}return{headers:r,httpStatusCode:t.status}},at=new WeakSet,Ft=function(e){if(this[__private__dont__use].ccall("wasm_set_request_uri",null,[STRING],[e]),e.includes("?")){const t=e.substring(e.indexOf("?")+1);this[__private__dont__use].ccall("wasm_set_query_string",null,[STRING],[t])}},ct=new WeakSet,Mt=function(e){this[__private__dont__use].ccall("wasm_set_request_host",null,[STRING],[e])},lt=new WeakSet,Lt=function(e){this[__private__dont__use].ccall("wasm_set_request_port",null,[NUMBER],[e])},dt=new WeakSet,qt=function(e,t){let r;try{r=parseInt(new URL(e).port,10)}catch{}return(!r||isNaN(r)||80===r)&&(r="https"===t?443:80),r},ut=new WeakSet,Ut=function(e){this[__private__dont__use].ccall("wasm_set_request_method",null,[STRING],[e])},pt=new WeakSet,Vt=function(e){e.cookie&&this[__private__dont__use].ccall("wasm_set_cookies",null,[STRING],[e.cookie]),e["content-type"]&&this[__private__dont__use].ccall("wasm_set_content_type",null,[STRING],[e["content-type"]]),e["content-length"]&&this[__private__dont__use].ccall("wasm_set_content_length",null,[NUMBER],[parseInt(e["content-length"],10)])},ft=new WeakSet,xt=function(e){let t,r;"string"==typeof e?(logger.warn("Passing a string as the request body is deprecated. Please use a Uint8Array instead. See https://github.com/WordPress/wordpress-playground/issues/997 for more details"),r=this[__private__dont__use].lengthBytesUTF8(e),t=r+1):(r=e.byteLength,t=e.byteLength);const n=this[__private__dont__use].malloc(t);if(!n)throw new Error("Could not allocate memory for the request body.");return"string"==typeof e?this[__private__dont__use].stringToUTF8(e,n,t+1):this[__private__dont__use].HEAPU8.set(e,n),this[__private__dont__use].ccall("wasm_set_request_body",null,[NUMBER],[n]),this[__private__dont__use].ccall("wasm_set_content_length",null,[NUMBER],[r]),n},ht=new WeakSet,Ht=function(e){this[__private__dont__use].ccall("wasm_set_path_translated",null,[STRING],[e])},mt=new WeakSet,zt=function(e,t){this[__private__dont__use].ccall("wasm_add_SERVER_entry",null,[STRING,STRING],[e,t])},gt=new WeakSet,Wt=function(e,t){this[__private__dont__use].ccall("wasm_add_ENV_entry",null,[STRING,STRING],[e,t])},_t=new WeakSet,Bt=function(e){this[__private__dont__use].ccall("wasm_set_php_code",null,[STRING],[e])},yt=new WeakSet,Gt=async function(){var e;let t,r;try{t=await new Promise(((e,t)=>{var n;r=e=>{logger.error(e),logger.error(e.error);const r=new Error("Rethrown");r.cause=e.error,r.betterMessage=e.message,t(r)},null==(n=se(this,Ee))||n.addEventListener("error",r);const o=this[__private__dont__use].ccall("wasm_sapi_handle_request",NUMBER,[],[],{async:!0});return o instanceof Promise?o.then(e,t):e(o)}))}catch(s){for(const n in this)"function"==typeof this[n]&&(this[n]=()=>{throw new Error("PHP runtime has crashed \u2013 see the earlier error for details.")});this.functionsMaybeMissingFromAsyncify=getFunctionsMaybeMissingFromAsyncify();const e=s,t="betterMessage"in e?e.betterMessage:e.message,r=new Error(t);throw r.cause=e,logger.error(r),r}finally{null==(e=se(this,Ee))||e.removeEventListener("error",r)}const{headers:n,httpStatusCode:o}=ae(this,ot,Dt).call(this);return new PHPResponse(0===t?o:500,n,this.readFileAsBuffer("/internal/stdout"),this.readFileAsText("/internal/stderr"),t)},__decorateClass([rethrowFileSystemError('Could not create directory "{path}"')],BasePHP.prototype,"mkdir",1),__decorateClass([rethrowFileSystemError('Could not create directory "{path}"')],BasePHP.prototype,"mkdirTree",1),__decorateClass([rethrowFileSystemError('Could not read "{path}"')],BasePHP.prototype,"readFileAsText",1),__decorateClass([rethrowFileSystemError('Could not read "{path}"')],BasePHP.prototype,"readFileAsBuffer",1),__decorateClass([rethrowFileSystemError('Could not write to "{path}"')],BasePHP.prototype,"writeFile",1),__decorateClass([rethrowFileSystemError('Could not unlink "{path}"')],BasePHP.prototype,"unlink",1),__decorateClass([rethrowFileSystemError('Could not remove directory "{path}"')],BasePHP.prototype,"rmdir",1),__decorateClass([rethrowFileSystemError('Could not list files in "{path}"')],BasePHP.prototype,"listFiles",1),__decorateClass([rethrowFileSystemError('Could not stat "{path}"')],BasePHP.prototype,"isDir",1),__decorateClass([rethrowFileSystemError('Could not stat "{path}"')],BasePHP.prototype,"fileExists",1);const ResourceTypes=["vfs","literal","wordpress.org/themes","wordpress.org/plugins","url"];function isFileReference(e){return e&&"object"==typeof e&&"string"==typeof e.resource&&ResourceTypes.includes(e.resource)}class Resource{static create(e,{semaphore:t,progress:r}){let n;switch(e.resource){case"vfs":n=new VFSResource(e,r);break;case"literal":n=new LiteralResource(e,r);break;case"wordpress.org/themes":n=new CoreThemeResource(e,r);break;case"wordpress.org/plugins":n=new CorePluginResource(e,r);break;case"url":n=new UrlResource(e,r);break;default:throw new Error(`Invalid resource: ${e}`)}return n=new CachedResource(n),t&&(n=new SemaphoreResource(n,t)),n}setPlayground(e){this.playground=e}get isAsync(){return!1}}class VFSResource extends Resource{constructor(e,t){super(),this.resource=e,this.progress=t}async resolve(){var e;const t=await this.playground.readFileAsBuffer(this.resource.path);return null==(e=this.progress)||e.set(100),new File([t],this.name)}get name(){return this.resource.path.split("/").pop()||""}}class LiteralResource extends Resource{constructor(e,t){super(),this.resource=e,this.progress=t}async resolve(){var e;return null==(e=this.progress)||e.set(100),new File([this.resource.contents],this.resource.name)}get name(){return this.resource.name}}class FetchResource extends Resource{constructor(e){super(),this.progress=e}async resolve(){var e,t;null==(e=this.progress)||e.setCaption(this.caption);const r=this.getURL();try{let e=await fetch(r);if(!e.ok)throw new Error(`Could not download "${r}"`);if(e=await cloneResponseMonitorProgress(e,(null==(t=this.progress)?void 0:t.loadingListener)??noop),200!==e.status)throw new Error(`Could not download "${r}"`);return new File([await e.blob()],this.name)}catch(n){throw new Error(`Could not download "${r}".\n\t\t\t\tCheck if the URL is correct and the server is reachable.\n\t\t\t\tIf the url is reachable, the server might be blocking the request.\n\t\t\t\tCheck the console and network for more information.\n\n\t\t\t\t## Does the console shows an error about "No 'Access-Control-Allow-Origin' header"?\n\n\t\t\t\tThis means the server where your file is hosted does not allow requests from other sites\n\t\t\t\t(cross-origin requests, or CORS).\tYou will need to move it to another server that allows\n\t\t\t\tcross-origin file downloads. You can learn more about CORS at\n\t\t\t\thttps://developer.mozilla.org/en-US/docs/Web/HTTP/CORS.\n\n\t\t\t\tIf you're loading a file from https://github.com/, there's an easy fix \u2013 you can load it from\n\t\t\t\traw.githubusercontent.com instead. Here's how to do that:\n\n\t\t\t\t1. Start with the original GitHub URL for the file. For example:\n\t\t\t\t'''\n\t\t\t\thttps://github.com/username/repository/blob/branch/filename\n\t\t\t\t'''\n\t\t\t\t2. Replace 'github.com' with 'raw.githubusercontent.com'.\n\t\t\t\t3. Remove the '/blob/' part of the URL.\n\n\t\t\t\tThe resulting URL should look like this:\n\t\t\t\t'''\n\t\t\t\thttps://raw.githubusercontent.com/username/repository/branch/filename\n\t\t\t\t'''\n\n\t\t\t\tError:\n\t\t\t\t${n}`)}}get caption(){return`Downloading ${this.name}`}get name(){try{return new URL(this.getURL(),"http://example.com").pathname.split("/").pop()}catch{return this.getURL()}}get isAsync(){return!0}}const noop=()=>{};class UrlResource extends FetchResource{constructor(e,t){super(t),this.resource=e}getURL(){return this.resource.url}get caption(){return this.resource.caption??super.caption}}class CoreThemeResource extends FetchResource{constructor(e,t){super(t),this.resource=e}get name(){return zipNameToHumanName(this.resource.slug)}getURL(){return`https://downloads.wordpress.org/theme/${toDirectoryZipName(this.resource.slug)}`}}class CorePluginResource extends FetchResource{constructor(e,t){super(t),this.resource=e}get name(){return zipNameToHumanName(this.resource.slug)}getURL(){return`https://downloads.wordpress.org/plugin/${toDirectoryZipName(this.resource.slug)}`}}function toDirectoryZipName(e){return!e||e.endsWith(".zip")?e:e+".latest-stable.zip"}class DecoratedResource extends Resource{constructor(e){super(),this.resource=e}async resolve(){return this.resource.resolve()}async setPlayground(e){return this.resource.setPlayground(e)}get progress(){return this.resource.progress}set progress(e){this.resource.progress=e}get name(){return this.resource.name}get isAsync(){return this.resource.isAsync}}class CachedResource extends DecoratedResource{async resolve(){return this.promise||(this.promise=super.resolve()),this.promise}}class SemaphoreResource extends DecoratedResource{constructor(e,t){super(e),this.semaphore=t}async resolve(){return this.isAsync?this.semaphore.run((()=>super.resolve())):super.resolve()}}var commonjsGlobal=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function getDefaultExportFromCjs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ajv$1={exports:{}},core$2={},validate={},boolSchema={},errors={},codegen={},code$1={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.regexpCode=e.getEsmExportName=e.getProperty=e.safeStringify=e.stringify=e.strConcat=e.addCodeArg=e.str=e._=e.nil=e._Code=e.Name=e.IDENTIFIER=e._CodeOrName=void 0;class t{}e._CodeOrName=t,e.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class r extends t{constructor(t){if(super(),!e.IDENTIFIER.test(t))throw new Error("CodeGen: name must be a valid identifier");this.str=t}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}e.Name=r;class n extends t{constructor(e){super(),this._items="string"==typeof e?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;const e=this._items[0];return""===e||'""'===e}get str(){var e;return null!==(e=this._str)&&void 0!==e?e:this._str=this._items.reduce(((e,t)=>`${e}${t}`),"")}get names(){var e;return null!==(e=this._names)&&void 0!==e?e:this._names=this._items.reduce(((e,t)=>(t instanceof r&&(e[t.str]=(e[t.str]||0)+1),e)),{})}}function o(e,...t){const r=[e[0]];let o=0;for(;o<t.length;)a(r,t[o]),r.push(e[++o]);return new n(r)}e._Code=n,e.nil=new n(""),e._=o;const s=new n("+");function i(e,...t){const r=[l(e[0])];let o=0;for(;o<t.length;)r.push(s),a(r,t[o]),r.push(s,l(e[++o]));return function(e){let t=1;for(;t<e.length-1;){if(e[t]===s){const r=c(e[t-1],e[t+1]);if(void 0!==r){e.splice(t-1,3,r);continue}e[t++]="+"}t++}}(r),new n(r)}function a(e,t){t instanceof n?e.push(...t._items):t instanceof r?e.push(t):e.push(function(e){return"number"==typeof e||"boolean"==typeof e||null===e?e:l(Array.isArray(e)?e.join(","):e)}(t))}function c(e,t){return'""'===t?e:'""'===e?t:"string"==typeof e?t instanceof r||'"'!==e[e.length-1]?void 0:"string"!=typeof t?`${e.slice(0,-1)}${t}"`:'"'===t[0]?e.slice(0,-1)+t.slice(1):void 0:"string"!=typeof t||'"'!==t[0]||e instanceof r?void 0:`"${e}${t.slice(1)}`}function l(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}e.str=i,e.addCodeArg=a,e.strConcat=function(e,t){return t.emptyStr()?e:e.emptyStr()?t:i`${e}${t}`},e.stringify=function(e){return new n(l(e))},e.safeStringify=l,e.getProperty=function(t){return"string"==typeof t&&e.IDENTIFIER.test(t)?new n(`.${t}`):o`[${t}]`},e.getEsmExportName=function(t){if("string"==typeof t&&e.IDENTIFIER.test(t))return new n(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)},e.regexpCode=function(e){return new n(e.toString())}}(code$1);var scope={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ValueScope=e.ValueScopeName=e.Scope=e.varKinds=e.UsedValueState=void 0;const t=code$1;class r extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}}var n,o;(o=n=e.UsedValueState||(e.UsedValueState={}))[o.Started=0]="Started",o[o.Completed=1]="Completed",e.varKinds={const:new t.Name("const"),let:new t.Name("let"),var:new t.Name("var")};class s{constructor({prefixes:e,parent:t}={}){this._names={},this._prefixes=e,this._parent=t}toName(e){return e instanceof t.Name?e:this.name(e)}name(e){return new t.Name(this._newName(e))}_newName(e){return`${e}${(this._names[e]||this._nameGroup(e)).index++}`}_nameGroup(e){var t,r;if(null!==(r=null===(t=this._parent)||void 0===t?void 0:t._prefixes)&&void 0!==r&&r.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}}e.Scope=s;class i extends t.Name{constructor(e,t){super(t),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=t._`.${new t.Name(r)}[${n}]`}}e.ValueScopeName=i;const a=t._`\n`;e.ValueScope=class extends s{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?a:t.nil}}get(){return this._scope}name(e){return new i(e,this._newName(e))}value(e,t){var r;if(void 0===t.ref)throw new Error("CodeGen: ref must be passed in value");const n=this.toName(e),{prefix:o}=n,s=null!==(r=t.key)&&void 0!==r?r:t.ref;let i=this._values[o];if(i){const e=i.get(s);if(e)return e}else i=this._values[o]=new Map;i.set(s,n);const a=this._scope[o]||(this._scope[o]=[]),c=a.length;return a[c]=t.ref,n.setValue(t,{property:o,itemIndex:c}),n}getValue(e,t){const r=this._values[e];if(r)return r.get(t)}scopeRefs(e,r=this._values){return this._reduceValues(r,(r=>{if(void 0===r.scopePath)throw new Error(`CodeGen: name "${r}" has no value`);return t._`${e}${r.scopePath}`}))}scopeCode(e=this._values,t,r){return this._reduceValues(e,(e=>{if(void 0===e.value)throw new Error(`CodeGen: name "${e}" has no value`);return e.value.code}),t,r)}_reduceValues(o,s,i={},a){let c=t.nil;for(const l in o){const d=o[l];if(!d)continue;const p=i[l]=i[l]||new Map;d.forEach((o=>{if(p.has(o))return;p.set(o,n.Started);let i=s(o);if(i){const r=this.opts.es5?e.varKinds.var:e.varKinds.const;c=t._`${c}${r} ${o} = ${i};${this.opts._n}`}else{if(!(i=null==a?void 0:a(o)))throw new r(o);c=t._`${c}${i}${this.opts._n}`}p.set(o,n.Completed)}))}return c}}}(scope),function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.or=e.and=e.not=e.CodeGen=e.operators=e.varKinds=e.ValueScopeName=e.ValueScope=e.Scope=e.Name=e.regexpCode=e.stringify=e.getProperty=e.nil=e.strConcat=e.str=e._=void 0;const t=code$1,r=scope;var n=code$1;Object.defineProperty(e,"_",{enumerable:!0,get:function(){return n._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return n.str}}),Object.defineProperty(e,"strConcat",{enumerable:!0,get:function(){return n.strConcat}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return n.nil}}),Object.defineProperty(e,"getProperty",{enumerable:!0,get:function(){return n.getProperty}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return n.stringify}}),Object.defineProperty(e,"regexpCode",{enumerable:!0,get:function(){return n.regexpCode}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return n.Name}});var o=scope;Object.defineProperty(e,"Scope",{enumerable:!0,get:function(){return o.Scope}}),Object.defineProperty(e,"ValueScope",{enumerable:!0,get:function(){return o.ValueScope}}),Object.defineProperty(e,"ValueScopeName",{enumerable:!0,get:function(){return o.ValueScopeName}}),Object.defineProperty(e,"varKinds",{enumerable:!0,get:function(){return o.varKinds}}),e.operators={GT:new t._Code(">"),GTE:new t._Code(">="),LT:new t._Code("<"),LTE:new t._Code("<="),EQ:new t._Code("==="),NEQ:new t._Code("!=="),NOT:new t._Code("!"),OR:new t._Code("||"),AND:new t._Code("&&"),ADD:new t._Code("+")};class s{optimizeNodes(){return this}optimizeNames(e,t){return this}}class i extends s{constructor(e,t,r){super(),this.varKind=e,this.name=t,this.rhs=r}render({es5:e,_n:t}){const n=e?r.varKinds.var:this.varKind,o=void 0===this.rhs?"":` = ${this.rhs}`;return`${n} ${this.name}${o};`+t}optimizeNames(e,t){if(e[this.name.str])return this.rhs&&(this.rhs=x(this.rhs,e,t)),this}get names(){return this.rhs instanceof t._CodeOrName?this.rhs.names:{}}}class a extends s{constructor(e,t,r){super(),this.lhs=e,this.rhs=t,this.sideEffects=r}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof t.Name)||e[this.lhs.str]||this.sideEffects)return this.rhs=x(this.rhs,e,r),this}get names(){return R(this.lhs instanceof t.Name?{}:{...this.lhs.names},this.rhs)}}class c extends a{constructor(e,t,r,n){super(e,r,n),this.op=t}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}}class l extends s{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}}class d extends s{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}}class p extends s{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}}class u extends s{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,t){return this.code=x(this.code,e,t),this}get names(){return this.code instanceof t._CodeOrName?this.code.names:{}}}class h extends s{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce(((t,r)=>t+r.render(e)),"")}optimizeNodes(){const{nodes:e}=this;let t=e.length;for(;t--;){const r=e[t].optimizeNodes();Array.isArray(r)?e.splice(t,1,...r):r?e[t]=r:e.splice(t,1)}return e.length>0?this:void 0}optimizeNames(e,t){const{nodes:r}=this;let n=r.length;for(;n--;){const o=r[n];o.optimizeNames(e,t)||(C(e,o.names),r.splice(n,1))}return r.length>0?this:void 0}get names(){return this.nodes.reduce(((e,t)=>T(e,t.names)),{})}}class f extends h{render(e){return"{"+e._n+super.render(e)+"}"+e._n}}class m extends h{}class g extends f{}g.kind="else";class y extends f{constructor(e,t){super(t),this.condition=e}render(e){let t=`if(${this.condition})`+super.render(e);return this.else&&(t+="else "+this.else.render(e)),t}optimizeNodes(){super.optimizeNodes();const e=this.condition;if(!0===e)return this.nodes;let t=this.else;if(t){const e=t.optimizeNodes();t=this.else=Array.isArray(e)?new g(e):e}return t?!1===e?t instanceof y?t:t.nodes:this.nodes.length?this:new y(N(e),t instanceof y?[t]:t.nodes):!1!==e&&this.nodes.length?this:void 0}optimizeNames(e,t){var r;if(this.else=null===(r=this.else)||void 0===r?void 0:r.optimizeNames(e,t),super.optimizeNames(e,t)||this.else)return this.condition=x(this.condition,e,t),this}get names(){const e=super.names;return R(e,this.condition),this.else&&T(e,this.else.names),e}}y.kind="if";class _ extends f{}_.kind="for";class $ extends _{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iteration=x(this.iteration,e,t),this}get names(){return T(super.names,this.iteration.names)}}class v extends _{constructor(e,t,r,n){super(),this.varKind=e,this.name=t,this.from=r,this.to=n}render(e){const t=e.es5?r.varKinds.var:this.varKind,{name:n,from:o,to:s}=this;return`for(${t} ${n}=${o}; ${n}<${s}; ${n}++)`+super.render(e)}get names(){const e=R(super.names,this.from);return R(e,this.to)}}class w extends _{constructor(e,t,r,n){super(),this.loop=e,this.varKind=t,this.name=r,this.iterable=n}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iterable=x(this.iterable,e,t),this}get names(){return T(super.names,this.iterable.names)}}class b extends f{constructor(e,t,r){super(),this.name=e,this.args=t,this.async=r}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}}b.kind="func";class P extends h{render(e){return"return "+super.render(e)}}P.kind="return";class E extends f{render(e){let t="try"+super.render(e);return this.catch&&(t+=this.catch.render(e)),this.finally&&(t+=this.finally.render(e)),t}optimizeNodes(){var e,t;return super.optimizeNodes(),null===(e=this.catch)||void 0===e||e.optimizeNodes(),null===(t=this.finally)||void 0===t||t.optimizeNodes(),this}optimizeNames(e,t){var r,n;return super.optimizeNames(e,t),null===(r=this.catch)||void 0===r||r.optimizeNames(e,t),null===(n=this.finally)||void 0===n||n.optimizeNames(e,t),this}get names(){const e=super.names;return this.catch&&T(e,this.catch.names),this.finally&&T(e,this.finally.names),e}}class S extends f{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}}S.kind="catch";class k extends f{render(e){return"finally"+super.render(e)}}k.kind="finally";function T(e,t){for(const r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function R(e,r){return r instanceof t._CodeOrName?T(e,r.names):e}function x(e,r,n){return e instanceof t.Name?s(e):(o=e)instanceof t._Code&&o._items.some((e=>e instanceof t.Name&&1===r[e.str]&&void 0!==n[e.str]))?new t._Code(e._items.reduce(((e,r)=>(r instanceof t.Name&&(r=s(r)),r instanceof t._Code?e.push(...r._items):e.push(r),e)),[])):e;var o;function s(e){const t=n[e.str];return void 0===t||1!==r[e.str]?e:(delete r[e.str],t)}}function C(e,t){for(const r in t)e[r]=(e[r]||0)-(t[r]||0)}function N(e){return"boolean"==typeof e||"number"==typeof e||null===e?!e:t._`!${A(e)}`}e.CodeGen=class{constructor(e,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...t,_n:t.lines?"\n":""},this._extScope=e,this._scope=new r.Scope({parent:e}),this._nodes=[new m]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){const r=this._extScope.value(e,t);return(this._values[r.prefix]||(this._values[r.prefix]=new Set)).add(r),r}getScopeValue(e,t){return this._extScope.getValue(e,t)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,t,r,n){const o=this._scope.toName(t);return void 0!==r&&n&&(this._constants[o.str]=r),this._leafNode(new i(e,o,r)),o}const(e,t,n){return this._def(r.varKinds.const,e,t,n)}let(e,t,n){return this._def(r.varKinds.let,e,t,n)}var(e,t,n){return this._def(r.varKinds.var,e,t,n)}assign(e,t,r){return this._leafNode(new a(e,t,r))}add(t,r){return this._leafNode(new c(t,e.operators.ADD,r))}code(e){return"function"==typeof e?e():e!==t.nil&&this._leafNode(new u(e)),this}object(...e){const r=["{"];for(const[n,o]of e)r.length>1&&r.push(","),r.push(n),(n!==o||this.opts.es5)&&(r.push(":"),(0,t.addCodeArg)(r,o));return r.push("}"),new t._Code(r)}if(e,t,r){if(this._blockNode(new y(e)),t&&r)this.code(t).else().code(r).endIf();else if(t)this.code(t).endIf();else if(r)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new y(e))}else(){return this._elseNode(new g)}endIf(){return this._endBlockNode(y,g)}_for(e,t){return this._blockNode(e),t&&this.code(t).endFor(),this}for(e,t){return this._for(new $(e),t)}forRange(e,t,n,o,s=(this.opts.es5?r.varKinds.var:r.varKinds.let)){const i=this._scope.toName(e);return this._for(new v(s,i,t,n),(()=>o(i)))}forOf(e,n,o,s=r.varKinds.const){const i=this._scope.toName(e);if(this.opts.es5){const e=n instanceof t.Name?n:this.var("_arr",n);return this.forRange("_i",0,t._`${e}.length`,(r=>{this.var(i,t._`${e}[${r}]`),o(i)}))}return this._for(new w("of",s,i,n),(()=>o(i)))}forIn(e,n,o,s=(this.opts.es5?r.varKinds.var:r.varKinds.const)){if(this.opts.ownProperties)return this.forOf(e,t._`Object.keys(${n})`,o);const i=this._scope.toName(e);return this._for(new w("in",s,i,n),(()=>o(i)))}endFor(){return this._endBlockNode(_)}label(e){return this._leafNode(new l(e))}break(e){return this._leafNode(new d(e))}return(e){const t=new P;if(this._blockNode(t),this.code(e),1!==t.nodes.length)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(P)}try(e,t,r){if(!t&&!r)throw new Error('CodeGen: "try" without "catch" and "finally"');const n=new E;if(this._blockNode(n),this.code(e),t){const e=this.name("e");this._currNode=n.catch=new S(e),t(e)}return r&&(this._currNode=n.finally=new k,this.code(r)),this._endBlockNode(S,k)}throw(e){return this._leafNode(new p(e))}block(e,t){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(t),this}endBlock(e){const t=this._blockStarts.pop();if(void 0===t)throw new Error("CodeGen: not in self-balancing block");const r=this._nodes.length-t;if(r<0||void 0!==e&&r!==e)throw new Error(`CodeGen: wrong number of nodes: ${r} vs ${e} expected`);return this._nodes.length=t,this}func(e,r=t.nil,n,o){return this._blockNode(new b(e,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(b)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,t){const r=this._currNode;if(r instanceof e||t&&r instanceof t)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${t?`${e.kind}/${t.kind}`:e.kind}"`)}_elseNode(e){const t=this._currNode;if(!(t instanceof y))throw new Error('CodeGen: "else" without "if"');return this._currNode=t.else=e,this}get _root(){return this._nodes[0]}get _currNode(){const e=this._nodes;return e[e.length-1]}set _currNode(e){const t=this._nodes;t[t.length-1]=e}},e.not=N;const j=I(e.operators.AND);e.and=function(...e){return e.reduce(j)};const O=I(e.operators.OR);function I(e){return(r,n)=>r===t.nil?n:n===t.nil?r:t._`${A(r)} ${e} ${A(n)}`}function A(e){return e instanceof t.Name?e:t._`(${e})`}e.or=function(...e){return e.reduce(O)}}(codegen);var util={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.checkStrictMode=e.getErrorPath=e.Type=e.useFunc=e.setEvaluated=e.evaluatedPropsToName=e.mergeEvaluated=e.eachItem=e.unescapeJsonPointer=e.escapeJsonPointer=e.escapeFragment=e.unescapeFragment=e.schemaRefOrVal=e.schemaHasRulesButRef=e.schemaHasRules=e.checkUnknownRules=e.alwaysValidSchema=e.toHash=void 0;const t=codegen,r=code$1;function n(e,t=e.schema){const{opts:r,self:n}=e;if(!r.strictSchema||"boolean"==typeof t)return;const o=n.RULES.keywords;for(const s in t)o[s]||h(e,`unknown keyword: "${s}"`)}function o(e,t){if("boolean"==typeof e)return!e;for(const r in e)if(t[r])return!0;return!1}function s(e){return"number"==typeof e?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}function i(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function a({mergeNames:e,mergeToName:r,mergeValues:n,resultToName:o}){return(s,i,a,c)=>{const l=void 0===a?i:a instanceof t.Name?(i instanceof t.Name?e(s,i,a):r(s,i,a),a):i instanceof t.Name?(r(s,a,i),i):n(i,a);return c!==t.Name||l instanceof t.Name?l:o(s,l)}}function c(e,r){if(!0===r)return e.var("props",!0);const n=e.var("props",t._`{}`);return void 0!==r&&l(e,n,r),n}function l(e,r,n){Object.keys(n).forEach((n=>e.assign(t._`${r}${(0,t.getProperty)(n)}`,!0)))}e.toHash=function(e){const t={};for(const r of e)t[r]=!0;return t},e.alwaysValidSchema=function(e,t){return"boolean"==typeof t?t:0===Object.keys(t).length||(n(e,t),!o(t,e.self.RULES.all))},e.checkUnknownRules=n,e.schemaHasRules=o,e.schemaHasRulesButRef=function(e,t){if("boolean"==typeof e)return!e;for(const r in e)if("$ref"!==r&&t.all[r])return!0;return!1},e.schemaRefOrVal=function({topSchemaRef:e,schemaPath:r},n,o,s){if(!s){if("number"==typeof n||"boolean"==typeof n)return n;if("string"==typeof n)return t._`${n}`}return t._`${e}${r}${(0,t.getProperty)(o)}`},e.unescapeFragment=function(e){return i(decodeURIComponent(e))},e.escapeFragment=function(e){return encodeURIComponent(s(e))},e.escapeJsonPointer=s,e.unescapeJsonPointer=i,e.eachItem=function(e,t){if(Array.isArray(e))for(const r of e)t(r);else t(e)},e.mergeEvaluated={props:a({mergeNames:(e,r,n)=>e.if(t._`${n} !== true && ${r} !== undefined`,(()=>{e.if(t._`${r} === true`,(()=>e.assign(n,!0)),(()=>e.assign(n,t._`${n} || {}`).code(t._`Object.assign(${n}, ${r})`)))})),mergeToName:(e,r,n)=>e.if(t._`${n} !== true`,(()=>{!0===r?e.assign(n,!0):(e.assign(n,t._`${n} || {}`),l(e,n,r))})),mergeValues:(e,t)=>!0===e||{...e,...t},resultToName:c}),items:a({mergeNames:(e,r,n)=>e.if(t._`${n} !== true && ${r} !== undefined`,(()=>e.assign(n,t._`${r} === true ? true : ${n} > ${r} ? ${n} : ${r}`))),mergeToName:(e,r,n)=>e.if(t._`${n} !== true`,(()=>e.assign(n,!0===r||t._`${n} > ${r} ? ${n} : ${r}`))),mergeValues:(e,t)=>!0===e||Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})},e.evaluatedPropsToName=c,e.setEvaluated=l;const d={};var p,u;function h(e,t,r=e.opts.strictSchema){if(r){if(t=`strict mode: ${t}`,!0===r)throw new Error(t);e.self.logger.warn(t)}}e.useFunc=function(e,t){return e.scopeValue("func",{ref:t,code:d[t.code]||(d[t.code]=new r._Code(t.code))})},(u=p=e.Type||(e.Type={}))[u.Num=0]="Num",u[u.Str=1]="Str",e.getErrorPath=function(e,r,n){if(e instanceof t.Name){const o=r===p.Num;return n?o?t._`"[" + ${e} + "]"`:t._`"['" + ${e} + "']"`:o?t._`"/" + ${e}`:t._`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return n?(0,t.getProperty)(e).toString():"/"+s(e)},e.checkStrictMode=h}(util);var names$1={};Object.defineProperty(names$1,"__esModule",{value:!0});const codegen_1$t=codegen,names={data:new codegen_1$t.Name("data"),valCxt:new codegen_1$t.Name("valCxt"),instancePath:new codegen_1$t.Name("instancePath"),parentData:new codegen_1$t.Name("parentData"),parentDataProperty:new codegen_1$t.Name("parentDataProperty"),rootData:new codegen_1$t.Name("rootData"),dynamicAnchors:new codegen_1$t.Name("dynamicAnchors"),vErrors:new codegen_1$t.Name("vErrors"),errors:new codegen_1$t.Name("errors"),this:new codegen_1$t.Name("this"),self:new codegen_1$t.Name("self"),scope:new codegen_1$t.Name("scope"),json:new codegen_1$t.Name("json"),jsonPos:new codegen_1$t.Name("jsonPos"),jsonLen:new codegen_1$t.Name("jsonLen"),jsonPart:new codegen_1$t.Name("jsonPart")};names$1.default=names,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.extendErrors=e.resetErrorsCount=e.reportExtraError=e.reportError=e.keyword$DataError=e.keywordError=void 0;const t=codegen,r=util,n=names$1;function o(e,r){const o=e.const("err",r);e.if(t._`${n.default.vErrors} === null`,(()=>e.assign(n.default.vErrors,t._`[${o}]`)),t._`${n.default.vErrors}.push(${o})`),e.code(t._`${n.default.errors}++`)}function s(e,r){const{gen:n,validateName:o,schemaEnv:s}=e;s.$async?n.throw(t._`new ${e.ValidationError}(${r})`):(n.assign(t._`${o}.errors`,r),n.return(!1))}e.keywordError={message:({keyword:e})=>t.str`must pass "${e}" keyword validation`},e.keyword$DataError={message:({keyword:e,schemaType:r})=>r?t.str`"${e}" keyword must be ${r} ($data)`:t.str`"${e}" keyword is invalid ($data)`},e.reportError=function(r,n=e.keywordError,i,c){const{it:l}=r,{gen:d,compositeRule:p,allErrors:u}=l,h=a(r,n,i);c??(p||u)?o(d,h):s(l,t._`[${h}]`)},e.reportExtraError=function(t,r=e.keywordError,i){const{it:c}=t,{gen:l,compositeRule:d,allErrors:p}=c;o(l,a(t,r,i)),d||p||s(c,n.default.vErrors)},e.resetErrorsCount=function(e,r){e.assign(n.default.errors,r),e.if(t._`${n.default.vErrors} !== null`,(()=>e.if(r,(()=>e.assign(t._`${n.default.vErrors}.length`,r)),(()=>e.assign(n.default.vErrors,null)))))},e.extendErrors=function({gen:e,keyword:r,schemaValue:o,data:s,errsCount:i,it:a}){if(void 0===i)throw new Error("ajv implementation error");const c=e.name("err");e.forRange("i",i,n.default.errors,(i=>{e.const(c,t._`${n.default.vErrors}[${i}]`),e.if(t._`${c}.instancePath === undefined`,(()=>e.assign(t._`${c}.instancePath`,(0,t.strConcat)(n.default.instancePath,a.errorPath)))),e.assign(t._`${c}.schemaPath`,t.str`${a.errSchemaPath}/${r}`),a.opts.verbose&&(e.assign(t._`${c}.schema`,o),e.assign(t._`${c}.data`,s))}))};const i={keyword:new t.Name("keyword"),schemaPath:new t.Name("schemaPath"),params:new t.Name("params"),propertyName:new t.Name("propertyName"),message:new t.Name("message"),schema:new t.Name("schema"),parentSchema:new t.Name("parentSchema")};function a(e,r,o){const{createErrors:s}=e.it;return!1===s?t._`{}`:function(e,r,o={}){const{gen:s,it:a}=e,d=[c(a,o),l(e,o)];return function(e,{params:r,message:o},s){const{keyword:a,data:c,schemaValue:l,it:d}=e,{opts:p,propertyName:u,topSchemaRef:h,schemaPath:f}=d;s.push([i.keyword,a],[i.params,"function"==typeof r?r(e):r||t._`{}`]),p.messages&&s.push([i.message,"function"==typeof o?o(e):o]),p.verbose&&s.push([i.schema,l],[i.parentSchema,t._`${h}${f}`],[n.default.data,c]),u&&s.push([i.propertyName,u])}(e,r,d),s.object(...d)}(e,r,o)}function c({errorPath:e},{instancePath:o}){const s=o?t.str`${e}${(0,r.getErrorPath)(o,r.Type.Str)}`:e;return[n.default.instancePath,(0,t.strConcat)(n.default.instancePath,s)]}function l({keyword:e,it:{errSchemaPath:n}},{schemaPath:o,parentSchema:s}){let a=s?n:t.str`${n}/${e}`;return o&&(a=t.str`${a}${(0,r.getErrorPath)(o,r.Type.Str)}`),[i.schemaPath,a]}}(errors),Object.defineProperty(boolSchema,"__esModule",{value:!0}),boolSchema.boolOrEmptySchema=boolSchema.topBoolOrEmptySchema=void 0;const errors_1$2=errors,codegen_1$s=codegen,names_1$6=names$1,boolError={message:"boolean schema is false"};function topBoolOrEmptySchema(e){const{gen:t,schema:r,validateName:n}=e;!1===r?falseSchemaError(e,!1):"object"==typeof r&&!0===r.$async?t.return(names_1$6.default.data):(t.assign(codegen_1$s._`${n}.errors`,null),t.return(!0))}function boolOrEmptySchema(e,t){const{gen:r,schema:n}=e;!1===n?(r.var(t,!1),falseSchemaError(e)):r.var(t,!0)}function falseSchemaError(e,t){const{gen:r,data:n}=e,o={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,errors_1$2.reportError)(o,boolError,void 0,t)}boolSchema.topBoolOrEmptySchema=topBoolOrEmptySchema,boolSchema.boolOrEmptySchema=boolOrEmptySchema;var dataType={},rules={};Object.defineProperty(rules,"__esModule",{value:!0}),rules.getRules=rules.isJSONType=void 0;const _jsonTypes=["string","number","integer","boolean","null","object","array"],jsonTypes=new Set(_jsonTypes);function isJSONType(e){return"string"==typeof e&&jsonTypes.has(e)}function getRules(){const e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}rules.isJSONType=isJSONType,rules.getRules=getRules;var applicability={};function schemaHasRulesForType({schema:e,self:t},r){const n=t.RULES.types[r];return n&&!0!==n&&shouldUseGroup(e,n)}function shouldUseGroup(e,t){return t.rules.some((t=>shouldUseRule(e,t)))}function shouldUseRule(e,t){var r;return void 0!==e[t.keyword]||(null===(r=t.definition.implements)||void 0===r?void 0:r.some((t=>void 0!==e[t])))}Object.defineProperty(applicability,"__esModule",{value:!0}),applicability.shouldUseRule=applicability.shouldUseGroup=applicability.schemaHasRulesForType=void 0,applicability.schemaHasRulesForType=schemaHasRulesForType,applicability.shouldUseGroup=shouldUseGroup,applicability.shouldUseRule=shouldUseRule,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.reportTypeError=e.checkDataTypes=e.checkDataType=e.coerceAndCheckDataType=e.getJSONTypes=e.getSchemaTypes=e.DataType=void 0;const t=rules,r=applicability,n=errors,o=codegen,s=util;var i,a;function c(e){const r=Array.isArray(e)?e:e?[e]:[];if(r.every(t.isJSONType))return r;throw new Error("type must be JSONType or JSONType[]: "+r.join(","))}(a=i=e.DataType||(e.DataType={}))[a.Correct=0]="Correct",a[a.Wrong=1]="Wrong",e.getSchemaTypes=function(e){const t=c(e.type);if(t.includes("null")){if(!1===e.nullable)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&void 0!==e.nullable)throw new Error('"nullable" cannot be used without "type"');!0===e.nullable&&t.push("null")}return t},e.getJSONTypes=c,e.coerceAndCheckDataType=function(e,t){const{gen:n,data:s,opts:a}=e,c=function(e,t){return t?e.filter((e=>l.has(e)||"array"===t&&"array"===e)):[]}(t,a.coerceTypes),d=t.length>0&&!(0===c.length&&1===t.length&&(0,r.schemaHasRulesForType)(e,t[0]));if(d){const r=p(t,s,a.strictNumbers,i.Wrong);n.if(r,(()=>{c.length?function(e,t,r){const{gen:n,data:s,opts:i}=e,a=n.let("dataType",o._`typeof ${s}`),c=n.let("coerced",o._`undefined`);"array"===i.coerceTypes&&n.if(o._`${a} == 'object' && Array.isArray(${s}) && ${s}.length == 1`,(()=>n.assign(s,o._`${s}[0]`).assign(a,o._`typeof ${s}`).if(p(t,s,i.strictNumbers),(()=>n.assign(c,s))))),n.if(o._`${c} !== undefined`);for(const o of r)(l.has(o)||"array"===o&&"array"===i.coerceTypes)&&d(o);function d(e){switch(e){case"string":return void n.elseIf(o._`${a} == "number" || ${a} == "boolean"`).assign(c,o._`"" + ${s}`).elseIf(o._`${s} === null`).assign(c,o._`""`);case"number":return void n.elseIf(o._`${a} == "boolean" || ${s} === null + || (${a} == "string" && ${s} && ${s} == +${s})`).assign(c,o._`+${s}`);case"integer":return void n.elseIf(o._`${a} === "boolean" || ${s} === null + || (${a} === "string" && ${s} && ${s} == +${s} && !(${s} % 1))`).assign(c,o._`+${s}`);case"boolean":return void n.elseIf(o._`${s} === "false" || ${s} === 0 || ${s} === null`).assign(c,!1).elseIf(o._`${s} === "true" || ${s} === 1`).assign(c,!0);case"null":return n.elseIf(o._`${s} === "" || ${s} === 0 || ${s} === false`),void n.assign(c,null);case"array":n.elseIf(o._`${a} === "string" || ${a} === "number" + || ${a} === "boolean" || ${s} === null`).assign(c,o._`[${s}]`)}}n.else(),h(e),n.endIf(),n.if(o._`${c} !== undefined`,(()=>{n.assign(s,c),function({gen:e,parentData:t,parentDataProperty:r},n){e.if(o._`${t} !== undefined`,(()=>e.assign(o._`${t}[${r}]`,n)))}(e,c)}))}(e,t,c):h(e)}))}return d};const l=new Set(["string","number","integer","boolean","null"]);function d(e,t,r,n=i.Correct){const s=n===i.Correct?o.operators.EQ:o.operators.NEQ;let a;switch(e){case"null":return o._`${t} ${s} null`;case"array":a=o._`Array.isArray(${t})`;break;case"object":a=o._`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":a=c(o._`!(${t} % 1) && !isNaN(${t})`);break;case"number":a=c();break;default:return o._`typeof ${t} ${s} ${e}`}return n===i.Correct?a:(0,o.not)(a);function c(e=o.nil){return(0,o.and)(o._`typeof ${t} == "number"`,e,r?o._`isFinite(${t})`:o.nil)}}function p(e,t,r,n){if(1===e.length)return d(e[0],t,r,n);let i;const a=(0,s.toHash)(e);if(a.array&&a.object){const e=o._`typeof ${t} != "object"`;i=a.null?e:o._`!${t} || ${e}`,delete a.null,delete a.array,delete a.object}else i=o.nil;a.number&&delete a.integer;for(const s in a)i=(0,o.and)(i,d(s,t,r,n));return i}e.checkDataType=d,e.checkDataTypes=p;const u={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>"string"==typeof e?o._`{type: ${e}}`:o._`{type: ${t}}`};function h(e){const t=function(e){const{gen:t,data:r,schema:n}=e,o=(0,s.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:e}}(e);(0,n.reportError)(t,u)}e.reportTypeError=h}(dataType);var defaults={};Object.defineProperty(defaults,"__esModule",{value:!0}),defaults.assignDefaults=void 0;const codegen_1$r=codegen,util_1$p=util;function assignDefaults(e,t){const{properties:r,items:n}=e.schema;if("object"===t&&r)for(const o in r)assignDefault(e,o,r[o].default);else"array"===t&&Array.isArray(n)&&n.forEach(((t,r)=>assignDefault(e,r,t.default)))}function assignDefault(e,t,r){const{gen:n,compositeRule:o,data:s,opts:i}=e;if(void 0===r)return;const a=codegen_1$r._`${s}${(0,codegen_1$r.getProperty)(t)}`;if(o)return void(0,util_1$p.checkStrictMode)(e,`default is ignored for: ${a}`);let c=codegen_1$r._`${a} === undefined`;"empty"===i.useDefaults&&(c=codegen_1$r._`${c} || ${a} === null || ${a} === ""`),n.if(c,codegen_1$r._`${a} = ${(0,codegen_1$r.stringify)(r)}`)}defaults.assignDefaults=assignDefaults;var keyword={},code={};Object.defineProperty(code,"__esModule",{value:!0}),code.validateUnion=code.validateArray=code.usePattern=code.callValidateCode=code.schemaProperties=code.allSchemaProperties=code.noPropertyInData=code.propertyInData=code.isOwnProperty=code.hasPropFunc=code.reportMissingProp=code.checkMissingProp=code.checkReportMissingProp=void 0;const codegen_1$q=codegen,util_1$o=util,names_1$5=names$1,util_2$1=util;function checkReportMissingProp(e,t){const{gen:r,data:n,it:o}=e;r.if(noPropertyInData(r,n,t,o.opts.ownProperties),(()=>{e.setParams({missingProperty:codegen_1$q._`${t}`},!0),e.error()}))}function checkMissingProp({gen:e,data:t,it:{opts:r}},n,o){return(0,codegen_1$q.or)(...n.map((n=>(0,codegen_1$q.and)(noPropertyInData(e,t,n,r.ownProperties),codegen_1$q._`${o} = ${n}`))))}function reportMissingProp(e,t){e.setParams({missingProperty:t},!0),e.error()}function hasPropFunc(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:codegen_1$q._`Object.prototype.hasOwnProperty`})}function isOwnProperty(e,t,r){return codegen_1$q._`${hasPropFunc(e)}.call(${t}, ${r})`}function propertyInData(e,t,r,n){const o=codegen_1$q._`${t}${(0,codegen_1$q.getProperty)(r)} !== undefined`;return n?codegen_1$q._`${o} && ${isOwnProperty(e,t,r)}`:o}function noPropertyInData(e,t,r,n){const o=codegen_1$q._`${t}${(0,codegen_1$q.getProperty)(r)} === undefined`;return n?(0,codegen_1$q.or)(o,(0,codegen_1$q.not)(isOwnProperty(e,t,r))):o}function allSchemaProperties(e){return e?Object.keys(e).filter((e=>"__proto__"!==e)):[]}function schemaProperties(e,t){return allSchemaProperties(t).filter((r=>!(0,util_1$o.alwaysValidSchema)(e,t[r])))}function callValidateCode({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:s},it:i},a,c,l){const d=l?codegen_1$q._`${e}, ${t}, ${n}${o}`:t,p=[[names_1$5.default.instancePath,(0,codegen_1$q.strConcat)(names_1$5.default.instancePath,s)],[names_1$5.default.parentData,i.parentData],[names_1$5.default.parentDataProperty,i.parentDataProperty],[names_1$5.default.rootData,names_1$5.default.rootData]];i.opts.dynamicRef&&p.push([names_1$5.default.dynamicAnchors,names_1$5.default.dynamicAnchors]);const u=codegen_1$q._`${d}, ${r.object(...p)}`;return c!==codegen_1$q.nil?codegen_1$q._`${a}.call(${c}, ${u})`:codegen_1$q._`${a}(${u})`}code.checkReportMissingProp=checkReportMissingProp,code.checkMissingProp=checkMissingProp,code.reportMissingProp=reportMissingProp,code.hasPropFunc=hasPropFunc,code.isOwnProperty=isOwnProperty,code.propertyInData=propertyInData,code.noPropertyInData=noPropertyInData,code.allSchemaProperties=allSchemaProperties,code.schemaProperties=schemaProperties,code.callValidateCode=callValidateCode;const newRegExp=codegen_1$q._`new RegExp`;function usePattern({gen:e,it:{opts:t}},r){const n=t.unicodeRegExp?"u":"",{regExp:o}=t.code,s=o(r,n);return e.scopeValue("pattern",{key:s.toString(),ref:s,code:codegen_1$q._`${"new RegExp"===o.code?newRegExp:(0,util_2$1.useFunc)(e,o)}(${r}, ${n})`})}function validateArray(e){const{gen:t,data:r,keyword:n,it:o}=e,s=t.name("valid");if(o.allErrors){const e=t.let("valid",!0);return i((()=>t.assign(e,!1))),e}return t.var(s,!0),i((()=>t.break())),s;function i(o){const i=t.const("len",codegen_1$q._`${r}.length`);t.forRange("i",0,i,(r=>{e.subschema({keyword:n,dataProp:r,dataPropType:util_1$o.Type.Num},s),t.if((0,codegen_1$q.not)(s),o)}))}}function validateUnion(e){const{gen:t,schema:r,keyword:n,it:o}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some((e=>(0,util_1$o.alwaysValidSchema)(o,e)))&&!o.opts.unevaluated)return;const s=t.let("valid",!1),i=t.name("_valid");t.block((()=>r.forEach(((r,o)=>{const a=e.subschema({keyword:n,schemaProp:o,compositeRule:!0},i);t.assign(s,codegen_1$q._`${s} || ${i}`),e.mergeValidEvaluated(a,i)||t.if((0,codegen_1$q.not)(s))})))),e.result(s,(()=>e.reset()),(()=>e.error(!0)))}code.usePattern=usePattern,code.validateArray=validateArray,code.validateUnion=validateUnion,Object.defineProperty(keyword,"__esModule",{value:!0}),keyword.validateKeywordUsage=keyword.validSchemaType=keyword.funcKeywordCode=keyword.macroKeywordCode=void 0;const codegen_1$p=codegen,names_1$4=names$1,code_1$9=code,errors_1$1=errors;function macroKeywordCode(e,t){const{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=e,a=t.macro.call(i.self,o,s,i),c=useKeyword(r,n,a);!1!==i.opts.validateSchema&&i.self.validateSchema(a,!0);const l=r.name("valid");e.subschema({schema:a,schemaPath:codegen_1$p.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},l),e.pass(l,(()=>e.error(!0)))}function funcKeywordCode(e,t){var r;const{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=e;checkAsyncKeyword(c,t);const l=!a&&t.compile?t.compile.call(c.self,s,i,c):t.validate,d=useKeyword(n,o,l),p=n.let("valid");function u(r=(t.async?codegen_1$p._`await `:codegen_1$p.nil)){const o=c.opts.passContext?names_1$4.default.this:names_1$4.default.self,s=!("compile"in t&&!a||!1===t.schema);n.assign(p,codegen_1$p._`${r}${(0,code_1$9.callValidateCode)(e,d,o,s)}`,t.modifying)}function h(e){var r;n.if((0,codegen_1$p.not)(null!==(r=t.valid)&&void 0!==r?r:p),e)}e.block$data(p,(function(){if(!1===t.errors)u(),t.modifying&&modifyData(e),h((()=>e.error()));else{const r=t.async?function(){const e=n.let("ruleErrs",null);return n.try((()=>u(codegen_1$p._`await `)),(t=>n.assign(p,!1).if(codegen_1$p._`${t} instanceof ${c.ValidationError}`,(()=>n.assign(e,codegen_1$p._`${t}.errors`)),(()=>n.throw(t))))),e}():function(){const e=codegen_1$p._`${d}.errors`;return n.assign(e,null),u(codegen_1$p.nil),e}();t.modifying&&modifyData(e),h((()=>addErrs(e,r)))}})),e.ok(null!==(r=t.valid)&&void 0!==r?r:p)}function modifyData(e){const{gen:t,data:r,it:n}=e;t.if(n.parentData,(()=>t.assign(r,codegen_1$p._`${n.parentData}[${n.parentDataProperty}]`)))}function addErrs(e,t){const{gen:r}=e;r.if(codegen_1$p._`Array.isArray(${t})`,(()=>{r.assign(names_1$4.default.vErrors,codegen_1$p._`${names_1$4.default.vErrors} === null ? ${t} : ${names_1$4.default.vErrors}.concat(${t})`).assign(names_1$4.default.errors,codegen_1$p._`${names_1$4.default.vErrors}.length`),(0,errors_1$1.extendErrors)(e)}),(()=>e.error()))}function checkAsyncKeyword({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function useKeyword(e,t,r){if(void 0===r)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword","function"==typeof r?{ref:r}:{ref:r,code:(0,codegen_1$p.stringify)(r)})}function validSchemaType(e,t,r=!1){return!t.length||t.some((t=>"array"===t?Array.isArray(e):"object"===t?e&&"object"==typeof e&&!Array.isArray(e):typeof e==t||r&&typeof e>"u"))}function validateKeywordUsage({schema:e,opts:t,self:r,errSchemaPath:n},o,s){if(Array.isArray(o.keyword)?!o.keyword.includes(s):o.keyword!==s)throw new Error("ajv implementation error");const i=o.dependencies;if(null!=i&&i.some((t=>!Object.prototype.hasOwnProperty.call(e,t))))throw new Error(`parent schema must have dependencies of ${s}: ${i.join(",")}`);if(o.validateSchema&&!o.validateSchema(e[s])){const e=`keyword "${s}" value is invalid at path "${n}": `+r.errorsText(o.validateSchema.errors);if("log"!==t.validateSchema)throw new Error(e);r.logger.error(e)}}keyword.macroKeywordCode=macroKeywordCode,keyword.funcKeywordCode=funcKeywordCode,keyword.validSchemaType=validSchemaType,keyword.validateKeywordUsage=validateKeywordUsage;var subschema={};Object.defineProperty(subschema,"__esModule",{value:!0}),subschema.extendSubschemaMode=subschema.extendSubschemaData=subschema.getSubschema=void 0;const codegen_1$o=codegen,util_1$n=util;function getSubschema(e,{keyword:t,schemaProp:r,schema:n,schemaPath:o,errSchemaPath:s,topSchemaRef:i}){if(void 0!==t&&void 0!==n)throw new Error('both "keyword" and "schema" passed, only one allowed');if(void 0!==t){const n=e.schema[t];return void 0===r?{schema:n,schemaPath:codegen_1$o._`${e.schemaPath}${(0,codegen_1$o.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:n[r],schemaPath:codegen_1$o._`${e.schemaPath}${(0,codegen_1$o.getProperty)(t)}${(0,codegen_1$o.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,util_1$n.escapeFragment)(r)}`}}if(void 0!==n){if(void 0===o||void 0===s||void 0===i)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:o,topSchemaRef:i,errSchemaPath:s}}throw new Error('either "keyword" or "schema" must be passed')}function extendSubschemaData(e,t,{dataProp:r,dataPropType:n,data:o,dataTypes:s,propertyName:i}){if(void 0!==o&&void 0!==r)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:a}=t;if(void 0!==r){const{errorPath:o,dataPathArr:s,opts:i}=t;c(a.let("data",codegen_1$o._`${t.data}${(0,codegen_1$o.getProperty)(r)}`,!0)),e.errorPath=codegen_1$o.str`${o}${(0,util_1$n.getErrorPath)(r,n,i.jsPropertySyntax)}`,e.parentDataProperty=codegen_1$o._`${r}`,e.dataPathArr=[...s,e.parentDataProperty]}if(void 0!==o){c(o instanceof codegen_1$o.Name?o:a.let("data",o,!0)),void 0!==i&&(e.propertyName=i)}function c(r){e.data=r,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,r]}s&&(e.dataTypes=s)}function extendSubschemaMode(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:o,allErrors:s}){void 0!==n&&(e.compositeRule=n),void 0!==o&&(e.createErrors=o),void 0!==s&&(e.allErrors=s),e.jtdDiscriminator=t,e.jtdMetadata=r}subschema.getSubschema=getSubschema,subschema.extendSubschemaData=extendSubschemaData,subschema.extendSubschemaMode=extendSubschemaMode;var resolve$1={},fastDeepEqual=function e(t,r){if(t===r)return!0;if(t&&r&&"object"==typeof t&&"object"==typeof r){if(t.constructor!==r.constructor)return!1;var n,o,s;if(Array.isArray(t)){if((n=t.length)!=r.length)return!1;for(o=n;0!=o--;)if(!e(t[o],r[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if((n=(s=Object.keys(t)).length)!==Object.keys(r).length)return!1;for(o=n;0!=o--;)if(!Object.prototype.hasOwnProperty.call(r,s[o]))return!1;for(o=n;0!=o--;){var i=s[o];if(!e(t[i],r[i]))return!1}return!0}return t!=t&&r!=r},jsonSchemaTraverse={exports:{}},traverse$1=jsonSchemaTraverse.exports=function(e,t,r){"function"==typeof t&&(r=t,t={}),_traverse(t,"function"==typeof(r=t.cb||r)?r:r.pre||function(){},r.post||function(){},e,"",e)};function _traverse(e,t,r,n,o,s,i,a,c,l){if(n&&"object"==typeof n&&!Array.isArray(n)){for(var d in t(n,o,s,i,a,c,l),n){var p=n[d];if(Array.isArray(p)){if(d in traverse$1.arrayKeywords)for(var u=0;u<p.length;u++)_traverse(e,t,r,p[u],o+"/"+d+"/"+u,s,o,d,n,u)}else if(d in traverse$1.propsKeywords){if(p&&"object"==typeof p)for(var h in p)_traverse(e,t,r,p[h],o+"/"+d+"/"+escapeJsonPtr(h),s,o,d,n,h)}else(d in traverse$1.keywords||e.allKeys&&!(d in traverse$1.skipKeywords))&&_traverse(e,t,r,p,o+"/"+d,s,o,d,n)}r(n,o,s,i,a,c,l)}}function escapeJsonPtr(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}traverse$1.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0},traverse$1.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},traverse$1.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},traverse$1.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};var jsonSchemaTraverseExports=jsonSchemaTraverse.exports;Object.defineProperty(resolve$1,"__esModule",{value:!0}),resolve$1.getSchemaRefs=resolve$1.resolveUrl=resolve$1.normalizeId=resolve$1._getFullPath=resolve$1.getFullPath=resolve$1.inlineRef=void 0;const util_1$m=util,equal$2=fastDeepEqual,traverse=jsonSchemaTraverseExports,SIMPLE_INLINED=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function inlineRef(e,t=!0){return"boolean"==typeof e||(!0===t?!hasRef(e):!!t&&countKeys(e)<=t)}resolve$1.inlineRef=inlineRef;const REF_KEYWORDS=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function hasRef(e){for(const t in e){if(REF_KEYWORDS.has(t))return!0;const r=e[t];if(Array.isArray(r)&&r.some(hasRef)||"object"==typeof r&&hasRef(r))return!0}return!1}function countKeys(e){let t=0;for(const r in e){if("$ref"===r)return 1/0;if(t++,!SIMPLE_INLINED.has(r)&&("object"==typeof e[r]&&(0,util_1$m.eachItem)(e[r],(e=>t+=countKeys(e))),t===1/0))return 1/0}return t}function getFullPath(e,t="",r){!1!==r&&(t=normalizeId(t));const n=e.parse(t);return _getFullPath(e,n)}function _getFullPath(e,t){return e.serialize(t).split("#")[0]+"#"}resolve$1.getFullPath=getFullPath,resolve$1._getFullPath=_getFullPath;const TRAILING_SLASH_HASH=/#\/?$/;function normalizeId(e){return e?e.replace(TRAILING_SLASH_HASH,""):""}function resolveUrl(e,t,r){return r=normalizeId(r),e.resolve(t,r)}resolve$1.normalizeId=normalizeId,resolve$1.resolveUrl=resolveUrl;const ANCHOR=/^[a-z_][-a-z0-9._]*$/i;function getSchemaRefs(e,t){if("boolean"==typeof e)return{};const{schemaId:r,uriResolver:n}=this.opts,o=normalizeId(e[r]||t),s={"":o},i=getFullPath(n,o,!1),a={},c=new Set;return traverse(e,{allKeys:!0},((e,t,n,o)=>{if(void 0===o)return;const p=i+t;let u=s[o];function h(t){const r=this.opts.uriResolver.resolve;if(t=normalizeId(u?r(u,t):t),c.has(t))throw d(t);c.add(t);let n=this.refs[t];return"string"==typeof n&&(n=this.refs[n]),"object"==typeof n?l(e,n.schema,t):t!==normalizeId(p)&&("#"===t[0]?(l(e,a[t],t),a[t]=e):this.refs[t]=p),t}function f(e){if("string"==typeof e){if(!ANCHOR.test(e))throw new Error(`invalid anchor "${e}"`);h.call(this,`#${e}`)}}"string"==typeof e[r]&&(u=h.call(this,e[r])),f.call(this,e.$anchor),f.call(this,e.$dynamicAnchor),s[t]=u})),a;function l(e,t,r){if(void 0!==t&&!equal$2(e,t))throw d(r)}function d(e){return new Error(`reference "${e}" resolves to more than one schema`)}}resolve$1.getSchemaRefs=getSchemaRefs,Object.defineProperty(validate,"__esModule",{value:!0}),validate.getData=validate.KeywordCxt=validate.validateFunctionCode=void 0;const boolSchema_1=boolSchema,dataType_1$1=dataType,applicability_1=applicability,dataType_2=dataType,defaults_1=defaults,keyword_1=keyword,subschema_1=subschema,codegen_1$n=codegen,names_1$3=names$1,resolve_1$2=resolve$1,util_1$l=util,errors_1=errors;function validateFunctionCode(e){isSchemaObj(e)&&(checkKeywords(e),schemaCxtHasRules(e))?topSchemaObjCode(e):validateFunction(e,(()=>(0,boolSchema_1.topBoolOrEmptySchema)(e)))}function validateFunction({gen:e,validateName:t,schema:r,schemaEnv:n,opts:o},s){o.code.es5?e.func(t,codegen_1$n._`${names_1$3.default.data}, ${names_1$3.default.valCxt}`,n.$async,(()=>{e.code(codegen_1$n._`"use strict"; ${funcSourceUrl(r,o)}`),destructureValCxtES5(e,o),e.code(s)})):e.func(t,codegen_1$n._`${names_1$3.default.data}, ${destructureValCxt(o)}`,n.$async,(()=>e.code(funcSourceUrl(r,o)).code(s)))}function destructureValCxt(e){return codegen_1$n._`{${names_1$3.default.instancePath}="", ${names_1$3.default.parentData}, ${names_1$3.default.parentDataProperty}, ${names_1$3.default.rootData}=${names_1$3.default.data}${e.dynamicRef?codegen_1$n._`, ${names_1$3.default.dynamicAnchors}={}`:codegen_1$n.nil}}={}`}function destructureValCxtES5(e,t){e.if(names_1$3.default.valCxt,(()=>{e.var(names_1$3.default.instancePath,codegen_1$n._`${names_1$3.default.valCxt}.${names_1$3.default.instancePath}`),e.var(names_1$3.default.parentData,codegen_1$n._`${names_1$3.default.valCxt}.${names_1$3.default.parentData}`),e.var(names_1$3.default.parentDataProperty,codegen_1$n._`${names_1$3.default.valCxt}.${names_1$3.default.parentDataProperty}`),e.var(names_1$3.default.rootData,codegen_1$n._`${names_1$3.default.valCxt}.${names_1$3.default.rootData}`),t.dynamicRef&&e.var(names_1$3.default.dynamicAnchors,codegen_1$n._`${names_1$3.default.valCxt}.${names_1$3.default.dynamicAnchors}`)}),(()=>{e.var(names_1$3.default.instancePath,codegen_1$n._`""`),e.var(names_1$3.default.parentData,codegen_1$n._`undefined`),e.var(names_1$3.default.parentDataProperty,codegen_1$n._`undefined`),e.var(names_1$3.default.rootData,names_1$3.default.data),t.dynamicRef&&e.var(names_1$3.default.dynamicAnchors,codegen_1$n._`{}`)}))}function topSchemaObjCode(e){const{schema:t,opts:r,gen:n}=e;validateFunction(e,(()=>{r.$comment&&t.$comment&&commentKeyword(e),checkNoDefault(e),n.let(names_1$3.default.vErrors,null),n.let(names_1$3.default.errors,0),r.unevaluated&&resetEvaluated(e),typeAndKeywords(e),returnResults(e)}))}function resetEvaluated(e){const{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",codegen_1$n._`${r}.evaluated`),t.if(codegen_1$n._`${e.evaluated}.dynamicProps`,(()=>t.assign(codegen_1$n._`${e.evaluated}.props`,codegen_1$n._`undefined`))),t.if(codegen_1$n._`${e.evaluated}.dynamicItems`,(()=>t.assign(codegen_1$n._`${e.evaluated}.items`,codegen_1$n._`undefined`)))}function funcSourceUrl(e,t){const r="object"==typeof e&&e[t.schemaId];return r&&(t.code.source||t.code.process)?codegen_1$n._`/*# sourceURL=${r} */`:codegen_1$n.nil}function subschemaCode(e,t){isSchemaObj(e)&&(checkKeywords(e),schemaCxtHasRules(e))?subSchemaObjCode(e,t):(0,boolSchema_1.boolOrEmptySchema)(e,t)}function schemaCxtHasRules({schema:e,self:t}){if("boolean"==typeof e)return!e;for(const r in e)if(t.RULES.all[r])return!0;return!1}function isSchemaObj(e){return"boolean"!=typeof e.schema}function subSchemaObjCode(e,t){const{schema:r,gen:n,opts:o}=e;o.$comment&&r.$comment&&commentKeyword(e),updateContext(e),checkAsyncSchema(e);const s=n.const("_errs",names_1$3.default.errors);typeAndKeywords(e,s),n.var(t,codegen_1$n._`${s} === ${names_1$3.default.errors}`)}function checkKeywords(e){(0,util_1$l.checkUnknownRules)(e),checkRefsAndKeywords(e)}function typeAndKeywords(e,t){if(e.opts.jtd)return schemaKeywords(e,[],!1,t);const r=(0,dataType_1$1.getSchemaTypes)(e.schema);schemaKeywords(e,r,!(0,dataType_1$1.coerceAndCheckDataType)(e,r),t)}function checkRefsAndKeywords(e){const{schema:t,errSchemaPath:r,opts:n,self:o}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,util_1$l.schemaHasRulesButRef)(t,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function checkNoDefault(e){const{schema:t,opts:r}=e;void 0!==t.default&&r.useDefaults&&r.strictSchema&&(0,util_1$l.checkStrictMode)(e,"default is ignored in the schema root")}function updateContext(e){const t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,resolve_1$2.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function checkAsyncSchema(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function commentKeyword({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:o}){const s=r.$comment;if(!0===o.$comment)e.code(codegen_1$n._`${names_1$3.default.self}.logger.log(${s})`);else if("function"==typeof o.$comment){const r=codegen_1$n.str`${n}/$comment`,o=e.scopeValue("root",{ref:t.root});e.code(codegen_1$n._`${names_1$3.default.self}.opts.$comment(${s}, ${r}, ${o}.schema)`)}}function returnResults(e){const{gen:t,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=e;r.$async?t.if(codegen_1$n._`${names_1$3.default.errors} === 0`,(()=>t.return(names_1$3.default.data)),(()=>t.throw(codegen_1$n._`new ${o}(${names_1$3.default.vErrors})`))):(t.assign(codegen_1$n._`${n}.errors`,names_1$3.default.vErrors),s.unevaluated&&assignEvaluated(e),t.return(codegen_1$n._`${names_1$3.default.errors} === 0`))}function assignEvaluated({gen:e,evaluated:t,props:r,items:n}){r instanceof codegen_1$n.Name&&e.assign(codegen_1$n._`${t}.props`,r),n instanceof codegen_1$n.Name&&e.assign(codegen_1$n._`${t}.items`,n)}function schemaKeywords(e,t,r,n){const{gen:o,schema:s,data:i,allErrors:a,opts:c,self:l}=e,{RULES:d}=l;function p(l){(0,applicability_1.shouldUseGroup)(s,l)&&(l.type?(o.if((0,dataType_2.checkDataType)(l.type,i,c.strictNumbers)),iterateKeywords(e,l),1===t.length&&t[0]===l.type&&r&&(o.else(),(0,dataType_2.reportTypeError)(e)),o.endIf()):iterateKeywords(e,l),a||o.if(codegen_1$n._`${names_1$3.default.errors} === ${n||0}`))}!s.$ref||!c.ignoreKeywordsWithRef&&(0,util_1$l.schemaHasRulesButRef)(s,d)?(c.jtd||checkStrictTypes(e,t),o.block((()=>{for(const e of d.rules)p(e);p(d.post)}))):o.block((()=>keywordCode(e,"$ref",d.all.$ref.definition)))}function iterateKeywords(e,t){const{gen:r,schema:n,opts:{useDefaults:o}}=e;o&&(0,defaults_1.assignDefaults)(e,t.type),r.block((()=>{for(const r of t.rules)(0,applicability_1.shouldUseRule)(n,r)&&keywordCode(e,r.keyword,r.definition,t.type)}))}function checkStrictTypes(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(checkContextTypes(e,t),e.opts.allowUnionTypes||checkMultipleTypes(e,t),checkKeywordTypes(e,e.dataTypes))}function checkContextTypes(e,t){if(t.length){if(!e.dataTypes.length)return void(e.dataTypes=t);t.forEach((t=>{includesType(e.dataTypes,t)||strictTypesError(e,`type "${t}" not allowed by context "${e.dataTypes.join(",")}"`)})),narrowSchemaTypes(e,t)}}function checkMultipleTypes(e,t){t.length>1&&(2!==t.length||!t.includes("null"))&&strictTypesError(e,"use allowUnionTypes to allow union type keyword")}function checkKeywordTypes(e,t){const r=e.self.RULES.all;for(const n in r){const o=r[n];if("object"==typeof o&&(0,applicability_1.shouldUseRule)(e.schema,o)){const{type:r}=o.definition;r.length&&!r.some((e=>hasApplicableType(t,e)))&&strictTypesError(e,`missing type "${r.join(",")}" for keyword "${n}"`)}}}function hasApplicableType(e,t){return e.includes(t)||"number"===t&&e.includes("integer")}function includesType(e,t){return e.includes(t)||"integer"===t&&e.includes("number")}function narrowSchemaTypes(e,t){const r=[];for(const n of e.dataTypes)includesType(t,n)?r.push(n):t.includes("integer")&&"number"===n&&r.push("integer");e.dataTypes=r}function strictTypesError(e,t){t+=` at "${e.schemaEnv.baseId+e.errSchemaPath}" (strictTypes)`,(0,util_1$l.checkStrictMode)(e,t,e.opts.strictTypes)}validate.validateFunctionCode=validateFunctionCode;class KeywordCxt{constructor(e,t,r){if((0,keyword_1.validateKeywordUsage)(e,t,r),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=r,this.data=e.data,this.schema=e.schema[r],this.$data=t.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,util_1$l.schemaRefOrVal)(e,this.schema,r,this.$data),this.schemaType=t.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=t,this.$data)this.schemaCode=e.gen.const("vSchema",getData(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,keyword_1.validSchemaType)(this.schema,t.schemaType,t.allowUndefined))throw new Error(`${r} value must be ${JSON.stringify(t.schemaType)}`);("code"in t?t.trackErrors:!1!==t.errors)&&(this.errsCount=e.gen.const("_errs",names_1$3.default.errors))}result(e,t,r){this.failResult((0,codegen_1$n.not)(e),t,r)}failResult(e,t,r){this.gen.if(e),r?r():this.error(),t?(this.gen.else(),t(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,t){this.failResult((0,codegen_1$n.not)(e),void 0,t)}fail(e){if(void 0===e)return this.error(),void(this.allErrors||this.gen.if(!1));this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);const{schemaCode:t}=this;this.fail(codegen_1$n._`${t} !== undefined && (${(0,codegen_1$n.or)(this.invalid$data(),e)})`)}error(e,t,r){if(t)return this.setParams(t),this._error(e,r),void this.setParams({});this._error(e,r)}_error(e,t){(e?errors_1.reportExtraError:errors_1.reportError)(this,this.def.error,t)}$dataError(){(0,errors_1.reportError)(this,this.def.$dataError||errors_1.keyword$DataError)}reset(){if(void 0===this.errsCount)throw new Error('add "trackErrors" to keyword definition');(0,errors_1.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,t){t?Object.assign(this.params,e):this.params=e}block$data(e,t,r=codegen_1$n.nil){this.gen.block((()=>{this.check$data(e,r),t()}))}check$data(e=codegen_1$n.nil,t=codegen_1$n.nil){if(!this.$data)return;const{gen:r,schemaCode:n,schemaType:o,def:s}=this;r.if((0,codegen_1$n.or)(codegen_1$n._`${n} === undefined`,t)),e!==codegen_1$n.nil&&r.assign(e,!0),(o.length||s.validateSchema)&&(r.elseIf(this.invalid$data()),this.$dataError(),e!==codegen_1$n.nil&&r.assign(e,!1)),r.else()}invalid$data(){const{gen:e,schemaCode:t,schemaType:r,def:n,it:o}=this;return(0,codegen_1$n.or)(function(){if(r.length){if(!(t instanceof codegen_1$n.Name))throw new Error("ajv implementation error");const e=Array.isArray(r)?r:[r];return codegen_1$n._`${(0,dataType_2.checkDataTypes)(e,t,o.opts.strictNumbers,dataType_2.DataType.Wrong)}`}return codegen_1$n.nil}(),function(){if(n.validateSchema){const r=e.scopeValue("validate$data",{ref:n.validateSchema});return codegen_1$n._`!${r}(${t})`}return codegen_1$n.nil}())}subschema(e,t){const r=(0,subschema_1.getSubschema)(this.it,e);(0,subschema_1.extendSubschemaData)(r,this.it,e),(0,subschema_1.extendSubschemaMode)(r,e);const n={...this.it,...r,items:void 0,props:void 0};return subschemaCode(n,t),n}mergeEvaluated(e,t){const{it:r,gen:n}=this;r.opts.unevaluated&&(!0!==r.props&&void 0!==e.props&&(r.props=util_1$l.mergeEvaluated.props(n,e.props,r.props,t)),!0!==r.items&&void 0!==e.items&&(r.items=util_1$l.mergeEvaluated.items(n,e.items,r.items,t)))}mergeValidEvaluated(e,t){const{it:r,gen:n}=this;if(r.opts.unevaluated&&(!0!==r.props||!0!==r.items))return n.if(t,(()=>this.mergeEvaluated(e,codegen_1$n.Name))),!0}}function keywordCode(e,t,r,n){const o=new KeywordCxt(e,r,t);"code"in r?r.code(o,n):o.$data&&r.validate?(0,keyword_1.funcKeywordCode)(o,r):"macro"in r?(0,keyword_1.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,keyword_1.funcKeywordCode)(o,r)}validate.KeywordCxt=KeywordCxt;const JSON_POINTER=/^\/(?:[^~]|~0|~1)*$/,RELATIVE_JSON_POINTER=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function getData(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let o,s;if(""===e)return names_1$3.default.rootData;if("/"===e[0]){if(!JSON_POINTER.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);o=e,s=names_1$3.default.rootData}else{const i=RELATIVE_JSON_POINTER.exec(e);if(!i)throw new Error(`Invalid JSON-pointer: ${e}`);const a=+i[1];if(o=i[2],"#"===o){if(a>=t)throw new Error(c("property/index",a));return n[t-a]}if(a>t)throw new Error(c("data",a));if(s=r[t-a],!o)return s}let i=s;const a=o.split("/");for(const l of a)l&&(s=codegen_1$n._`${s}${(0,codegen_1$n.getProperty)((0,util_1$l.unescapeJsonPointer)(l))}`,i=codegen_1$n._`${i} && ${s}`);return i;function c(e,r){return`Cannot access ${e} ${r} levels up, current level is ${t}`}}validate.getData=getData;var validation_error={};Object.defineProperty(validation_error,"__esModule",{value:!0});class ValidationError extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}}validation_error.default=ValidationError;var ref_error={};Object.defineProperty(ref_error,"__esModule",{value:!0});const resolve_1$1=resolve$1;class MissingRefError extends Error{constructor(e,t,r,n){super(n||`can't resolve reference ${r} from id ${t}`),this.missingRef=(0,resolve_1$1.resolveUrl)(e,t,r),this.missingSchema=(0,resolve_1$1.normalizeId)((0,resolve_1$1.getFullPath)(e,this.missingRef))}}ref_error.default=MissingRefError;var compile={};Object.defineProperty(compile,"__esModule",{value:!0}),compile.resolveSchema=compile.getCompilingSchema=compile.resolveRef=compile.compileSchema=compile.SchemaEnv=void 0;const codegen_1$m=codegen,validation_error_1=validation_error,names_1$2=names$1,resolve_1=resolve$1,util_1$k=util,validate_1$1=validate;class SchemaEnv{constructor(e){var t;let r;this.refs={},this.dynamicAnchors={},"object"==typeof e.schema&&(r=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=null!==(t=e.baseId)&&void 0!==t?t:(0,resolve_1.normalizeId)(null==r?void 0:r[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=null==r?void 0:r.$async,this.refs={}}}function compileSchema(e){const t=getCompilingSchema.call(this,e);if(t)return t;const r=(0,resolve_1.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new codegen_1$m.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s});let a;e.$async&&(a=i.scopeValue("Error",{ref:validation_error_1.default,code:codegen_1$m._`require("ajv/dist/runtime/validation_error").default`}));const c=i.scopeName("validate");e.validateName=c;const l={gen:i,allErrors:this.opts.allErrors,data:names_1$2.default.data,parentData:names_1$2.default.parentData,parentDataProperty:names_1$2.default.parentDataProperty,dataNames:[names_1$2.default.data],dataPathArr:[codegen_1$m.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",!0===this.opts.code.source?{ref:e.schema,code:(0,codegen_1$m.stringify)(e.schema)}:{ref:e.schema}),validateName:c,ValidationError:a,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:codegen_1$m.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:codegen_1$m._`""`,opts:this.opts,self:this};let d;try{this._compilations.add(e),(0,validate_1$1.validateFunctionCode)(l),i.optimize(this.opts.code.optimize);const t=i.toString();d=`${i.scopeRefs(names_1$2.default.scope)}return ${t}`,this.opts.code.process&&(d=this.opts.code.process(d,e));const r=new Function(`${names_1$2.default.self}`,`${names_1$2.default.scope}`,d)(this,this.scope.get());if(this.scope.value(c,{ref:r}),r.errors=null,r.schema=e.schema,r.schemaEnv=e,e.$async&&(r.$async=!0),!0===this.opts.code.source&&(r.source={validateName:c,validateCode:t,scopeValues:i._values}),this.opts.unevaluated){const{props:e,items:t}=l;r.evaluated={props:e instanceof codegen_1$m.Name?void 0:e,items:t instanceof codegen_1$m.Name?void 0:t,dynamicProps:e instanceof codegen_1$m.Name,dynamicItems:t instanceof codegen_1$m.Name},r.source&&(r.source.evaluated=(0,codegen_1$m.stringify)(r.evaluated))}return e.validate=r,e}catch(p){throw delete e.validate,delete e.validateName,d&&this.logger.error("Error compiling schema, function code:",d),p}finally{this._compilations.delete(e)}}function resolveRef(e,t,r){var n;r=(0,resolve_1.resolveUrl)(this.opts.uriResolver,t,r);const o=e.refs[r];if(o)return o;let s=resolve.call(this,e,r);if(void 0===s){const o=null===(n=e.localRefs)||void 0===n?void 0:n[r],{schemaId:i}=this.opts;o&&(s=new SchemaEnv({schema:o,schemaId:i,root:e,baseId:t}))}return void 0!==s?e.refs[r]=inlineOrCompile.call(this,s):void 0}function inlineOrCompile(e){return(0,resolve_1.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:compileSchema.call(this,e)}function getCompilingSchema(e){for(const t of this._compilations)if(sameSchemaEnv(t,e))return t}function sameSchemaEnv(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function resolve(e,t){let r;for(;"string"==typeof(r=this.refs[t]);)t=r;return r||this.schemas[t]||resolveSchema.call(this,e,t)}function resolveSchema(e,t){const r=this.opts.uriResolver.parse(t),n=(0,resolve_1._getFullPath)(this.opts.uriResolver,r);let o=(0,resolve_1.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===o)return getJsonPointer.call(this,r,e);const s=(0,resolve_1.normalizeId)(n),i=this.refs[s]||this.schemas[s];if("string"==typeof i){const t=resolveSchema.call(this,e,i);return"object"!=typeof(null==t?void 0:t.schema)?void 0:getJsonPointer.call(this,r,t)}if("object"==typeof(null==i?void 0:i.schema)){if(i.validate||compileSchema.call(this,i),s===(0,resolve_1.normalizeId)(t)){const{schema:t}=i,{schemaId:r}=this.opts,n=t[r];return n&&(o=(0,resolve_1.resolveUrl)(this.opts.uriResolver,o,n)),new SchemaEnv({schema:t,schemaId:r,root:e,baseId:o})}return getJsonPointer.call(this,r,i)}}compile.SchemaEnv=SchemaEnv,compile.compileSchema=compileSchema,compile.resolveRef=resolveRef,compile.getCompilingSchema=getCompilingSchema,compile.resolveSchema=resolveSchema;const PREVENT_SCOPE_CHANGE=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function getJsonPointer(e,{baseId:t,schema:r,root:n}){var o;if("/"!==(null===(o=e.fragment)||void 0===o?void 0:o[0]))return;for(const a of e.fragment.slice(1).split("/")){if("boolean"==typeof r)return;const e=r[(0,util_1$k.unescapeFragment)(a)];if(void 0===e)return;const n="object"==typeof(r=e)&&r[this.opts.schemaId];!PREVENT_SCOPE_CHANGE.has(a)&&n&&(t=(0,resolve_1.resolveUrl)(this.opts.uriResolver,t,n))}let s;if("boolean"!=typeof r&&r.$ref&&!(0,util_1$k.schemaHasRulesButRef)(r,this.RULES)){const e=(0,resolve_1.resolveUrl)(this.opts.uriResolver,t,r.$ref);s=resolveSchema.call(this,n,e)}const{schemaId:i}=this.opts;return s=s||new SchemaEnv({schema:r,schemaId:i,root:n,baseId:t}),s.schema!==s.root.schema?s:void 0}const $id$1="https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description="Meta-schema for $data reference (JSON AnySchema extension proposal)",type$1="object",required$1=["$data"],properties$2={$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties$1=!1,require$$9={$id:$id$1,description:description,type:type$1,required:required$1,properties:properties$2,additionalProperties:additionalProperties$1};var uri$1={},uri_all={exports:{}},t;t=uri_all.exports,function(e){function t(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];if(t.length>1){t[0]=t[0].slice(0,-1);for(var n=t.length-1,o=1;o<n;++o)t[o]=t[o].slice(1,-1);return t[n]=t[n].slice(1),t.join("")}return t[0]}function r(e){return"(?:"+e+")"}function n(e){return void 0===e?"undefined":null===e?"null":Object.prototype.toString.call(e).split(" ").pop().split("]").shift().toLowerCase()}function o(e){return e.toUpperCase()}function s(e){return null!=e?e instanceof Array?e:"number"!=typeof e.length||e.split||e.setInterval||e.call?[e]:Array.prototype.slice.call(e):[]}function i(e,t){var r=e;if(t)for(var n in t)r[n]=t[n];return r}function a(e){var n="[A-Za-z]",o="[0-9]",s=t(o,"[A-Fa-f]"),i=r(r("%[EFef]"+s+"%"+s+s+"%"+s+s)+"|"+r("%[89A-Fa-f]"+s+"%"+s+s)+"|"+r("%"+s+s)),a="[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]",c=t("[\\:\\/\\?\\#\\[\\]\\@]",a),l=e?"[\\uE000-\\uF8FF]":"[]",d=t(n,o,"[\\-\\.\\_\\~]",e?"[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]":"[]");r(n+t(n,o,"[\\+\\-\\.]")+"*"),r(r(i+"|"+t(d,a,"[\\:]"))+"*");var p=r(r("25[0-5]")+"|"+r("2[0-4]"+o)+"|"+r("1"+o+o)+"|"+r("0?[1-9]"+o)+"|0?0?"+o),u=r(p+"\\."+p+"\\."+p+"\\."+p),h=r(s+"{1,4}"),f=r(r(h+"\\:"+h)+"|"+u),m=r(r(h+"\\:")+"{6}"+f),g=r("\\:\\:"+r(h+"\\:")+"{5}"+f),y=r(r(h)+"?\\:\\:"+r(h+"\\:")+"{4}"+f),_=r(r(r(h+"\\:")+"{0,1}"+h)+"?\\:\\:"+r(h+"\\:")+"{3}"+f),$=r(r(r(h+"\\:")+"{0,2}"+h)+"?\\:\\:"+r(h+"\\:")+"{2}"+f),v=r(r(r(h+"\\:")+"{0,3}"+h)+"?\\:\\:"+h+"\\:"+f),w=r(r(r(h+"\\:")+"{0,4}"+h)+"?\\:\\:"+f),b=r(r(r(h+"\\:")+"{0,5}"+h)+"?\\:\\:"+h),P=r(r(r(h+"\\:")+"{0,6}"+h)+"?\\:\\:"),E=r([m,g,y,_,$,v,w,b,P].join("|")),S=r(r(d+"|"+i)+"+");r("[vV]"+s+"+\\."+t(d,a,"[\\:]")+"+"),r(r(i+"|"+t(d,a))+"*");var k=r(i+"|"+t(d,a,"[\\:\\@]"));return r(r(i+"|"+t(d,a,"[\\@]"))+"+"),r(r(k+"|"+t("[\\/\\?]",l))+"*"),{NOT_SCHEME:new RegExp(t("[^]",n,o,"[\\+\\-\\.]"),"g"),NOT_USERINFO:new RegExp(t("[^\\%\\:]",d,a),"g"),NOT_HOST:new RegExp(t("[^\\%\\[\\]\\:]",d,a),"g"),NOT_PATH:new RegExp(t("[^\\%\\/\\:\\@]",d,a),"g"),NOT_PATH_NOSCHEME:new RegExp(t("[^\\%\\/\\@]",d,a),"g"),NOT_QUERY:new RegExp(t("[^\\%]",d,a,"[\\:\\@\\/\\?]",l),"g"),NOT_FRAGMENT:new RegExp(t("[^\\%]",d,a,"[\\:\\@\\/\\?]"),"g"),ESCAPE:new RegExp(t("[^]",d,a),"g"),UNRESERVED:new RegExp(d,"g"),OTHER_CHARS:new RegExp(t("[^\\%]",d,c),"g"),PCT_ENCODED:new RegExp(i,"g"),IPV4ADDRESS:new RegExp("^("+u+")$"),IPV6ADDRESS:new RegExp("^\\[?("+E+")"+r(r("\\%25|\\%(?!"+s+"{2})")+"("+S+")")+"?\\]?$")}}var c=a(!1),l=a(!0),d=function(){function e(e,t){var r=[],n=!0,o=!1,s=void 0;try{for(var i,a=e[Symbol.iterator]();!(n=(i=a.next()).done)&&(r.push(i.value),!t||r.length!==t);n=!0);}catch(c){o=!0,s=c}finally{try{!n&&a.return&&a.return()}finally{if(o)throw s}}return r}return function(t,r){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),p=function(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)},u=2147483647,h=36,f=1,m=26,g=38,y=700,_=72,$=128,v="-",w=/^xn--/,b=/[^\0-\x7E]/,P=/[\x2E\u3002\uFF0E\uFF61]/g,E={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},S=h-f,k=Math.floor,T=String.fromCharCode;function R(e){throw new RangeError(E[e])}function x(e,t){for(var r=[],n=e.length;n--;)r[n]=t(e[n]);return r}function C(e,t){var r=e.split("@"),n="";return r.length>1&&(n=r[0]+"@",e=r[1]),n+x((e=e.replace(P,".")).split("."),t).join(".")}function N(e){for(var t=[],r=0,n=e.length;r<n;){var o=e.charCodeAt(r++);if(o>=55296&&o<=56319&&r<n){var s=e.charCodeAt(r++);56320==(64512&s)?t.push(((1023&o)<<10)+(1023&s)+65536):(t.push(o),r--)}else t.push(o)}return t}var j=function(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:h},O=function(e,t){return e+22+75*(e<26)-((0!=t)<<5)},I=function(e,t,r){var n=0;for(e=r?k(e/y):e>>1,e+=k(e/t);e>S*m>>1;n+=h)e=k(e/S);return k(n+(S+1)*e/(e+g))},A=function(e){var t=[],r=e.length,n=0,o=$,s=_,i=e.lastIndexOf(v);i<0&&(i=0);for(var a=0;a<i;++a)e.charCodeAt(a)>=128&&R("not-basic"),t.push(e.charCodeAt(a));for(var c=i>0?i+1:0;c<r;){for(var l=n,d=1,p=h;;p+=h){c>=r&&R("invalid-input");var g=j(e.charCodeAt(c++));(g>=h||g>k((u-n)/d))&&R("overflow"),n+=g*d;var y=p<=s?f:p>=s+m?m:p-s;if(g<y)break;var w=h-y;d>k(u/w)&&R("overflow"),d*=w}var b=t.length+1;s=I(n-l,b,0==l),k(n/b)>u-o&&R("overflow"),o+=k(n/b),n%=b,t.splice(n++,0,o)}return String.fromCodePoint.apply(String,t)},F=function(e){var t=[],r=(e=N(e)).length,n=$,o=0,s=_,i=!0,a=!1,c=void 0;try{for(var l,d=e[Symbol.iterator]();!(i=(l=d.next()).done);i=!0){var p=l.value;p<128&&t.push(T(p))}}catch(B){a=!0,c=B}finally{try{!i&&d.return&&d.return()}finally{if(a)throw c}}var g=t.length,y=g;for(g&&t.push(v);y<r;){var w=u,b=!0,P=!1,E=void 0;try{for(var S,x=e[Symbol.iterator]();!(b=(S=x.next()).done);b=!0){var C=S.value;C>=n&&C<w&&(w=C)}}catch(B){P=!0,E=B}finally{try{!b&&x.return&&x.return()}finally{if(P)throw E}}var j=y+1;w-n>k((u-o)/j)&&R("overflow"),o+=(w-n)*j,n=w;var A=!0,F=!1,D=void 0;try{for(var M,q=e[Symbol.iterator]();!(A=(M=q.next()).done);A=!0){var L=M.value;if(L<n&&++o>u&&R("overflow"),L==n){for(var U=o,H=h;;H+=h){var V=H<=s?f:H>=s+m?m:H-s;if(U<V)break;var W=U-V,z=h-V;t.push(T(O(V+W%z,0))),U=k(W/z)}t.push(T(O(U,0))),s=I(o,j,y==g),o=0,++y}}}catch(B){F=!0,D=B}finally{try{!A&&q.return&&q.return()}finally{if(F)throw D}}++o,++n}return t.join("")},D=function(e){return C(e,(function(e){return w.test(e)?A(e.slice(4).toLowerCase()):e}))},M=function(e){return C(e,(function(e){return b.test(e)?"xn--"+F(e):e}))},q={version:"2.1.0",ucs2:{decode:N,encode:function(e){return String.fromCodePoint.apply(String,p(e))}},decode:A,encode:F,toASCII:M,toUnicode:D},L={};function U(e){var t=e.charCodeAt(0);return t<16?"%0"+t.toString(16).toUpperCase():t<128?"%"+t.toString(16).toUpperCase():t<2048?"%"+(t>>6|192).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase():"%"+(t>>12|224).toString(16).toUpperCase()+"%"+(t>>6&63|128).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase()}function H(e){for(var t="",r=0,n=e.length;r<n;){var o=parseInt(e.substr(r+1,2),16);if(o<128)t+=String.fromCharCode(o),r+=3;else if(o>=194&&o<224){if(n-r>=6){var s=parseInt(e.substr(r+4,2),16);t+=String.fromCharCode((31&o)<<6|63&s)}else t+=e.substr(r,6);r+=6}else if(o>=224){if(n-r>=9){var i=parseInt(e.substr(r+4,2),16),a=parseInt(e.substr(r+7,2),16);t+=String.fromCharCode((15&o)<<12|(63&i)<<6|63&a)}else t+=e.substr(r,9);r+=9}else t+=e.substr(r,3),r+=3}return t}function V(e,t){function r(e){var r=H(e);return r.match(t.UNRESERVED)?r:e}return e.scheme&&(e.scheme=String(e.scheme).replace(t.PCT_ENCODED,r).toLowerCase().replace(t.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,r).replace(t.NOT_USERINFO,U).replace(t.PCT_ENCODED,o)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,r).toLowerCase().replace(t.NOT_HOST,U).replace(t.PCT_ENCODED,o)),void 0!==e.path&&(e.path=String(e.path).replace(t.PCT_ENCODED,r).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,U).replace(t.PCT_ENCODED,o)),void 0!==e.query&&(e.query=String(e.query).replace(t.PCT_ENCODED,r).replace(t.NOT_QUERY,U).replace(t.PCT_ENCODED,o)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,r).replace(t.NOT_FRAGMENT,U).replace(t.PCT_ENCODED,o)),e}function W(e){return e.replace(/^0*(.*)/,"$1")||"0"}function z(e,t){var r=e.match(t.IPV4ADDRESS)||[],n=d(r,2)[1];return n?n.split(".").map(W).join("."):e}function B(e,t){var r=e.match(t.IPV6ADDRESS)||[],n=d(r,3),o=n[1],s=n[2];if(o){for(var i=o.toLowerCase().split("::").reverse(),a=d(i,2),c=a[0],l=a[1],p=l?l.split(":").map(W):[],u=c.split(":").map(W),h=t.IPV4ADDRESS.test(u[u.length-1]),f=h?7:8,m=u.length-f,g=Array(f),y=0;y<f;++y)g[y]=p[y]||u[m+y]||"";h&&(g[f-1]=z(g[f-1],t));var _=g.reduce((function(e,t,r){if(!t||"0"===t){var n=e[e.length-1];n&&n.index+n.length===r?n.length++:e.push({index:r,length:1})}return e}),[]).sort((function(e,t){return t.length-e.length}))[0],$=void 0;if(_&&_.length>1){var v=g.slice(0,_.index),w=g.slice(_.index+_.length);$=v.join(":")+"::"+w.join(":")}else $=g.join(":");return s&&($+="%"+s),$}return e}var G=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,K=void 0==="".match(/(){0}/)[1];function J(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r={},n=!1!==t.iri?l:c;"suffix"===t.reference&&(e=(t.scheme?t.scheme+":":"")+"//"+e);var o=e.match(G);if(o){K?(r.scheme=o[1],r.userinfo=o[3],r.host=o[4],r.port=parseInt(o[5],10),r.path=o[6]||"",r.query=o[7],r.fragment=o[8],isNaN(r.port)&&(r.port=o[5])):(r.scheme=o[1]||void 0,r.userinfo=-1!==e.indexOf("@")?o[3]:void 0,r.host=-1!==e.indexOf("//")?o[4]:void 0,r.port=parseInt(o[5],10),r.path=o[6]||"",r.query=-1!==e.indexOf("?")?o[7]:void 0,r.fragment=-1!==e.indexOf("#")?o[8]:void 0,isNaN(r.port)&&(r.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?o[4]:void 0)),r.host&&(r.host=B(z(r.host,n),n)),void 0!==r.scheme||void 0!==r.userinfo||void 0!==r.host||void 0!==r.port||r.path||void 0!==r.query?void 0===r.scheme?r.reference="relative":void 0===r.fragment?r.reference="absolute":r.reference="uri":r.reference="same-document",t.reference&&"suffix"!==t.reference&&t.reference!==r.reference&&(r.error=r.error||"URI is not a "+t.reference+" reference.");var s=L[(t.scheme||r.scheme||"").toLowerCase()];if(t.unicodeSupport||s&&s.unicodeSupport)V(r,n);else{if(r.host&&(t.domainHost||s&&s.domainHost))try{r.host=q.toASCII(r.host.replace(n.PCT_ENCODED,H).toLowerCase())}catch(i){r.error=r.error||"Host's domain name can not be converted to ASCII via punycode: "+i}V(r,c)}s&&s.parse&&s.parse(r,t)}else r.error=r.error||"URI can not be parsed.";return r}function Z(e,t){var r=!1!==t.iri?l:c,n=[];return void 0!==e.userinfo&&(n.push(e.userinfo),n.push("@")),void 0!==e.host&&n.push(B(z(String(e.host),r),r).replace(r.IPV6ADDRESS,(function(e,t,r){return"["+t+(r?"%25"+r:"")+"]"}))),("number"==typeof e.port||"string"==typeof e.port)&&(n.push(":"),n.push(String(e.port))),n.length?n.join(""):void 0}var Y=/^\.\.?\//,Q=/^\/\.(\/|$)/,X=/^\/\.\.(\/|$)/,ee=/^\/?(?:.|\n)*?(?=\/|$)/;function te(e){for(var t=[];e.length;)if(e.match(Y))e=e.replace(Y,"");else if(e.match(Q))e=e.replace(Q,"/");else if(e.match(X))e=e.replace(X,"/"),t.pop();else if("."===e||".."===e)e="";else{var r=e.match(ee);if(!r)throw new Error("Unexpected dot segment condition");var n=r[0];e=e.slice(n.length),t.push(n)}return t.join("")}function re(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.iri?l:c,n=[],o=L[(t.scheme||e.scheme||"").toLowerCase()];if(o&&o.serialize&&o.serialize(e,t),e.host&&!r.IPV6ADDRESS.test(e.host)&&(t.domainHost||o&&o.domainHost))try{e.host=t.iri?q.toUnicode(e.host):q.toASCII(e.host.replace(r.PCT_ENCODED,H).toLowerCase())}catch(a){e.error=e.error||"Host's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+a}V(e,r),"suffix"!==t.reference&&e.scheme&&(n.push(e.scheme),n.push(":"));var s=Z(e,t);if(void 0!==s&&("suffix"!==t.reference&&n.push("//"),n.push(s),e.path&&"/"!==e.path.charAt(0)&&n.push("/")),void 0!==e.path){var i=e.path;!t.absolutePath&&(!o||!o.absolutePath)&&(i=te(i)),void 0===s&&(i=i.replace(/^\/\//,"/%2F")),n.push(i)}return void 0!==e.query&&(n.push("?"),n.push(e.query)),void 0!==e.fragment&&(n.push("#"),n.push(e.fragment)),n.join("")}function ne(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n={};return arguments[3]||(e=J(re(e,r),r),t=J(re(t,r),r)),!(r=r||{}).tolerant&&t.scheme?(n.scheme=t.scheme,n.userinfo=t.userinfo,n.host=t.host,n.port=t.port,n.path=te(t.path||""),n.query=t.query):(void 0!==t.userinfo||void 0!==t.host||void 0!==t.port?(n.userinfo=t.userinfo,n.host=t.host,n.port=t.port,n.path=te(t.path||""),n.query=t.query):(t.path?("/"===t.path.charAt(0)?n.path=te(t.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?n.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:n.path=t.path:n.path="/"+t.path,n.path=te(n.path)),n.query=t.query):(n.path=e.path,void 0!==t.query?n.query=t.query:n.query=e.query),n.userinfo=e.userinfo,n.host=e.host,n.port=e.port),n.scheme=e.scheme),n.fragment=t.fragment,n}function oe(e,t,r){var n=i({scheme:"null"},r);return re(ne(J(e,n),J(t,n),n,!0),n)}function se(e,t){return"string"==typeof e?e=re(J(e,t),t):"object"===n(e)&&(e=J(re(e,t),t)),e}function ie(e,t,r){return"string"==typeof e?e=re(J(e,r),r):"object"===n(e)&&(e=re(e,r)),"string"==typeof t?t=re(J(t,r),r):"object"===n(t)&&(t=re(t,r)),e===t}function ae(e,t){return e&&e.toString().replace(t&&t.iri?l.ESCAPE:c.ESCAPE,U)}function ce(e,t){return e&&e.toString().replace(t&&t.iri?l.PCT_ENCODED:c.PCT_ENCODED,H)}var le={scheme:"http",domainHost:!0,parse:function(e,t){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,t){var r="https"===String(e.scheme).toLowerCase();return(e.port===(r?443:80)||""===e.port)&&(e.port=void 0),e.path||(e.path="/"),e}},de={scheme:"https",domainHost:le.domainHost,parse:le.parse,serialize:le.serialize};function pe(e){return"boolean"==typeof e.secure?e.secure:"wss"===String(e.scheme).toLowerCase()}var ue={scheme:"ws",domainHost:!0,parse:function(e,t){var r=e;return r.secure=pe(r),r.resourceName=(r.path||"/")+(r.query?"?"+r.query:""),r.path=void 0,r.query=void 0,r},serialize:function(e,t){if((e.port===(pe(e)?443:80)||""===e.port)&&(e.port=void 0),"boolean"==typeof e.secure&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){var r=e.resourceName.split("?"),n=d(r,2),o=n[0],s=n[1];e.path=o&&"/"!==o?o:void 0,e.query=s,e.resourceName=void 0}return e.fragment=void 0,e}},he={scheme:"wss",domainHost:ue.domainHost,parse:ue.parse,serialize:ue.serialize},fe={},me="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",ge="[0-9A-Fa-f]",ye=r(r("%[EFef]"+ge+"%"+ge+ge+"%"+ge+ge)+"|"+r("%[89A-Fa-f]"+ge+"%"+ge+ge)+"|"+r("%"+ge+ge)),_e="[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]",$e=t("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),ve="[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]",we=new RegExp(me,"g"),be=new RegExp(ye,"g"),Pe=new RegExp(t("[^]",_e,"[\\.]",'[\\"]',$e),"g"),Ee=new RegExp(t("[^]",me,ve),"g"),Se=Ee;function ke(e){var t=H(e);return t.match(we)?t:e}var Te={scheme:"mailto",parse:function(e,t){var r=e,n=r.to=r.path?r.path.split(","):[];if(r.path=void 0,r.query){for(var o=!1,s={},i=r.query.split("&"),a=0,c=i.length;a<c;++a){var l=i[a].split("=");switch(l[0]){case"to":for(var d=l[1].split(","),p=0,u=d.length;p<u;++p)n.push(d[p]);break;case"subject":r.subject=ce(l[1],t);break;case"body":r.body=ce(l[1],t);break;default:o=!0,s[ce(l[0],t)]=ce(l[1],t)}}o&&(r.headers=s)}r.query=void 0;for(var h=0,f=n.length;h<f;++h){var m=n[h].split("@");if(m[0]=ce(m[0]),t.unicodeSupport)m[1]=ce(m[1],t).toLowerCase();else try{m[1]=q.toASCII(ce(m[1],t).toLowerCase())}catch(g){r.error=r.error||"Email address's domain name can not be converted to ASCII via punycode: "+g}n[h]=m.join("@")}return r},serialize:function(e,t){var r=e,n=s(e.to);if(n){for(var i=0,a=n.length;i<a;++i){var c=String(n[i]),l=c.lastIndexOf("@"),d=c.slice(0,l).replace(be,ke).replace(be,o).replace(Pe,U),p=c.slice(l+1);try{p=t.iri?q.toUnicode(p):q.toASCII(ce(p,t).toLowerCase())}catch(m){r.error=r.error||"Email address's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+m}n[i]=d+"@"+p}r.path=n.join(",")}var u=e.headers=e.headers||{};e.subject&&(u.subject=e.subject),e.body&&(u.body=e.body);var h=[];for(var f in u)u[f]!==fe[f]&&h.push(f.replace(be,ke).replace(be,o).replace(Ee,U)+"="+u[f].replace(be,ke).replace(be,o).replace(Se,U));return h.length&&(r.query=h.join("&")),r}},Re=/^([^\:]+)\:(.*)/,xe={scheme:"urn",parse:function(e,t){var r=e.path&&e.path.match(Re),n=e;if(r){var o=t.scheme||n.scheme||"urn",s=r[1].toLowerCase(),i=r[2],a=o+":"+(t.nid||s),c=L[a];n.nid=s,n.nss=i,n.path=void 0,c&&(n=c.parse(n,t))}else n.error=n.error||"URN can not be parsed.";return n},serialize:function(e,t){var r=t.scheme||e.scheme||"urn",n=e.nid,o=r+":"+(t.nid||n),s=L[o];s&&(e=s.serialize(e,t));var i=e,a=e.nss;return i.path=(n||t.nid)+":"+a,i}},Ce=/^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/,Ne={scheme:"urn:uuid",parse:function(e,t){var r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!r.uuid.match(Ce))&&(r.error=r.error||"UUID is not valid."),r},serialize:function(e,t){var r=e;return r.nss=(e.uuid||"").toLowerCase(),r}};L[le.scheme]=le,L[de.scheme]=de,L[ue.scheme]=ue,L[he.scheme]=he,L[Te.scheme]=Te,L[xe.scheme]=xe,L[Ne.scheme]=Ne,e.SCHEMES=L,e.pctEncChar=U,e.pctDecChars=H,e.parse=J,e.removeDotSegments=te,e.serialize=re,e.resolveComponents=ne,e.resolve=oe,e.normalize=se,e.equal=ie,e.escapeComponent=ae,e.unescapeComponent=ce,Object.defineProperty(e,"__esModule",{value:!0})}(t);var uri_allExports=uri_all.exports;Object.defineProperty(uri$1,"__esModule",{value:!0});const uri=uri_allExports;uri.code='require("ajv/dist/runtime/uri").default',uri$1.default=uri,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.CodeGen=e.Name=e.nil=e.stringify=e.str=e._=e.KeywordCxt=void 0;var t=validate;Object.defineProperty(e,"KeywordCxt",{enumerable:!0,get:function(){return t.KeywordCxt}});var r=codegen;Object.defineProperty(e,"_",{enumerable:!0,get:function(){return r._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return r.Name}}),Object.defineProperty(e,"CodeGen",{enumerable:!0,get:function(){return r.CodeGen}});const n=validation_error,o=ref_error,s=rules,i=compile,a=codegen,c=resolve$1,l=dataType,d=util,p=require$$9,u=uri$1,h=(e,t)=>new RegExp(e,t);h.code="new RegExp";const f=["removeAdditional","useDefaults","coerceTypes"],m=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),g={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},y={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'};function _(e){var t,r,n,o,s,i,a,c,l,d,p,f,m,g,y,_,$,v,w,b,P,E,S,k,T;const R=e.strict,x=null===(t=e.code)||void 0===t?void 0:t.optimize,C=!0===x||void 0===x?1:x||0,N=null!==(n=null===(r=e.code)||void 0===r?void 0:r.regExp)&&void 0!==n?n:h,j=null!==(o=e.uriResolver)&&void 0!==o?o:u.default;return{strictSchema:null===(i=null!==(s=e.strictSchema)&&void 0!==s?s:R)||void 0===i||i,strictNumbers:null===(c=null!==(a=e.strictNumbers)&&void 0!==a?a:R)||void 0===c||c,strictTypes:null!==(d=null!==(l=e.strictTypes)&&void 0!==l?l:R)&&void 0!==d?d:"log",strictTuples:null!==(f=null!==(p=e.strictTuples)&&void 0!==p?p:R)&&void 0!==f?f:"log",strictRequired:null!==(g=null!==(m=e.strictRequired)&&void 0!==m?m:R)&&void 0!==g&&g,code:e.code?{...e.code,optimize:C,regExp:N}:{optimize:C,regExp:N},loopRequired:null!==(y=e.loopRequired)&&void 0!==y?y:200,loopEnum:null!==(_=e.loopEnum)&&void 0!==_?_:200,meta:null===($=e.meta)||void 0===$||$,messages:null===(v=e.messages)||void 0===v||v,inlineRefs:null===(w=e.inlineRefs)||void 0===w||w,schemaId:null!==(b=e.schemaId)&&void 0!==b?b:"$id",addUsedSchema:null===(P=e.addUsedSchema)||void 0===P||P,validateSchema:null===(E=e.validateSchema)||void 0===E||E,validateFormats:null===(S=e.validateFormats)||void 0===S||S,unicodeRegExp:null===(k=e.unicodeRegExp)||void 0===k||k,int32range:null===(T=e.int32range)||void 0===T||T,uriResolver:j}}class ${constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,..._(e)};const{es5:t,lines:r}=this.opts.code;this.scope=new a.ValueScope({scope:{},prefixes:m,es5:t,lines:r}),this.logger=function(e){if(!1===e)return k;if(void 0===e)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}(e.logger);const n=e.validateFormats;e.validateFormats=!1,this.RULES=(0,s.getRules)(),v.call(this,g,e,"NOT SUPPORTED"),v.call(this,y,e,"DEPRECATED","warn"),this._metaOpts=S.call(this),e.formats&&P.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&E.call(this,e.keywords),"object"==typeof e.meta&&this.addMetaSchema(e.meta),b.call(this),e.validateFormats=n}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:e,meta:t,schemaId:r}=this.opts;let n=p;"id"===r&&(n={...p},n.id=n.$id,delete n.$id),t&&e&&this.addMetaSchema(n,n[r],!1)}defaultMeta(){const{meta:e,schemaId:t}=this.opts;return this.opts.defaultMeta="object"==typeof e?e[t]||e:void 0}validate(e,t){let r;if("string"==typeof e){if(r=this.getSchema(e),!r)throw new Error(`no schema with key or ref "${e}"`)}else r=this.compile(e);const n=r(t);return"$async"in r||(this.errors=r.errors),n}compile(e,t){const r=this._addSchema(e,t);return r.validate||this._compileSchemaEnv(r)}compileAsync(e,t){if("function"!=typeof this.opts.loadSchema)throw new Error("options.loadSchema should be a function");const{loadSchema:r}=this.opts;return n.call(this,e,t);async function n(e,t){await s.call(this,e.$schema);const r=this._addSchema(e,t);return r.validate||i.call(this,r)}async function s(e){e&&!this.getSchema(e)&&await n.call(this,{$ref:e},!0)}async function i(e){try{return this._compileSchemaEnv(e)}catch(t){if(!(t instanceof o.default))throw t;return a.call(this,t),await c.call(this,t.missingSchema),i.call(this,e)}}function a({missingSchema:e,missingRef:t}){if(this.refs[e])throw new Error(`AnySchema ${e} is loaded but ${t} cannot be resolved`)}async function c(e){const r=await l.call(this,e);this.refs[e]||await s.call(this,r.$schema),this.refs[e]||this.addSchema(r,e,t)}async function l(e){const t=this._loading[e];if(t)return t;try{return await(this._loading[e]=r(e))}finally{delete this._loading[e]}}}addSchema(e,t,r,n=this.opts.validateSchema){if(Array.isArray(e)){for(const t of e)this.addSchema(t,void 0,r,n);return this}let o;if("object"==typeof e){const{schemaId:t}=this.opts;if(o=e[t],void 0!==o&&"string"!=typeof o)throw new Error(`schema ${t} must be string`)}return t=(0,c.normalizeId)(t||o),this._checkUnique(t),this.schemas[t]=this._addSchema(e,r,t,n,!0),this}addMetaSchema(e,t,r=this.opts.validateSchema){return this.addSchema(e,t,!0,r),this}validateSchema(e,t){if("boolean"==typeof e)return!0;let r;if(r=e.$schema,void 0!==r&&"string"!=typeof r)throw new Error("$schema must be a string");if(r=r||this.opts.defaultMeta||this.defaultMeta(),!r)return this.logger.warn("meta-schema not available"),this.errors=null,!0;const n=this.validate(r,e);if(!n&&t){const e="schema is invalid: "+this.errorsText();if("log"!==this.opts.validateSchema)throw new Error(e);this.logger.error(e)}return n}getSchema(e){let t;for(;"string"==typeof(t=w.call(this,e));)e=t;if(void 0===t){const{schemaId:r}=this.opts,n=new i.SchemaEnv({schema:{},schemaId:r});if(t=i.resolveSchema.call(this,n,e),!t)return;this.refs[e]=t}return t.validate||this._compileSchemaEnv(t)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const t=w.call(this,e);return"object"==typeof t&&this._cache.delete(t.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{const t=e;this._cache.delete(t);let r=e[this.opts.schemaId];return r&&(r=(0,c.normalizeId)(r),delete this.schemas[r],delete this.refs[r]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(const t of e)this.addKeyword(t);return this}addKeyword(e,t){let r;if("string"==typeof e)r=e,"object"==typeof t&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),t.keyword=r);else{if("object"!=typeof e||void 0!==t)throw new Error("invalid addKeywords parameters");if(r=(t=e).keyword,Array.isArray(r)&&!r.length)throw new Error("addKeywords: keyword must be string or non-empty array")}if(R.call(this,r,t),!t)return(0,d.eachItem)(r,(e=>x.call(this,e))),this;N.call(this,t);const n={...t,type:(0,l.getJSONTypes)(t.type),schemaType:(0,l.getJSONTypes)(t.schemaType)};return(0,d.eachItem)(r,0===n.type.length?e=>x.call(this,e,n):e=>n.type.forEach((t=>x.call(this,e,n,t)))),this}getKeyword(e){const t=this.RULES.all[e];return"object"==typeof t?t.definition:!!t}removeKeyword(e){const{RULES:t}=this;delete t.keywords[e],delete t.all[e];for(const r of t.rules){const t=r.rules.findIndex((t=>t.keyword===e));t>=0&&r.rules.splice(t,1)}return this}addFormat(e,t){return"string"==typeof t&&(t=new RegExp(t)),this.formats[e]=t,this}errorsText(e=this.errors,{separator:t=", ",dataVar:r="data"}={}){return e&&0!==e.length?e.map((e=>`${r}${e.instancePath} ${e.message}`)).reduce(((e,r)=>e+t+r)):"No errors"}$dataMetaSchema(e,t){const r=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(const n of t){const t=n.split("/").slice(1);let o=e;for(const e of t)o=o[e];for(const e in r){const t=r[e];if("object"!=typeof t)continue;const{$data:n}=t.definition,s=o[e];n&&s&&(o[e]=O(s))}}return e}_removeAllSchemas(e,t){for(const r in e){const n=e[r];(!t||t.test(r))&&("string"==typeof n?delete e[r]:n&&!n.meta&&(this._cache.delete(n.schema),delete e[r]))}}_addSchema(e,t,r,n=this.opts.validateSchema,o=this.opts.addUsedSchema){let s;const{schemaId:a}=this.opts;if("object"==typeof e)s=e[a];else{if(this.opts.jtd)throw new Error("schema must be object");if("boolean"!=typeof e)throw new Error("schema must be object or boolean")}let l=this._cache.get(e);if(void 0!==l)return l;r=(0,c.normalizeId)(s||r);const d=c.getSchemaRefs.call(this,e,r);return l=new i.SchemaEnv({schema:e,schemaId:a,meta:t,baseId:r,localRefs:d}),this._cache.set(l.schema,l),o&&!r.startsWith("#")&&(r&&this._checkUnique(r),this.refs[r]=l),n&&this.validateSchema(e,!0),l}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):i.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){const t=this.opts;this.opts=this._metaOpts;try{i.compileSchema.call(this,e)}finally{this.opts=t}}}function v(e,t,r,n="error"){for(const o in e){const s=o;s in t&&this.logger[n](`${r}: option ${o}. ${e[s]}`)}}function w(e){return e=(0,c.normalizeId)(e),this.schemas[e]||this.refs[e]}function b(){const e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(const t in e)this.addSchema(e[t],t)}function P(){for(const e in this.opts.formats){const t=this.opts.formats[e];t&&this.addFormat(e,t)}}function E(e){if(Array.isArray(e))this.addVocabulary(e);else{this.logger.warn("keywords option as map is deprecated, pass array");for(const t in e){const r=e[t];r.keyword||(r.keyword=t),this.addKeyword(r)}}}function S(){const e={...this.opts};for(const t of f)delete e[t];return e}e.default=$,$.ValidationError=n.default,$.MissingRefError=o.default;const k={log(){},warn(){},error(){}};const T=/^[a-z_$][a-z0-9_$:-]*$/i;function R(e,t){const{RULES:r}=this;if((0,d.eachItem)(e,(e=>{if(r.keywords[e])throw new Error(`Keyword ${e} is already defined`);if(!T.test(e))throw new Error(`Keyword ${e} has invalid name`)})),t&&t.$data&&!("code"in t)&&!("validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function x(e,t,r){var n;const o=null==t?void 0:t.post;if(r&&o)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:s}=this;let i=o?s.post:s.rules.find((({type:e})=>e===r));if(i||(i={type:r,rules:[]},s.rules.push(i)),s.keywords[e]=!0,!t)return;const a={keyword:e,definition:{...t,type:(0,l.getJSONTypes)(t.type),schemaType:(0,l.getJSONTypes)(t.schemaType)}};t.before?C.call(this,i,a,t.before):i.rules.push(a),s.all[e]=a,null===(n=t.implements)||void 0===n||n.forEach((e=>this.addKeyword(e)))}function C(e,t,r){const n=e.rules.findIndex((e=>e.keyword===r));n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`))}function N(e){let{metaSchema:t}=e;void 0!==t&&(e.$data&&this.opts.$data&&(t=O(t)),e.validateSchema=this.compile(t,!0))}const j={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function O(e){return{anyOf:[e,j]}}}(core$2);var draft7={},core$1={},id={};Object.defineProperty(id,"__esModule",{value:!0});const def$s={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};id.default=def$s;var ref={};Object.defineProperty(ref,"__esModule",{value:!0}),ref.callRef=ref.getValidate=void 0;const ref_error_1=ref_error,code_1$8=code,codegen_1$l=codegen,names_1$1=names$1,compile_1$1=compile,util_1$j=util,def$r={keyword:"$ref",schemaType:"string",code(e){const{gen:t,schema:r,it:n}=e,{baseId:o,schemaEnv:s,validateName:i,opts:a,self:c}=n,{root:l}=s;if(("#"===r||"#/"===r)&&o===l.baseId)return function(){if(s===l)return callRef(e,i,s,s.$async);const r=t.scopeValue("root",{ref:l});return callRef(e,codegen_1$l._`${r}.validate`,l,l.$async)}();const d=compile_1$1.resolveRef.call(c,l,o,r);if(void 0===d)throw new ref_error_1.default(n.opts.uriResolver,o,r);return d instanceof compile_1$1.SchemaEnv?function(t){const r=getValidate(e,t);callRef(e,r,t,t.$async)}(d):function(n){const o=t.scopeValue("schema",!0===a.code.source?{ref:n,code:(0,codegen_1$l.stringify)(n)}:{ref:n}),s=t.name("valid"),i=e.subschema({schema:n,dataTypes:[],schemaPath:codegen_1$l.nil,topSchemaRef:o,errSchemaPath:r},s);e.mergeEvaluated(i),e.ok(s)}(d)}};function getValidate(e,t){const{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):codegen_1$l._`${r.scopeValue("wrapper",{ref:t})}.validate`}function callRef(e,t,r,n){const{gen:o,it:s}=e,{allErrors:i,schemaEnv:a,opts:c}=s,l=c.passContext?names_1$1.default.this:codegen_1$l.nil;function d(e){const t=codegen_1$l._`${e}.errors`;o.assign(names_1$1.default.vErrors,codegen_1$l._`${names_1$1.default.vErrors} === null ? ${t} : ${names_1$1.default.vErrors}.concat(${t})`),o.assign(names_1$1.default.errors,codegen_1$l._`${names_1$1.default.vErrors}.length`)}function p(e){var t;if(!s.opts.unevaluated)return;const n=null===(t=null==r?void 0:r.validate)||void 0===t?void 0:t.evaluated;if(!0!==s.props)if(n&&!n.dynamicProps)void 0!==n.props&&(s.props=util_1$j.mergeEvaluated.props(o,n.props,s.props));else{const t=o.var("props",codegen_1$l._`${e}.evaluated.props`);s.props=util_1$j.mergeEvaluated.props(o,t,s.props,codegen_1$l.Name)}if(!0!==s.items)if(n&&!n.dynamicItems)void 0!==n.items&&(s.items=util_1$j.mergeEvaluated.items(o,n.items,s.items));else{const t=o.var("items",codegen_1$l._`${e}.evaluated.items`);s.items=util_1$j.mergeEvaluated.items(o,t,s.items,codegen_1$l.Name)}}n?function(){if(!a.$async)throw new Error("async schema referenced by sync schema");const r=o.let("valid");o.try((()=>{o.code(codegen_1$l._`await ${(0,code_1$8.callValidateCode)(e,t,l)}`),p(t),i||o.assign(r,!0)}),(e=>{o.if(codegen_1$l._`!(${e} instanceof ${s.ValidationError})`,(()=>o.throw(e))),d(e),i||o.assign(r,!1)})),e.ok(r)}():e.result((0,code_1$8.callValidateCode)(e,t,l),(()=>p(t)),(()=>d(t)))}ref.getValidate=getValidate,ref.callRef=callRef,ref.default=def$r,Object.defineProperty(core$1,"__esModule",{value:!0});const id_1=id,ref_1=ref,core=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",id_1.default,ref_1.default];core$1.default=core;var validation$1={},limitNumber={};Object.defineProperty(limitNumber,"__esModule",{value:!0});const codegen_1$k=codegen,ops=codegen_1$k.operators,KWDs={maximum:{okStr:"<=",ok:ops.LTE,fail:ops.GT},minimum:{okStr:">=",ok:ops.GTE,fail:ops.LT},exclusiveMaximum:{okStr:"<",ok:ops.LT,fail:ops.GTE},exclusiveMinimum:{okStr:">",ok:ops.GT,fail:ops.LTE}},error$i={message:({keyword:e,schemaCode:t})=>codegen_1$k.str`must be ${KWDs[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>codegen_1$k._`{comparison: ${KWDs[e].okStr}, limit: ${t}}`},def$q={keyword:Object.keys(KWDs),type:"number",schemaType:"number",$data:!0,error:error$i,code(e){const{keyword:t,data:r,schemaCode:n}=e;e.fail$data(codegen_1$k._`${r} ${KWDs[t].fail} ${n} || isNaN(${r})`)}};limitNumber.default=def$q;var multipleOf={};Object.defineProperty(multipleOf,"__esModule",{value:!0});const codegen_1$j=codegen,error$h={message:({schemaCode:e})=>codegen_1$j.str`must be multiple of ${e}`,params:({schemaCode:e})=>codegen_1$j._`{multipleOf: ${e}}`},def$p={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:error$h,code(e){const{gen:t,data:r,schemaCode:n,it:o}=e,s=o.opts.multipleOfPrecision,i=t.let("res"),a=s?codegen_1$j._`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:codegen_1$j._`${i} !== parseInt(${i})`;e.fail$data(codegen_1$j._`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};multipleOf.default=def$p;var limitLength={},ucs2length$1={};function ucs2length(e){const t=e.length;let r,n=0,o=0;for(;o<t;)n++,r=e.charCodeAt(o++),r>=55296&&r<=56319&&o<t&&(r=e.charCodeAt(o),56320==(64512&r)&&o++);return n}Object.defineProperty(ucs2length$1,"__esModule",{value:!0}),ucs2length$1.default=ucs2length,ucs2length.code='require("ajv/dist/runtime/ucs2length").default',Object.defineProperty(limitLength,"__esModule",{value:!0});const codegen_1$i=codegen,util_1$i=util,ucs2length_1=ucs2length$1,error$g={message({keyword:e,schemaCode:t}){const r="maxLength"===e?"more":"fewer";return codegen_1$i.str`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>codegen_1$i._`{limit: ${e}}`},def$o={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:error$g,code(e){const{keyword:t,data:r,schemaCode:n,it:o}=e,s="maxLength"===t?codegen_1$i.operators.GT:codegen_1$i.operators.LT,i=!1===o.opts.unicode?codegen_1$i._`${r}.length`:codegen_1$i._`${(0,util_1$i.useFunc)(e.gen,ucs2length_1.default)}(${r})`;e.fail$data(codegen_1$i._`${i} ${s} ${n}`)}};limitLength.default=def$o;var pattern={};Object.defineProperty(pattern,"__esModule",{value:!0});const code_1$7=code,codegen_1$h=codegen,error$f={message:({schemaCode:e})=>codegen_1$h.str`must match pattern "${e}"`,params:({schemaCode:e})=>codegen_1$h._`{pattern: ${e}}`},def$n={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:error$f,code(e){const{data:t,$data:r,schema:n,schemaCode:o,it:s}=e,i=s.opts.unicodeRegExp?"u":"",a=r?codegen_1$h._`(new RegExp(${o}, ${i}))`:(0,code_1$7.usePattern)(e,n);e.fail$data(codegen_1$h._`!${a}.test(${t})`)}};pattern.default=def$n;var limitProperties={};Object.defineProperty(limitProperties,"__esModule",{value:!0});const codegen_1$g=codegen,error$e={message({keyword:e,schemaCode:t}){const r="maxProperties"===e?"more":"fewer";return codegen_1$g.str`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>codegen_1$g._`{limit: ${e}}`},def$m={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:error$e,code(e){const{keyword:t,data:r,schemaCode:n}=e,o="maxProperties"===t?codegen_1$g.operators.GT:codegen_1$g.operators.LT;e.fail$data(codegen_1$g._`Object.keys(${r}).length ${o} ${n}`)}};limitProperties.default=def$m;var required={};Object.defineProperty(required,"__esModule",{value:!0});const code_1$6=code,codegen_1$f=codegen,util_1$h=util,error$d={message:({params:{missingProperty:e}})=>codegen_1$f.str`must have required property '${e}'`,params:({params:{missingProperty:e}})=>codegen_1$f._`{missingProperty: ${e}}`},def$l={keyword:"required",type:"object",schemaType:"array",$data:!0,error:error$d,code(e){const{gen:t,schema:r,schemaCode:n,data:o,$data:s,it:i}=e,{opts:a}=i;if(!s&&0===r.length)return;const c=r.length>=a.loopRequired;if(i.allErrors?function(){if(c||s)e.block$data(codegen_1$f.nil,l);else for(const t of r)(0,code_1$6.checkReportMissingProp)(e,t)}():function(){const i=t.let("missing");if(c||s){const r=t.let("valid",!0);e.block$data(r,(()=>function(r,s){e.setParams({missingProperty:r}),t.forOf(r,n,(()=>{t.assign(s,(0,code_1$6.propertyInData)(t,o,r,a.ownProperties)),t.if((0,codegen_1$f.not)(s),(()=>{e.error(),t.break()}))}),codegen_1$f.nil)}(i,r))),e.ok(r)}else t.if((0,code_1$6.checkMissingProp)(e,r,i)),(0,code_1$6.reportMissingProp)(e,i),t.else()}(),a.strictRequired){const t=e.parentSchema.properties,{definedProperties:n}=e.it;for(const e of r)if(void 0===(null==t?void 0:t[e])&&!n.has(e)){const t=`required property "${e}" is not defined at "${i.schemaEnv.baseId+i.errSchemaPath}" (strictRequired)`;(0,util_1$h.checkStrictMode)(i,t,i.opts.strictRequired)}}function l(){t.forOf("prop",n,(r=>{e.setParams({missingProperty:r}),t.if((0,code_1$6.noPropertyInData)(t,o,r,a.ownProperties),(()=>e.error()))}))}}};required.default=def$l;var limitItems={};Object.defineProperty(limitItems,"__esModule",{value:!0});const codegen_1$e=codegen,error$c={message({keyword:e,schemaCode:t}){const r="maxItems"===e?"more":"fewer";return codegen_1$e.str`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>codegen_1$e._`{limit: ${e}}`},def$k={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:error$c,code(e){const{keyword:t,data:r,schemaCode:n}=e,o="maxItems"===t?codegen_1$e.operators.GT:codegen_1$e.operators.LT;e.fail$data(codegen_1$e._`${r}.length ${o} ${n}`)}};limitItems.default=def$k;var uniqueItems={},equal$1={};Object.defineProperty(equal$1,"__esModule",{value:!0});const equal=fastDeepEqual;equal.code='require("ajv/dist/runtime/equal").default',equal$1.default=equal,Object.defineProperty(uniqueItems,"__esModule",{value:!0});const dataType_1=dataType,codegen_1$d=codegen,util_1$g=util,equal_1$2=equal$1,error$b={message:({params:{i:e,j:t}})=>codegen_1$d.str`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>codegen_1$d._`{i: ${e}, j: ${t}}`},def$j={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:error$b,code(e){const{gen:t,data:r,$data:n,schema:o,parentSchema:s,schemaCode:i,it:a}=e;if(!n&&!o)return;const c=t.let("valid"),l=s.items?(0,dataType_1.getSchemaTypes)(s.items):[];function d(n,o){const s=t.name("item"),i=(0,dataType_1.checkDataTypes)(l,s,a.opts.strictNumbers,dataType_1.DataType.Wrong),d=t.const("indices",codegen_1$d._`{}`);t.for(codegen_1$d._`;${n}--;`,(()=>{t.let(s,codegen_1$d._`${r}[${n}]`),t.if(i,codegen_1$d._`continue`),l.length>1&&t.if(codegen_1$d._`typeof ${s} == "string"`,codegen_1$d._`${s} += "_"`),t.if(codegen_1$d._`typeof ${d}[${s}] == "number"`,(()=>{t.assign(o,codegen_1$d._`${d}[${s}]`),e.error(),t.assign(c,!1).break()})).code(codegen_1$d._`${d}[${s}] = ${n}`)}))}function p(n,o){const s=(0,util_1$g.useFunc)(t,equal_1$2.default),i=t.name("outer");t.label(i).for(codegen_1$d._`;${n}--;`,(()=>t.for(codegen_1$d._`${o} = ${n}; ${o}--;`,(()=>t.if(codegen_1$d._`${s}(${r}[${n}], ${r}[${o}])`,(()=>{e.error(),t.assign(c,!1).break(i)}))))))}e.block$data(c,(function(){const n=t.let("i",codegen_1$d._`${r}.length`),o=t.let("j");e.setParams({i:n,j:o}),t.assign(c,!0),t.if(codegen_1$d._`${n} > 1`,(()=>(l.length>0&&!l.some((e=>"object"===e||"array"===e))?d:p)(n,o)))}),codegen_1$d._`${i} === false`),e.ok(c)}};uniqueItems.default=def$j;var _const={};Object.defineProperty(_const,"__esModule",{value:!0});const codegen_1$c=codegen,util_1$f=util,equal_1$1=equal$1,error$a={message:"must be equal to constant",params:({schemaCode:e})=>codegen_1$c._`{allowedValue: ${e}}`},def$i={keyword:"const",$data:!0,error:error$a,code(e){const{gen:t,data:r,$data:n,schemaCode:o,schema:s}=e;n||s&&"object"==typeof s?e.fail$data(codegen_1$c._`!${(0,util_1$f.useFunc)(t,equal_1$1.default)}(${r}, ${o})`):e.fail(codegen_1$c._`${s} !== ${r}`)}};_const.default=def$i;var _enum={};Object.defineProperty(_enum,"__esModule",{value:!0});const codegen_1$b=codegen,util_1$e=util,equal_1=equal$1,error$9={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>codegen_1$b._`{allowedValues: ${e}}`},def$h={keyword:"enum",schemaType:"array",$data:!0,error:error$9,code(e){const{gen:t,data:r,$data:n,schema:o,schemaCode:s,it:i}=e;if(!n&&0===o.length)throw new Error("enum must have non-empty array");const a=o.length>=i.opts.loopEnum;let c;const l=()=>c??(c=(0,util_1$e.useFunc)(t,equal_1.default));let d;if(a||n)d=t.let("valid"),e.block$data(d,(function(){t.assign(d,!1),t.forOf("v",s,(e=>t.if(codegen_1$b._`${l()}(${r}, ${e})`,(()=>t.assign(d,!0).break()))))}));else{if(!Array.isArray(o))throw new Error("ajv implementation error");const e=t.const("vSchema",s);d=(0,codegen_1$b.or)(...o.map(((t,n)=>function(e,t){const n=o[t];return"object"==typeof n&&null!==n?codegen_1$b._`${l()}(${r}, ${e}[${t}])`:codegen_1$b._`${r} === ${n}`}(e,n))))}e.pass(d)}};_enum.default=def$h,Object.defineProperty(validation$1,"__esModule",{value:!0});const limitNumber_1=limitNumber,multipleOf_1=multipleOf,limitLength_1=limitLength,pattern_1=pattern,limitProperties_1=limitProperties,required_1=required,limitItems_1=limitItems,uniqueItems_1=uniqueItems,const_1=_const,enum_1=_enum,validation=[limitNumber_1.default,multipleOf_1.default,limitLength_1.default,pattern_1.default,limitProperties_1.default,required_1.default,limitItems_1.default,uniqueItems_1.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},const_1.default,enum_1.default];validation$1.default=validation;var applicator={},additionalItems={};Object.defineProperty(additionalItems,"__esModule",{value:!0}),additionalItems.validateAdditionalItems=void 0;const codegen_1$a=codegen,util_1$d=util,error$8={message:({params:{len:e}})=>codegen_1$a.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>codegen_1$a._`{limit: ${e}}`},def$g={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:error$8,code(e){const{parentSchema:t,it:r}=e,{items:n}=t;Array.isArray(n)?validateAdditionalItems(e,n):(0,util_1$d.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas')}};function validateAdditionalItems(e,t){const{gen:r,schema:n,data:o,keyword:s,it:i}=e;i.items=!0;const a=r.const("len",codegen_1$a._`${o}.length`);if(!1===n)e.setParams({len:t.length}),e.pass(codegen_1$a._`${a} <= ${t.length}`);else if("object"==typeof n&&!(0,util_1$d.alwaysValidSchema)(i,n)){const n=r.var("valid",codegen_1$a._`${a} <= ${t.length}`);r.if((0,codegen_1$a.not)(n),(()=>function(n){r.forRange("i",t.length,a,(t=>{e.subschema({keyword:s,dataProp:t,dataPropType:util_1$d.Type.Num},n),i.allErrors||r.if((0,codegen_1$a.not)(n),(()=>r.break()))}))}(n))),e.ok(n)}}additionalItems.validateAdditionalItems=validateAdditionalItems,additionalItems.default=def$g;var prefixItems={},items={};Object.defineProperty(items,"__esModule",{value:!0}),items.validateTuple=void 0;const codegen_1$9=codegen,util_1$c=util,code_1$5=code,def$f={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){const{schema:t,it:r}=e;if(Array.isArray(t))return validateTuple(e,"additionalItems",t);r.items=!0,!(0,util_1$c.alwaysValidSchema)(r,t)&&e.ok((0,code_1$5.validateArray)(e))}};function validateTuple(e,t,r=e.schema){const{gen:n,parentSchema:o,data:s,keyword:i,it:a}=e;(function(e){const{opts:n,errSchemaPath:o}=a,s=r.length,c=s===e.minItems&&(s===e.maxItems||!1===e[t]);if(n.strictTuples&&!c){const e=`"${i}" is ${s}-tuple, but minItems or maxItems/${t} are not specified or different at path "${o}"`;(0,util_1$c.checkStrictMode)(a,e,n.strictTuples)}})(o),a.opts.unevaluated&&r.length&&!0!==a.items&&(a.items=util_1$c.mergeEvaluated.items(n,r.length,a.items));const c=n.name("valid"),l=n.const("len",codegen_1$9._`${s}.length`);r.forEach(((t,r)=>{(0,util_1$c.alwaysValidSchema)(a,t)||(n.if(codegen_1$9._`${l} > ${r}`,(()=>e.subschema({keyword:i,schemaProp:r,dataProp:r},c))),e.ok(c))}))}items.validateTuple=validateTuple,items.default=def$f,Object.defineProperty(prefixItems,"__esModule",{value:!0});const items_1$1=items,def$e={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,items_1$1.validateTuple)(e,"items")};prefixItems.default=def$e;var items2020={};Object.defineProperty(items2020,"__esModule",{value:!0});const codegen_1$8=codegen,util_1$b=util,code_1$4=code,additionalItems_1$1=additionalItems,error$7={message:({params:{len:e}})=>codegen_1$8.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>codegen_1$8._`{limit: ${e}}`},def$d={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:error$7,code(e){const{schema:t,parentSchema:r,it:n}=e,{prefixItems:o}=r;n.items=!0,!(0,util_1$b.alwaysValidSchema)(n,t)&&(o?(0,additionalItems_1$1.validateAdditionalItems)(e,o):e.ok((0,code_1$4.validateArray)(e)))}};items2020.default=def$d;var contains={};Object.defineProperty(contains,"__esModule",{value:!0});const codegen_1$7=codegen,util_1$a=util,error$6={message:({params:{min:e,max:t}})=>void 0===t?codegen_1$7.str`must contain at least ${e} valid item(s)`:codegen_1$7.str`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>void 0===t?codegen_1$7._`{minContains: ${e}}`:codegen_1$7._`{minContains: ${e}, maxContains: ${t}}`},def$c={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:error$6,code(e){const{gen:t,schema:r,parentSchema:n,data:o,it:s}=e;let i,a;const{minContains:c,maxContains:l}=n;s.opts.next?(i=void 0===c?1:c,a=l):i=1;const d=t.const("len",codegen_1$7._`${o}.length`);if(e.setParams({min:i,max:a}),void 0===a&&0===i)return void(0,util_1$a.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');if(void 0!==a&&i>a)return(0,util_1$a.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),void e.fail();if((0,util_1$a.alwaysValidSchema)(s,r)){let t=codegen_1$7._`${d} >= ${i}`;return void 0!==a&&(t=codegen_1$7._`${t} && ${d} <= ${a}`),void e.pass(t)}s.items=!0;const p=t.name("valid");function u(){const e=t.name("_valid"),r=t.let("count",0);h(e,(()=>t.if(e,(()=>function(e){t.code(codegen_1$7._`${e}++`),void 0===a?t.if(codegen_1$7._`${e} >= ${i}`,(()=>t.assign(p,!0).break())):(t.if(codegen_1$7._`${e} > ${a}`,(()=>t.assign(p,!1).break())),1===i?t.assign(p,!0):t.if(codegen_1$7._`${e} >= ${i}`,(()=>t.assign(p,!0))))}(r)))))}function h(r,n){t.forRange("i",0,d,(t=>{e.subschema({keyword:"contains",dataProp:t,dataPropType:util_1$a.Type.Num,compositeRule:!0},r),n()}))}void 0===a&&1===i?h(p,(()=>t.if(p,(()=>t.break())))):0===i?(t.let(p,!0),void 0!==a&&t.if(codegen_1$7._`${o}.length > 0`,u)):(t.let(p,!1),u()),e.result(p,(()=>e.reset()))}};contains.default=def$c;var dependencies={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.validateSchemaDeps=e.validatePropertyDeps=e.error=void 0;const t=codegen,r=util,n=code;e.error={message:({params:{property:e,depsCount:r,deps:n}})=>{const o=1===r?"property":"properties";return t.str`must have ${o} ${n} when property ${e} is present`},params:({params:{property:e,depsCount:r,deps:n,missingProperty:o}})=>t._`{property: ${e}, + missingProperty: ${o}, + depsCount: ${r}, + deps: ${n}}`};const o={keyword:"dependencies",type:"object",schemaType:"object",error:e.error,code(e){const[t,r]=function({schema:e}){const t={},r={};for(const n in e){if("__proto__"===n)continue;(Array.isArray(e[n])?t:r)[n]=e[n]}return[t,r]}(e);s(e,t),i(e,r)}};function s(e,r=e.schema){const{gen:o,data:s,it:i}=e;if(0===Object.keys(r).length)return;const a=o.let("missing");for(const c in r){const l=r[c];if(0===l.length)continue;const d=(0,n.propertyInData)(o,s,c,i.opts.ownProperties);e.setParams({property:c,depsCount:l.length,deps:l.join(", ")}),i.allErrors?o.if(d,(()=>{for(const t of l)(0,n.checkReportMissingProp)(e,t)})):(o.if(t._`${d} && (${(0,n.checkMissingProp)(e,l,a)})`),(0,n.reportMissingProp)(e,a),o.else())}}function i(e,t=e.schema){const{gen:o,data:s,keyword:i,it:a}=e,c=o.name("valid");for(const l in t)(0,r.alwaysValidSchema)(a,t[l])||(o.if((0,n.propertyInData)(o,s,l,a.opts.ownProperties),(()=>{const t=e.subschema({keyword:i,schemaProp:l},c);e.mergeValidEvaluated(t,c)}),(()=>o.var(c,!0))),e.ok(c))}e.validatePropertyDeps=s,e.validateSchemaDeps=i,e.default=o}(dependencies);var propertyNames={};Object.defineProperty(propertyNames,"__esModule",{value:!0});const codegen_1$6=codegen,util_1$9=util,error$5={message:"property name must be valid",params:({params:e})=>codegen_1$6._`{propertyName: ${e.propertyName}}`},def$b={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:error$5,code(e){const{gen:t,schema:r,data:n,it:o}=e;if((0,util_1$9.alwaysValidSchema)(o,r))return;const s=t.name("valid");t.forIn("key",n,(r=>{e.setParams({propertyName:r}),e.subschema({keyword:"propertyNames",data:r,dataTypes:["string"],propertyName:r,compositeRule:!0},s),t.if((0,codegen_1$6.not)(s),(()=>{e.error(!0),o.allErrors||t.break()}))})),e.ok(s)}};propertyNames.default=def$b;var additionalProperties={};Object.defineProperty(additionalProperties,"__esModule",{value:!0});const code_1$3=code,codegen_1$5=codegen,names_1=names$1,util_1$8=util,error$4={message:"must NOT have additional properties",params:({params:e})=>codegen_1$5._`{additionalProperty: ${e.additionalProperty}}`},def$a={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:error$4,code(e){const{gen:t,schema:r,parentSchema:n,data:o,errsCount:s,it:i}=e;if(!s)throw new Error("ajv implementation error");const{allErrors:a,opts:c}=i;if(i.props=!0,"all"!==c.removeAdditional&&(0,util_1$8.alwaysValidSchema)(i,r))return;const l=(0,code_1$3.allSchemaProperties)(n.properties),d=(0,code_1$3.allSchemaProperties)(n.patternProperties);function p(e){t.code(codegen_1$5._`delete ${o}[${e}]`)}function u(n){if("all"===c.removeAdditional||c.removeAdditional&&!1===r)p(n);else{if(!1===r)return e.setParams({additionalProperty:n}),e.error(),void(a||t.break());if("object"==typeof r&&!(0,util_1$8.alwaysValidSchema)(i,r)){const r=t.name("valid");"failing"===c.removeAdditional?(h(n,r,!1),t.if((0,codegen_1$5.not)(r),(()=>{e.reset(),p(n)}))):(h(n,r),a||t.if((0,codegen_1$5.not)(r),(()=>t.break())))}}}function h(t,r,n){const o={keyword:"additionalProperties",dataProp:t,dataPropType:util_1$8.Type.Str};!1===n&&Object.assign(o,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(o,r)}t.forIn("key",o,(r=>{l.length||d.length?t.if(function(r){let o;if(l.length>8){const e=(0,util_1$8.schemaRefOrVal)(i,n.properties,"properties");o=(0,code_1$3.isOwnProperty)(t,e,r)}else o=l.length?(0,codegen_1$5.or)(...l.map((e=>codegen_1$5._`${r} === ${e}`))):codegen_1$5.nil;return d.length&&(o=(0,codegen_1$5.or)(o,...d.map((t=>codegen_1$5._`${(0,code_1$3.usePattern)(e,t)}.test(${r})`)))),(0,codegen_1$5.not)(o)}(r),(()=>u(r))):u(r)})),e.ok(codegen_1$5._`${s} === ${names_1.default.errors}`)}};additionalProperties.default=def$a;var properties$1={};Object.defineProperty(properties$1,"__esModule",{value:!0});const validate_1=validate,code_1$2=code,util_1$7=util,additionalProperties_1$1=additionalProperties,def$9={keyword:"properties",type:"object",schemaType:"object",code(e){const{gen:t,schema:r,parentSchema:n,data:o,it:s}=e;"all"===s.opts.removeAdditional&&void 0===n.additionalProperties&&additionalProperties_1$1.default.code(new validate_1.KeywordCxt(s,additionalProperties_1$1.default,"additionalProperties"));const i=(0,code_1$2.allSchemaProperties)(r);for(const p of i)s.definedProperties.add(p);s.opts.unevaluated&&i.length&&!0!==s.props&&(s.props=util_1$7.mergeEvaluated.props(t,(0,util_1$7.toHash)(i),s.props));const a=i.filter((e=>!(0,util_1$7.alwaysValidSchema)(s,r[e])));if(0===a.length)return;const c=t.name("valid");for(const p of a)l(p)?d(p):(t.if((0,code_1$2.propertyInData)(t,o,p,s.opts.ownProperties)),d(p),s.allErrors||t.else().var(c,!0),t.endIf()),e.it.definedProperties.add(p),e.ok(c);function l(e){return s.opts.useDefaults&&!s.compositeRule&&void 0!==r[e].default}function d(t){e.subschema({keyword:"properties",schemaProp:t,dataProp:t},c)}}};properties$1.default=def$9;var patternProperties={};Object.defineProperty(patternProperties,"__esModule",{value:!0});const code_1$1=code,codegen_1$4=codegen,util_1$6=util,util_2=util,def$8={keyword:"patternProperties",type:"object",schemaType:"object",code(e){const{gen:t,schema:r,data:n,parentSchema:o,it:s}=e,{opts:i}=s,a=(0,code_1$1.allSchemaProperties)(r),c=a.filter((e=>(0,util_1$6.alwaysValidSchema)(s,r[e])));if(0===a.length||c.length===a.length&&(!s.opts.unevaluated||!0===s.props))return;const l=i.strictSchema&&!i.allowMatchingProperties&&o.properties,d=t.name("valid");!0!==s.props&&!(s.props instanceof codegen_1$4.Name)&&(s.props=(0,util_2.evaluatedPropsToName)(t,s.props));const{props:p}=s;function u(e){for(const t in l)new RegExp(e).test(t)&&(0,util_1$6.checkStrictMode)(s,`property ${t} matches pattern ${e} (use allowMatchingProperties)`)}function h(r){t.forIn("key",n,(n=>{t.if(codegen_1$4._`${(0,code_1$1.usePattern)(e,r)}.test(${n})`,(()=>{const o=c.includes(r);o||e.subschema({keyword:"patternProperties",schemaProp:r,dataProp:n,dataPropType:util_2.Type.Str},d),s.opts.unevaluated&&!0!==p?t.assign(codegen_1$4._`${p}[${n}]`,!0):!o&&!s.allErrors&&t.if((0,codegen_1$4.not)(d),(()=>t.break()))}))}))}!function(){for(const e of a)l&&u(e),s.allErrors?h(e):(t.var(d,!0),h(e),t.if(d))}()}};patternProperties.default=def$8;var not={};Object.defineProperty(not,"__esModule",{value:!0});const util_1$5=util,def$7={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){const{gen:t,schema:r,it:n}=e;if((0,util_1$5.alwaysValidSchema)(n,r))return void e.fail();const o=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),e.failResult(o,(()=>e.reset()),(()=>e.error()))},error:{message:"must NOT be valid"}};not.default=def$7;var anyOf={};Object.defineProperty(anyOf,"__esModule",{value:!0});const code_1=code,def$6={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:code_1.validateUnion,error:{message:"must match a schema in anyOf"}};anyOf.default=def$6;var oneOf={};Object.defineProperty(oneOf,"__esModule",{value:!0});const codegen_1$3=codegen,util_1$4=util,error$3={message:"must match exactly one schema in oneOf",params:({params:e})=>codegen_1$3._`{passingSchemas: ${e.passing}}`},def$5={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:error$3,code(e){const{gen:t,schema:r,parentSchema:n,it:o}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(o.opts.discriminator&&n.discriminator)return;const s=r,i=t.let("valid",!1),a=t.let("passing",null),c=t.name("_valid");e.setParams({passing:a}),t.block((function(){s.forEach(((r,n)=>{let s;(0,util_1$4.alwaysValidSchema)(o,r)?t.var(c,!0):s=e.subschema({keyword:"oneOf",schemaProp:n,compositeRule:!0},c),n>0&&t.if(codegen_1$3._`${c} && ${i}`).assign(i,!1).assign(a,codegen_1$3._`[${a}, ${n}]`).else(),t.if(c,(()=>{t.assign(i,!0),t.assign(a,n),s&&e.mergeEvaluated(s,codegen_1$3.Name)}))}))})),e.result(i,(()=>e.reset()),(()=>e.error(!0)))}};oneOf.default=def$5;var allOf={};Object.defineProperty(allOf,"__esModule",{value:!0});const util_1$3=util,def$4={keyword:"allOf",schemaType:"array",code(e){const{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");const o=t.name("valid");r.forEach(((t,r)=>{if((0,util_1$3.alwaysValidSchema)(n,t))return;const s=e.subschema({keyword:"allOf",schemaProp:r},o);e.ok(o),e.mergeEvaluated(s)}))}};allOf.default=def$4;var _if={};Object.defineProperty(_if,"__esModule",{value:!0});const codegen_1$2=codegen,util_1$2=util,error$2={message:({params:e})=>codegen_1$2.str`must match "${e.ifClause}" schema`,params:({params:e})=>codegen_1$2._`{failingKeyword: ${e.ifClause}}`},def$3={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:error$2,code(e){const{gen:t,parentSchema:r,it:n}=e;void 0===r.then&&void 0===r.else&&(0,util_1$2.checkStrictMode)(n,'"if" without "then" and "else" is ignored');const o=hasSchema(n,"then"),s=hasSchema(n,"else");if(!o&&!s)return;const i=t.let("valid",!0),a=t.name("_valid");if(function(){const t=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);e.mergeEvaluated(t)}(),e.reset(),o&&s){const r=t.let("ifClause");e.setParams({ifClause:r}),t.if(a,c("then",r),c("else",r))}else o?t.if(a,c("then")):t.if((0,codegen_1$2.not)(a),c("else"));function c(r,n){return()=>{const o=e.subschema({keyword:r},a);t.assign(i,a),e.mergeValidEvaluated(o,i),n?t.assign(n,codegen_1$2._`${r}`):e.setParams({ifClause:r})}}e.pass(i,(()=>e.error(!0)))}};function hasSchema(e,t){const r=e.schema[t];return void 0!==r&&!(0,util_1$2.alwaysValidSchema)(e,r)}_if.default=def$3;var thenElse={};Object.defineProperty(thenElse,"__esModule",{value:!0});const util_1$1=util,def$2={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){void 0===t.if&&(0,util_1$1.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};thenElse.default=def$2,Object.defineProperty(applicator,"__esModule",{value:!0});const additionalItems_1=additionalItems,prefixItems_1=prefixItems,items_1=items,items2020_1=items2020,contains_1=contains,dependencies_1=dependencies,propertyNames_1=propertyNames,additionalProperties_1=additionalProperties,properties_1=properties$1,patternProperties_1=patternProperties,not_1=not,anyOf_1=anyOf,oneOf_1=oneOf,allOf_1=allOf,if_1=_if,thenElse_1=thenElse;function getApplicator(e=!1){const t=[not_1.default,anyOf_1.default,oneOf_1.default,allOf_1.default,if_1.default,thenElse_1.default,propertyNames_1.default,additionalProperties_1.default,dependencies_1.default,properties_1.default,patternProperties_1.default];return e?t.push(prefixItems_1.default,items2020_1.default):t.push(additionalItems_1.default,items_1.default),t.push(contains_1.default),t}applicator.default=getApplicator;var format$2={},format$1={};Object.defineProperty(format$1,"__esModule",{value:!0});const codegen_1$1=codegen,error$1={message:({schemaCode:e})=>codegen_1$1.str`must match format "${e}"`,params:({schemaCode:e})=>codegen_1$1._`{format: ${e}}`},def$1={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:error$1,code(e,t){const{gen:r,data:n,$data:o,schema:s,schemaCode:i,it:a}=e,{opts:c,errSchemaPath:l,schemaEnv:d,self:p}=a;c.validateFormats&&(o?function(){const o=r.scopeValue("formats",{ref:p.formats,code:c.code.formats}),s=r.const("fDef",codegen_1$1._`${o}[${i}]`),a=r.let("fType"),l=r.let("format");r.if(codegen_1$1._`typeof ${s} == "object" && !(${s} instanceof RegExp)`,(()=>r.assign(a,codegen_1$1._`${s}.type || "string"`).assign(l,codegen_1$1._`${s}.validate`)),(()=>r.assign(a,codegen_1$1._`"string"`).assign(l,s))),e.fail$data((0,codegen_1$1.or)(!1===c.strictSchema?codegen_1$1.nil:codegen_1$1._`${i} && !${l}`,function(){const e=d.$async?codegen_1$1._`(${s}.async ? await ${l}(${n}) : ${l}(${n}))`:codegen_1$1._`${l}(${n})`,r=codegen_1$1._`(typeof ${l} == "function" ? ${e} : ${l}.test(${n}))`;return codegen_1$1._`${l} && ${l} !== true && ${a} === ${t} && !${r}`}()))}():function(){const o=p.formats[s];if(!o)return void function(){if(!1===c.strictSchema)return void p.logger.warn(e());throw new Error(e());function e(){return`unknown format "${s}" ignored in schema at path "${l}"`}}();if(!0===o)return;const[i,a,u]=function(e){const t=e instanceof RegExp?(0,codegen_1$1.regexpCode)(e):c.code.formats?codegen_1$1._`${c.code.formats}${(0,codegen_1$1.getProperty)(s)}`:void 0,n=r.scopeValue("formats",{key:s,ref:e,code:t});return"object"!=typeof e||e instanceof RegExp?["string",e,n]:[e.type||"string",e.validate,codegen_1$1._`${n}.validate`]}(o);i===t&&e.pass(function(){if("object"==typeof o&&!(o instanceof RegExp)&&o.async){if(!d.$async)throw new Error("async format in sync schema");return codegen_1$1._`await ${u}(${n})`}return"function"==typeof a?codegen_1$1._`${u}(${n})`:codegen_1$1._`${u}.test(${n})`}())}())}};format$1.default=def$1,Object.defineProperty(format$2,"__esModule",{value:!0});const format_1$1=format$1,format=[format_1$1.default];format$2.default=format;var metadata={};Object.defineProperty(metadata,"__esModule",{value:!0}),metadata.contentVocabulary=metadata.metadataVocabulary=void 0,metadata.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],metadata.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"],Object.defineProperty(draft7,"__esModule",{value:!0});const core_1=core$1,validation_1=validation$1,applicator_1=applicator,format_1=format$2,metadata_1=metadata,draft7Vocabularies=[core_1.default,validation_1.default,(0,applicator_1.default)(),format_1.default,metadata_1.metadataVocabulary,metadata_1.contentVocabulary];draft7.default=draft7Vocabularies;var discriminator={},types={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DiscrError=void 0,function(e){e.Tag="tag",e.Mapping="mapping"}(e.DiscrError||(e.DiscrError={}))}(types),Object.defineProperty(discriminator,"__esModule",{value:!0});const codegen_1=codegen,types_1=types,compile_1=compile,util_1=util,error={message:({params:{discrError:e,tagName:t}})=>e===types_1.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>codegen_1._`{error: ${e}, tag: ${r}, tagValue: ${t}}`},def={keyword:"discriminator",type:"object",schemaType:"object",error:error,code(e){const{gen:t,data:r,schema:n,parentSchema:o,it:s}=e,{oneOf:i}=o;if(!s.opts.discriminator)throw new Error("discriminator: requires discriminator option");const a=n.propertyName;if("string"!=typeof a)throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!i)throw new Error("discriminator: requires oneOf keyword");const c=t.let("valid",!1),l=t.const("tag",codegen_1._`${r}${(0,codegen_1.getProperty)(a)}`);function d(r){const n=t.name("valid"),o=e.subschema({keyword:"oneOf",schemaProp:r},n);return e.mergeEvaluated(o,codegen_1.Name),n}t.if(codegen_1._`typeof ${l} == "string"`,(()=>function(){const r=function(){var e;const t={},r=c(o);let n=!0;for(let o=0;o<i.length;o++){let t=i[o];null!=t&&t.$ref&&!(0,util_1.schemaHasRulesButRef)(t,s.self.RULES)&&(t=compile_1.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,null==t?void 0:t.$ref),t instanceof compile_1.SchemaEnv&&(t=t.schema));const d=null===(e=null==t?void 0:t.properties)||void 0===e?void 0:e[a];if("object"!=typeof d)throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);n=n&&(r||c(t)),l(d,o)}if(!n)throw new Error(`discriminator: "${a}" must be required`);return t;function c({required:e}){return Array.isArray(e)&&e.includes(a)}function l(e,t){if(e.const)d(e.const,t);else{if(!e.enum)throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`);for(const r of e.enum)d(r,t)}}function d(e,r){if("string"!=typeof e||e in t)throw new Error(`discriminator: "${a}" values must be unique strings`);t[e]=r}}();t.if(!1);for(const e in r)t.elseIf(codegen_1._`${l} === ${e}`),t.assign(c,d(r[e]));t.else(),e.error(!1,{discrError:types_1.DiscrError.Mapping,tag:l,tagName:a}),t.endIf()}()),(()=>e.error(!1,{discrError:types_1.DiscrError.Tag,tag:l,tagName:a}))),e.ok(c)}};discriminator.default=def;const $schema$1="http://json-schema.org/draft-07/schema#",$id="http://json-schema.org/draft-07/schema#",title="Core schema meta-schema",definitions$1={schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type=["object","boolean"],properties={$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},require$$3={$schema:$schema$1,$id:$id,title:title,definitions:definitions$1,type:type,properties:properties,default:!0};!function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.MissingRefError=t.ValidationError=t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;const r=core$2,n=draft7,o=discriminator,s=require$$3,i=["/properties"],a="http://json-schema.org/draft-07/schema";class c extends r.default{_addVocabularies(){super._addVocabularies(),n.default.forEach((e=>this.addVocabulary(e))),this.opts.discriminator&&this.addKeyword(o.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;const e=this.opts.$data?this.$dataMetaSchema(s,i):s;this.addMetaSchema(e,a,!1),this.refs["http://json-schema.org/schema"]=a}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(a)?a:void 0)}}e.exports=t=c,Object.defineProperty(t,"__esModule",{value:!0}),t.default=c;var l=validate;Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return l.KeywordCxt}});var d=codegen;Object.defineProperty(t,"_",{enumerable:!0,get:function(){return d._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return d.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return d.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return d.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return d.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return d.CodeGen}});var p=validation_error;Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return p.default}});var u=ref_error;Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return u.default}})}(ajv$1,ajv$1.exports);var ajvExports=ajv$1.exports;const Ajv=getDefaultExportFromCjs(ajvExports),$schema="http://json-schema.org/schema",$ref="#/definitions/Blueprint",definitions={Blueprint:{type:"object",properties:{landingPage:{type:"string",description:"The URL to navigate to after the blueprint has been run."},description:{type:"string",description:"Optional description. It doesn't do anything but is exposed as a courtesy to developers who may want to document which blueprint file does what.",deprecated:"Use meta.description instead."},meta:{type:"object",properties:{title:{type:"string",description:"A clear and concise name for your Blueprint."},description:{type:"string",description:"A brief explanation of what your Blueprint offers."},author:{type:"string",description:"A GitHub username of the author of this Blueprint."},categories:{type:"array",items:{type:"string"},description:"Relevant categories to help users find your Blueprint in the future Blueprints section on WordPress.org."}},required:["title","author"],additionalProperties:!1,description:"Optional metadata. Used by the Blueprints gallery at https://github.com/WordPress/blueprints"},preferredVersions:{type:"object",properties:{php:{anyOf:[{$ref:"#/definitions/SupportedPHPVersion"},{type:"string",const:"latest"}],description:"The preferred PHP version to use. If not specified, the latest supported version will be used"},wp:{type:"string",description:"The preferred WordPress version to use. If not specified, the latest supported version will be used"}},required:["php","wp"],additionalProperties:!1,description:"The preferred PHP and WordPress versions to use."},features:{type:"object",properties:{networking:{type:"boolean",description:"Should boot with support for network request via wp_safe_remote_get?"}},additionalProperties:!1},constants:{type:"object",additionalProperties:{type:"string"},description:"PHP Constants to define on every request",deprecated:"This experimental option will change without warning.\nUse `steps` instead."},plugins:{type:"array",items:{anyOf:[{type:"string"},{$ref:"#/definitions/FileReference"}]},description:"WordPress plugins to install and activate",deprecated:"This experimental option will change without warning.\nUse `steps` instead."},siteOptions:{type:"object",additionalProperties:{type:"string"},properties:{blogname:{type:"string",description:"The site title"}},description:"WordPress site options to define",deprecated:"This experimental option will change without warning.\nUse `steps` instead."},login:{anyOf:[{type:"boolean"},{type:"object",properties:{username:{type:"string"},password:{type:"string"}},required:["username","password"],additionalProperties:!1}],description:"User to log in as. If true, logs the user in as admin/password."},phpExtensionBundles:{type:"array",items:{$ref:"#/definitions/SupportedPHPExtensionBundle"},description:"The PHP extensions to use."},steps:{type:"array",items:{anyOf:[{$ref:"#/definitions/StepDefinition"},{type:"string"},{not:{}},{type:"boolean",const:!1},{type:"null"}]},description:"The steps to run after every other operation in this Blueprint was executed."},$schema:{type:"string"}},additionalProperties:!1},SupportedPHPVersion:{type:"string",enum:["8.3","8.2","8.1","8.0","7.4","7.3","7.2","7.1","7.0"]},FileReference:{anyOf:[{$ref:"#/definitions/VFSReference"},{$ref:"#/definitions/LiteralReference"},{$ref:"#/definitions/CoreThemeReference"},{$ref:"#/definitions/CorePluginReference"},{$ref:"#/definitions/UrlReference"}]},VFSReference:{type:"object",properties:{resource:{type:"string",const:"vfs",description:"Identifies the file resource as Virtual File System (VFS)"},path:{type:"string",description:"The path to the file in the VFS"}},required:["resource","path"],additionalProperties:!1},LiteralReference:{type:"object",properties:{resource:{type:"string",const:"literal",description:"Identifies the file resource as a literal file"},name:{type:"string",description:"The name of the file"},contents:{anyOf:[{type:"string"},{type:"object",properties:{BYTES_PER_ELEMENT:{type:"number"},buffer:{type:"object",properties:{byteLength:{type:"number"}},required:["byteLength"],additionalProperties:!1},byteLength:{type:"number"},byteOffset:{type:"number"},length:{type:"number"}},required:["BYTES_PER_ELEMENT","buffer","byteLength","byteOffset","length"],additionalProperties:{type:"number"}}],description:"The contents of the file"}},required:["resource","name","contents"],additionalProperties:!1},CoreThemeReference:{type:"object",properties:{resource:{type:"string",const:"wordpress.org/themes",description:"Identifies the file resource as a WordPress Core theme"},slug:{type:"string",description:"The slug of the WordPress Core theme"}},required:["resource","slug"],additionalProperties:!1},CorePluginReference:{type:"object",properties:{resource:{type:"string",const:"wordpress.org/plugins",description:"Identifies the file resource as a WordPress Core plugin"},slug:{type:"string",description:"The slug of the WordPress Core plugin"}},required:["resource","slug"],additionalProperties:!1},UrlReference:{type:"object",properties:{resource:{type:"string",const:"url",description:"Identifies the file resource as a URL"},url:{type:"string",description:"The URL of the file"},caption:{type:"string",description:"Optional caption for displaying a progress message"}},required:["resource","url"],additionalProperties:!1},SupportedPHPExtensionBundle:{type:"string",enum:["kitchen-sink","light"]},StepDefinition:{type:"object",discriminator:{propertyName:"step"},required:["step"],oneOf:[{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"activatePlugin"},pluginPath:{type:"string",description:"Path to the plugin directory as absolute path (/wordpress/wp-content/plugins/plugin-name); or the plugin entry file relative to the plugins directory (plugin-name/plugin-name.php)."},pluginName:{type:"string",description:"Optional. Plugin name to display in the progress bar."}},required:["pluginPath","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"activateTheme"},themeFolderName:{type:"string",description:"The name of the theme folder inside wp-content/themes/"}},required:["step","themeFolderName"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"cp"},fromPath:{type:"string",description:"Source path"},toPath:{type:"string",description:"Target path"}},required:["fromPath","step","toPath"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"defineWpConfigConsts"},consts:{type:"object",additionalProperties:{},description:"The constants to define"},method:{type:"string",enum:["rewrite-wp-config","define-before-run"],description:"The method of defining the constants. Possible values are:\n\n- rewrite-wp-config: Default. Rewrites the wp-config.php file to explicitly call define() with the requested name and value. This method alters the file on the disk, but it doesn't conflict with existing define() calls in wp-config.php.\n- define-before-run: Defines the constant before running the requested script. It doesn't alter any files on the disk, but constants defined this way may conflict with existing define() calls in wp-config.php."},virtualize:{type:"boolean",deprecated:"This option is noop and will be removed in a future version.\nThis option is only kept in here to avoid breaking Blueprint schema validation\nfor existing apps using this option."}},required:["consts","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"defineSiteUrl"},siteUrl:{type:"string",description:"The URL"}},required:["siteUrl","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"enableMultisite"}},required:["step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"importWxr"},file:{$ref:"#/definitions/FileReference",description:"The file to import"}},required:["file","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"importWordPressFiles"},wordPressFilesZip:{$ref:"#/definitions/FileReference",description:"The zip file containing the top-level WordPress files and directories."},pathInZip:{type:"string",description:"The path inside the zip file where the WordPress files are."}},required:["step","wordPressFilesZip"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},ifAlreadyInstalled:{type:"string",enum:["overwrite","skip","error"],description:"What to do if the asset already exists."},step:{type:"string",const:"installPlugin",description:"The step identifier."},pluginZipFile:{$ref:"#/definitions/FileReference",description:"The plugin zip file to install."},options:{$ref:"#/definitions/InstallPluginOptions",description:"Optional installation options."}},required:["pluginZipFile","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},ifAlreadyInstalled:{type:"string",enum:["overwrite","skip","error"],description:"What to do if the asset already exists."},step:{type:"string",const:"installTheme",description:"The step identifier."},themeZipFile:{$ref:"#/definitions/FileReference",description:"The theme zip file to install."},options:{type:"object",properties:{activate:{type:"boolean",description:"Whether to activate the theme after installing it."}},additionalProperties:!1,description:"Optional installation options."}},required:["step","themeZipFile"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"login"},username:{type:"string",description:"The user to log in as. Defaults to 'admin'."},password:{type:"string",description:"The password to log in with. Defaults to 'password'."}},required:["step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"mkdir"},path:{type:"string",description:"The path of the directory you want to create"}},required:["path","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"mv"},fromPath:{type:"string",description:"Source path"},toPath:{type:"string",description:"Target path"}},required:["fromPath","step","toPath"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"request"},request:{$ref:"#/definitions/PHPRequest",description:"Request details (See /wordpress-playground/api/universal/interface/PHPRequest)"}},required:["request","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"rm"},path:{type:"string",description:"The path to remove"}},required:["path","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"rmdir"},path:{type:"string",description:"The path to remove"}},required:["path","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"runPHP",description:"The step identifier."},code:{type:"string",description:"The PHP code to run."}},required:["code","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"runPHPWithOptions"},options:{$ref:"#/definitions/PHPRunOptions",description:"Run options (See /wordpress-playground/api/universal/interface/PHPRunOptions)"}},required:["options","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"runWpInstallationWizard"},options:{$ref:"#/definitions/WordPressInstallationOptions"}},required:["options","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"runSql",description:"The step identifier."},sql:{$ref:"#/definitions/FileReference",description:"The SQL to run. Each non-empty line must contain a valid SQL query."}},required:["sql","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"setSiteOptions",description:'The name of the step. Must be "setSiteOptions".'},options:{type:"object",additionalProperties:{},description:"The options to set on the site."}},required:["options","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"unzip"},zipFile:{$ref:"#/definitions/FileReference",description:"The zip file to extract"},zipPath:{type:"string",description:"The path of the zip file to extract",deprecated:"Use zipFile instead."},extractToPath:{type:"string",description:"The path to extract the zip file to"}},required:["extractToPath","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"updateUserMeta"},meta:{type:"object",additionalProperties:{},description:'An object of user meta values to set, e.g. { "first_name": "John" }'},userId:{type:"number",description:"User ID"}},required:["meta","step","userId"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"writeFile"},path:{type:"string",description:"The path of the file to write to"},data:{anyOf:[{$ref:"#/definitions/FileReference"},{type:"string"},{type:"object",properties:{BYTES_PER_ELEMENT:{type:"number"},buffer:{type:"object",properties:{byteLength:{type:"number"}},required:["byteLength"],additionalProperties:!1},byteLength:{type:"number"},byteOffset:{type:"number"},length:{type:"number"}},required:["BYTES_PER_ELEMENT","buffer","byteLength","byteOffset","length"],additionalProperties:{type:"number"}}],description:"The data to write"}},required:["data","path","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"wp-cli",description:"The step identifier."},command:{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}],description:"The WP CLI command to run."},wpCliPath:{type:"string",description:"wp-cli.phar path"}},required:["command","step"]}]},InstallPluginOptions:{type:"object",properties:{activate:{type:"boolean",description:"Whether to activate the plugin after installing it."}},additionalProperties:!1},PHPRequest:{type:"object",properties:{method:{$ref:"#/definitions/HTTPMethod",description:"Request method. Default: `GET`."},url:{type:"string",description:"Request path or absolute URL."},headers:{$ref:"#/definitions/PHPRequestHeaders",description:"Request headers."},body:{anyOf:[{type:"string"},{type:"object",properties:{BYTES_PER_ELEMENT:{type:"number"},buffer:{type:"object",properties:{byteLength:{type:"number"}},required:["byteLength"],additionalProperties:!1},byteLength:{type:"number"},byteOffset:{type:"number"},length:{type:"number"}},required:["BYTES_PER_ELEMENT","buffer","byteLength","byteOffset","length"],additionalProperties:{type:"number"}},{type:"object",additionalProperties:{anyOf:[{type:"string"},{type:"object",properties:{BYTES_PER_ELEMENT:{type:"number"},buffer:{type:"object",properties:{byteLength:{type:"number"}},required:["byteLength"],additionalProperties:!1},byteLength:{type:"number"},byteOffset:{type:"number"},length:{type:"number"}},required:["BYTES_PER_ELEMENT","buffer","byteLength","byteOffset","length"],additionalProperties:{type:"number"}},{type:"object",properties:{size:{type:"number"},type:{type:"string"},lastModified:{type:"number"},name:{type:"string"},webkitRelativePath:{type:"string"}},required:["lastModified","name","size","type","webkitRelativePath"],additionalProperties:!1}]}}],description:"Request body. If an object is given, the request will be encoded as multipart and sent with a `multipart/form-data` header."}},required:["url"],additionalProperties:!1},HTTPMethod:{type:"string",enum:["GET","POST","HEAD","OPTIONS","PATCH","PUT","DELETE"]},PHPRequestHeaders:{type:"object",additionalProperties:{type:"string"}},PHPRunOptions:{type:"object",properties:{relativeUri:{type:"string",description:"Request path following the domain:port part."},scriptPath:{type:"string",description:"Path of the .php file to execute."},protocol:{type:"string",description:"Request protocol."},method:{$ref:"#/definitions/HTTPMethod",description:"Request method. Default: `GET`."},headers:{$ref:"#/definitions/PHPRequestHeaders",description:"Request headers."},body:{anyOf:[{type:"string"},{type:"object",properties:{BYTES_PER_ELEMENT:{type:"number"},buffer:{type:"object",properties:{byteLength:{type:"number"}},required:["byteLength"],additionalProperties:!1},byteLength:{type:"number"},byteOffset:{type:"number"},length:{type:"number"}},required:["BYTES_PER_ELEMENT","buffer","byteLength","byteOffset","length"],additionalProperties:{type:"number"}}],description:"Request body."},env:{type:"object",additionalProperties:{type:"string"},description:"Environment variables to set for this run."},$_SERVER:{type:"object",additionalProperties:{type:"string"},description:"$_SERVER entries to set for this run."},code:{type:"string",description:"The code snippet to eval instead of a php file."}},additionalProperties:!1},WordPressInstallationOptions:{type:"object",properties:{adminUsername:{type:"string"},adminPassword:{type:"string"}},additionalProperties:!1}},blueprintSchema={$schema:$schema,$ref:$ref,definitions:definitions},{wpCLI:wpCLI,...otherStepHandlers}=allStepHandlers,keyedStepHandlers={...otherStepHandlers,"wp-cli":wpCLI,importFile:otherStepHandlers.importWxr};function compileBlueprint(e,{progress:t=new ProgressTracker,semaphore:r=new Semaphore({concurrency:3}),onStepCompleted:n=(()=>{})}={}){var o,s,i,a,c,l,d;e={...e,steps:(e.steps||[]).filter(isStepDefinition).filter(isStepStillSupported)};for(const _ of e.steps)"object"==typeof _&&"importFile"===_.step&&(_.step="importWxr",logger.warn('The "importFile" step is deprecated. Use "importWxr" instead.'));if(e.constants&&e.steps.unshift({step:"defineWpConfigConsts",consts:e.constants}),e.siteOptions&&e.steps.unshift({step:"setSiteOptions",options:e.siteOptions}),e.plugins){const t=e.plugins.map((e=>"string"==typeof e?e.startsWith("https://")?{resource:"url",url:e}:{resource:"wordpress.org/plugins",slug:e}:e)).map((e=>({step:"installPlugin",pluginZipFile:e})));e.steps.unshift(...t)}e.login&&e.steps.push({step:"login",...!0===e.login?{username:"admin",password:"password"}:e.login}),e.phpExtensionBundles||(e.phpExtensionBundles=[]),e.phpExtensionBundles||(e.phpExtensionBundles=[]),0===e.phpExtensionBundles.length&&e.phpExtensionBundles.push("kitchen-sink");const p=null==(o=e.steps)?void 0:o.findIndex((e=>"object"==typeof e&&"wp-cli"===(null==e?void 0:e.step)));void 0!==p&&p>-1&&(e.phpExtensionBundles.includes("light")&&(e.phpExtensionBundles=e.phpExtensionBundles.filter((e=>"light"!==e)),logger.warn("The wpCli step used in your Blueprint requires the iconv and mbstring PHP extensions. However, you did not specify the kitchen-sink extension bundle. Playground will override your choice and load the kitchen-sink PHP extensions bundle to prevent the WP-CLI step from failing. ")),null==(s=e.steps)||s.splice(p,0,{step:"writeFile",data:{resource:"url",url:"https://playground.wordpress.net/wp-cli.phar"},path:"/tmp/wp-cli.phar"}));const u=null==(i=e.steps)?void 0:i.findIndex((e=>"object"==typeof e&&"importWxr"===(null==e?void 0:e.step)));void 0!==u&&u>-1&&(e.phpExtensionBundles.includes("light")&&(e.phpExtensionBundles=e.phpExtensionBundles.filter((e=>"light"!==e)),logger.warn("The importWxr step used in your Blueprint requires the iconv and mbstring PHP extensions. However, you did not specify the kitchen-sink extension bundle. Playground will override your choice and load the kitchen-sink PHP extensions bundle to prevent the WP-CLI step from failing. ")),null==(a=e.steps)||a.splice(u,0,{step:"installPlugin",pluginZipFile:{resource:"url",url:"https://playground.wordpress.net/wordpress-importer.zip",caption:"Downloading the WordPress Importer plugin"}}));const{valid:h,errors:f}=validateBlueprint(e);if(!h){const e=new Error(`Invalid blueprint: ${f[0].message} at ${f[0].instancePath}`);throw e.errors=f,e}const m=e.steps||[],g=m.reduce(((e,t)=>{var r;return e+((null==(r=t.progress)?void 0:r.weight)||1)}),0),y=m.map((e=>compileStep(e,{semaphore:r,rootProgressTracker:t,totalProgressWeight:g})));return{versions:{php:compileVersion(null==(c=e.preferredVersions)?void 0:c.php,SupportedPHPVersions,LatestSupportedPHPVersion),wp:(null==(l=e.preferredVersions)?void 0:l.wp)||"latest"},phpExtensions:compilePHPExtensions([],e.phpExtensionBundles||[]),features:{networking:(null==(d=e.features)?void 0:d.networking)??!1},run:async r=>{try{for(const{resources:e}of y)for(const t of e)t.setPlayground(r),t.isAsync&&t.resolve();for(const[e,{run:t,step:s}]of Object.entries(y))try{const e=await t(r);n(e,s)}catch(o){throw logger.error(o),new Error(`Error when executing the blueprint step #${e} (${JSON.stringify(s)}) ${o instanceof Error?`: ${o.message}`:o}`,{cause:o})}}finally{try{await r.goTo(e.landingPage||"/")}catch{}t.finish()}}}}const ajv=new Ajv({discriminator:!0});let blueprintValidator;function validateBlueprint(e){var t;blueprintValidator=ajv.compile(blueprintSchema);const r=blueprintValidator(e);if(r)return{valid:r};const n=new Set;for(const o of blueprintValidator.errors)o.schemaPath.startsWith("#/properties/steps/items/anyOf")||n.add(o.instancePath);return{valid:r,errors:null==(t=blueprintValidator.errors)?void 0:t.filter((e=>!(e.schemaPath.startsWith("#/properties/steps/items/anyOf")&&n.has(e.instancePath))))}}function compileVersion(e,t,r){return e&&t.includes(e)?e:r}function compilePHPExtensions(e,t){const r=SupportedPHPExtensionsList.filter((t=>e.includes(t))),n=t.flatMap((e=>e in SupportedPHPExtensionBundles?SupportedPHPExtensionBundles[e]:[]));return Array.from(new Set([...r,...n]))}function isStepDefinition(e){return!("object"!=typeof e||!e)}function isStepStillSupported(e){return"setPhpIniEntry"!==e.step||(logger.warn('The "setPhpIniEntry" Blueprint is no longer supported and you can remove it from your Blueprint.'),!1)}function compileStep(e,{semaphore:t,rootProgressTracker:r,totalProgressWeight:n}){var o;const s=r.stage(((null==(o=e.progress)?void 0:o.weight)||1)/n),i={};for(const d of Object.keys(e)){let r=e[d];isFileReference(r)&&(r=Resource.create(r,{semaphore:t})),i[d]=r}const a=getResources(i),c=getResources(i).filter((e=>e.isAsync)),l=1/(c.length+1);for(const d of c)d.progress=s.stage(l);return{run:async t=>{var r;try{return s.fillSlowly(),await keyedStepHandlers[e.step](t,await resolveArguments(i),{tracker:s,initialCaption:null==(r=e.progress)?void 0:r.caption})}finally{s.finish()}},step:e,resources:a}}function getResources(e){const t=[];for(const r in e){const n=e[r];n instanceof Resource&&t.push(n)}return t}async function resolveArguments(e){const t={};for(const r in e){const n=e[r];t[r]=n instanceof Resource?await n.resolve():n}return t}async function runBlueprintSteps(e,t){await e.run(t)}function setPluginProxyURL(){}const proxyMarker=Symbol("Comlink.proxy"),createEndpoint=Symbol("Comlink.endpoint"),releaseProxy=Symbol("Comlink.releaseProxy"),finalizer=Symbol("Comlink.finalizer"),throwMarker=Symbol("Comlink.thrown"),isObject=e=>"object"==typeof e&&null!==e||"function"==typeof e,proxyTransferHandler={canHandle:e=>isObject(e)&&e[proxyMarker],serialize(e){const{port1:t,port2:r}=new MessageChannel;return expose(e,t),[r,[r]]},deserialize:e=>(e.start(),wrap(e))},throwTransferHandler={canHandle:e=>isObject(e)&&throwMarker in e,serialize({value:e}){let t;return t=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[t,[]]},deserialize(e){throw e.isError?Object.assign(new Error(e.value.message),e.value):e.value}},transferHandlers=new Map([["proxy",proxyTransferHandler],["throw",throwTransferHandler]]);function isAllowedOrigin(e,t){for(const r of e)if(t===r||"*"===r||r instanceof RegExp&&r.test(t))return!0;return!1}function expose(e,t=globalThis,r=["*"]){t.addEventListener("message",(function n(o){if(!o||!o.data)return;if(!isAllowedOrigin(r,o.origin))return void console.warn(`Invalid origin '${o.origin}' for comlink proxy`);const{id:s,type:i,path:a}=Object.assign({path:[]},o.data),c=(o.data.argumentList||[]).map(fromWireValue);let l;try{const t=a.slice(0,-1).reduce(((e,t)=>e[t]),e),r=a.reduce(((e,t)=>e[t]),e);switch(i){case"GET":l=r;break;case"SET":t[a.slice(-1)[0]]=fromWireValue(o.data.value),l=!0;break;case"APPLY":l=r.apply(t,c);break;case"CONSTRUCT":l=proxy(new r(...c));break;case"ENDPOINT":{const{port1:t,port2:r}=new MessageChannel;expose(e,r),l=transfer(t,[t])}break;case"RELEASE":l=void 0;break;default:return}}catch(d){l={value:d,[throwMarker]:0}}Promise.resolve(l).catch((e=>({value:e,[throwMarker]:0}))).then((r=>{const[o,a]=toWireValue(r);t.postMessage(Object.assign(Object.assign({},o),{id:s}),a),"RELEASE"===i&&(t.removeEventListener("message",n),closeEndPoint(t),finalizer in e&&"function"==typeof e[finalizer]&&e[finalizer]())})).catch((e=>{const[r,n]=toWireValue({value:new TypeError("Unserializable return value"),[throwMarker]:0});t.postMessage(Object.assign(Object.assign({},r),{id:s}),n)}))})),t.start&&t.start()}function isMessagePort(e){return"MessagePort"===e.constructor.name}function closeEndPoint(e){isMessagePort(e)&&e.close()}function wrap(e,t){return createProxy(e,[],t)}function throwIfProxyReleased(e){if(e)throw new Error("Proxy has been released and is not useable")}function releaseEndpoint(e){return requestResponseMessage(e,{type:"RELEASE"}).then((()=>{closeEndPoint(e)}))}const proxyCounter=new WeakMap,proxyFinalizers="FinalizationRegistry"in globalThis&&new FinalizationRegistry((e=>{const t=(proxyCounter.get(e)||0)-1;proxyCounter.set(e,t),0===t&&releaseEndpoint(e)}));function registerProxy(e,t){const r=(proxyCounter.get(t)||0)+1;proxyCounter.set(t,r),proxyFinalizers&&proxyFinalizers.register(e,t,e)}function unregisterProxy(e){proxyFinalizers&&proxyFinalizers.unregister(e)}function createProxy(e,t=[],r=function(){}){let n=!1;const o=new Proxy(r,{get(r,s){if(throwIfProxyReleased(n),s===releaseProxy)return()=>{unregisterProxy(o),releaseEndpoint(e),n=!0};if("then"===s){if(0===t.length)return{then:()=>o};const r=requestResponseMessage(e,{type:"GET",path:t.map((e=>e.toString()))}).then(fromWireValue);return r.then.bind(r)}return createProxy(e,[...t,s])},set(r,o,s){throwIfProxyReleased(n);const[i,a]=toWireValue(s);return requestResponseMessage(e,{type:"SET",path:[...t,o].map((e=>e.toString())),value:i},a).then(fromWireValue)},apply(r,o,s){throwIfProxyReleased(n);const i=t[t.length-1];if(i===createEndpoint)return requestResponseMessage(e,{type:"ENDPOINT"}).then(fromWireValue);if("bind"===i)return createProxy(e,t.slice(0,-1));const[a,c]=processArguments(s);return requestResponseMessage(e,{type:"APPLY",path:t.map((e=>e.toString())),argumentList:a},c).then(fromWireValue)},construct(r,o){throwIfProxyReleased(n);const[s,i]=processArguments(o);return requestResponseMessage(e,{type:"CONSTRUCT",path:t.map((e=>e.toString())),argumentList:s},i).then(fromWireValue)}});return registerProxy(o,e),o}function myFlat(e){return Array.prototype.concat.apply([],e)}function processArguments(e){const t=e.map(toWireValue);return[t.map((e=>e[0])),myFlat(t.map((e=>e[1])))]}const transferCache=new WeakMap;function transfer(e,t){return transferCache.set(e,t),e}function proxy(e){return Object.assign(e,{[proxyMarker]:!0})}function windowEndpoint(e,t=globalThis,r="*"){return{postMessage:(t,n)=>e.postMessage(t,r,n),addEventListener:t.addEventListener.bind(t),removeEventListener:t.removeEventListener.bind(t)}}function toWireValue(e){for(const[t,r]of transferHandlers)if(r.canHandle(e)){const[n,o]=r.serialize(e);return[{type:"HANDLER",name:t,value:n},o]}return[{type:"RAW",value:e},transferCache.get(e)||[]]}function fromWireValue(e){switch(e.type){case"HANDLER":return transferHandlers.get(e.name).deserialize(e.value);case"RAW":return e.value}}function requestResponseMessage(e,t,r){return new Promise((n=>{const o=generateUUID();e.addEventListener("message",(function t(r){!r.data||!r.data.id||r.data.id!==o||(e.removeEventListener("message",t),n(r.data))})),e.start&&e.start(),e.postMessage(Object.assign({id:o},t),r)}))}function generateUUID(){return new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-")}function consumeAPI(e,t=void 0){setupTransferHandlers();const r=wrap(e instanceof Worker?e:windowEndpoint(e,t)),n=proxyClone(r);return new Proxy(n,{get:(e,t)=>"isConnected"===t?async()=>{for(;;)try{await runWithTimeout(r.isConnected(),200);break}catch{}}:r[t]})}async function runWithTimeout(e,t){return new Promise(((r,n)=>{setTimeout(n,t),e.then(r)}))}let isTransferHandlersSetup=!1;function setupTransferHandlers(){if(isTransferHandlersSetup)return;isTransferHandlersSetup=!0,transferHandlers.set("EVENT",{canHandle:e=>e instanceof CustomEvent,serialize:e=>[{detail:e.detail},[]],deserialize:e=>e}),transferHandlers.set("FUNCTION",{canHandle:e=>"function"==typeof e,serialize(e){logger.debug("[Comlink][Performance] Proxying a function");const{port1:t,port2:r}=new MessageChannel;return expose(e,t),[r,[r]]},deserialize:e=>(e.start(),wrap(e))}),transferHandlers.set("PHPResponse",{canHandle:e=>"object"==typeof e&&null!==e&&"headers"in e&&"bytes"in e&&"errors"in e&&"exitCode"in e&&"httpStatusCode"in e,serialize:e=>[e.toRawData(),[]],deserialize:e=>PHPResponse.fromRawData(e)});const e=transferHandlers.get("throw"),t=null==e?void 0:e.serialize;e.serialize=({value:e})=>{const r=t({value:e});return e.response&&(r[0].value.response=e.response),e.source&&(r[0].value.source=e.source),r}}function proxyClone(e){return new Proxy(e,{get(e,t){switch(typeof e[t]){case"function":return(...r)=>e[t](...r);case"object":return null===e[t]?e[t]:proxyClone(e[t]);case"undefined":case"number":case"string":return e[t];default:return proxy(e[t])}}})}async function startPlaygroundWeb({iframe:e,blueprint:t,remoteUrl:r,progressTracker:n=new ProgressTracker,disableProgressBar:o,onBlueprintStepCompleted:s,onClientConnected:i=(()=>{}),sapiName:a}){if(assertValidRemote(r),allowStorageAccessByUserActivation(e),r=setQueryParams(r,{progressbar:!o}),n.setCaption("Preparing WordPress"),!t){const t=await doStartPlaygroundWeb(e,setQueryParams(r,{"php-extension":"kitchen-sink"}),n);return i(t),t}const c=compileBlueprint(t,{progress:n.stage(.5),onStepCompleted:s}),l=await doStartPlaygroundWeb(e,setQueryParams(r,{php:c.versions.php,wp:c.versions.wp,"sapi-name":a,"php-extension":c.phpExtensions,networking:c.features.networking?"yes":"no"}),n);return collectPhpLogs(logger,l),i(l),await runBlueprintSteps(c,l),n.finish(),l}function allowStorageAccessByUserActivation(e){var t,r;null!=(t=e.sandbox)&&t.length&&(null==(r=e.sandbox)||!r.contains("allow-storage-access-by-user-activation"))&&e.sandbox.add("allow-storage-access-by-user-activation")}async function doStartPlaygroundWeb(e,t,r){await new Promise((r=>{e.src=t,e.addEventListener("load",r,!1)}));const n=consumeAPI(e.contentWindow,e.ownerDocument.defaultView);await n.isConnected(),r.pipe(n);const o=r.stage();return await n.onDownloadProgress(o.loadingListener),await n.isReady(),o.finish(),n}const officialRemoteOrigin="https://playground.wordpress.net";function assertValidRemote(e){const t=new URL(e,officialRemoteOrigin);if((t.origin===officialRemoteOrigin||"localhost"===t.hostname)&&"/remote.html"!==t.pathname)throw new Error(`Invalid remote URL: ${t}. Expected origin to be ${officialRemoteOrigin}/remote.html.`)}function setQueryParams(e,t){const r=new URL(e,officialRemoteOrigin),n=new URLSearchParams(r.search);for(const[o,s]of Object.entries(t))if(null!=s&&!1!==s)if(Array.isArray(s))for(const e of s)n.append(o,e.toString());else n.set(o,s.toString());return r.search=n.toString(),r.toString()}async function connectPlayground(e,t){if(logger.warn("`connectPlayground` is deprecated and will be removed. Use `startPlayground` instead."),null!=t&&t.loadRemote)return startPlaygroundWeb({iframe:e,remoteUrl:t.loadRemote});const r=consumeAPI(e.contentWindow,e.ownerDocument.defaultView);return await r.isConnected(),r}}}]); \ No newline at end of file diff --git a/assets/js/23271.9dc8a4dd.js.LICENSE.txt b/assets/js/23271.4b6b167e.js.LICENSE.txt similarity index 100% rename from assets/js/23271.9dc8a4dd.js.LICENSE.txt rename to assets/js/23271.4b6b167e.js.LICENSE.txt diff --git a/assets/js/23271.9dc8a4dd.js b/assets/js/23271.9dc8a4dd.js deleted file mode 100644 index 0737d9a97..000000000 --- a/assets/js/23271.9dc8a4dd.js +++ /dev/null @@ -1,8 +0,0 @@ -/*! For license information please see 23271.9dc8a4dd.js.LICENSE.txt */ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[23271],{23271:(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{QH:()=>startPlaygroundWeb,XT:()=>installTheme,gT:()=>wpCLI$1});var Nt=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)},H=(e,t,r)=>(Nt(e,t,"read from private field"),r?r.call(e):t.get(e)),Q=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)},te=(e,t,r,n)=>(Nt(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r),ce=(e,t,r)=>(Nt(e,t,"access private method"),r);const currentJsRuntime=typeof process<"u"&&"node"===(null==(e=process.release)?void 0:e.name)?"NODE":typeof window<"u"?"WEB":typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?"WORKER":"NODE";var e;if("NODE"===currentJsRuntime){let e=function(e){return new Promise((function(t,r){e.onload=e.onerror=function(n){e.onload=e.onerror=null,"load"===n.type?t(e.result):r(new Error("Failed to read the blob/file"))}}))},t=function(){const e=new Uint8Array([1,2,3,4]),t=new File([e],"test").stream();try{return t.getReader({mode:"byob"}),!0}catch{return!1}};if(typeof File>"u"){class e extends Blob{constructor(e,t,r){let n;super(e),null!=r&&r.lastModified&&(n=new Date),(!n||isNaN(n.getFullYear()))&&(n=new Date),this.lastModifiedDate=n,this.lastModified=n.getMilliseconds(),this.name=t||""}}global.File=e}typeof Blob.prototype.arrayBuffer>"u"&&(Blob.prototype.arrayBuffer=function(){const t=new FileReader;return t.readAsArrayBuffer(this),e(t)}),typeof Blob.prototype.text>"u"&&(Blob.prototype.text=function(){const t=new FileReader;return t.readAsText(this),e(t)}),(typeof Blob.prototype.stream>"u"||!t())&&(Blob.prototype.stream=function(){let e=0;const t=this;return new ReadableStream({type:"bytes",autoAllocateChunkSize:524288,async pull(r){const n=r.byobRequest.view,o=await t.slice(e,e+n.byteLength).arrayBuffer(),s=new Uint8Array(o);new Uint8Array(n.buffer).set(s);const i=s.byteLength;r.byobRequest.respond(i),e+=i,e>=t.size&&r.close()}})})}if("NODE"===currentJsRuntime&&typeof CustomEvent>"u"){class e extends Event{constructor(e,t={}){super(e,t),this.detail=t.detail}initCustomEvent(){}}globalThis.CustomEvent=e}const wpContentFilesExcludedFromExport=["db.php","plugins/akismet","plugins/hello.php","plugins/wordpress-importer","mu-plugins/sqlite-database-integration","mu-plugins/playground-includes","mu-plugins/export-wxz.php","mu-plugins/0-playground.php","themes/twentytwenty","themes/twentytwentyone","themes/twentytwentytwo","themes/twentytwentythree","themes/twentytwentyfour","themes/twentytwentyfive","themes/twentytwentysix"];class Semaphore{constructor({concurrency:e}){this._running=0,this.concurrency=e,this.queue=[]}get running(){return this._running}async acquire(){for(;;){if(!(this._running>=this.concurrency)){this._running++;let e=!1;return()=>{e||(e=!0,this._running--,this.queue.length>0&&this.queue.shift()())}}await new Promise((e=>this.queue.push(e)))}}async run(e){const t=await this.acquire();try{return await e()}finally{t()}}}function joinPaths(...e){let t=e.join("/");const r="/"===t[0],n="/"===t.substring(t.length-1);return t=normalizePath(t),!t&&!r&&(t="."),t&&n&&(t+="/"),t}function dirname(e){if("/"===e)return"/";const t=(e=normalizePath(e)).lastIndexOf("/");return-1===t?"":0===t?"/":e.substr(0,t)}function normalizePath(e){const t="/"===e[0];return(t?"/":"")+(e=normalizePathsArray(e.split("/").filter((e=>!!e)),!t).join("/")).replace(/\/$/,"")}function normalizePathsArray(e,t){let r=0;for(let n=e.length-1;n>=0;n--){const t=e[n];"."===t?e.splice(n,1):".."===t?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e}function splitShellCommand$1(e){let t=0,r="";const n=[];let o="";for(let s=0;s<e.length;s++){const i=e[s];"\\"===i?(('"'===e[s+1]||"'"===e[s+1])&&s++,o+=e[s]):0===t?'"'===i||"'"===i?(t=1,r=i):i.match(/\s/)?(o.trim().length&&n.push(o.trim()),o=i):n.length&&!o?o=n.pop()+i:o+=i:1===t&&(i===r?(t=0,r=""):o+=i)}return o&&n.push(o.trim()),n}function createSpawnHandler(e){return function(t,r=[],n={}){const o=new ChildProcess,s=new ProcessApi(o);return setTimeout((async()=>{let i=[];if(r.length)i=[t,...r];else if("string"==typeof t)i=splitShellCommand$1(t);else{if(!Array.isArray(t))throw new Error("Invalid command ",t);i=t}await e(i,s,n),o.emit("spawn",!0)})),o}}class EventEmitter{constructor(){this.listeners={}}emit(e,t){this.listeners[e]&&this.listeners[e].forEach((function(e){e(t)}))}on(e,t){this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(t)}}class ProcessApi extends EventEmitter{constructor(e){super(),this.childProcess=e,this.exited=!1,this.stdinData=[],e.on("stdin",(e=>{this.stdinData?this.stdinData.push(e.slice()):this.emit("stdin",e)}))}stdout(e){"string"==typeof e&&(e=(new TextEncoder).encode(e)),this.childProcess.stdout.emit("data",e)}stdoutEnd(){this.childProcess.stdout.emit("end",{})}stderr(e){"string"==typeof e&&(e=(new TextEncoder).encode(e)),this.childProcess.stderr.emit("data",e)}stderrEnd(){this.childProcess.stderr.emit("end",{})}exit(e){this.exited||(this.exited=!0,this.childProcess.emit("exit",e))}flushStdin(){if(this.stdinData)for(let e=0;e<this.stdinData.length;e++)this.emit("stdin",this.stdinData[e]);this.stdinData=null}}let lastPid=9743;class ChildProcess extends EventEmitter{constructor(e=lastPid++){super(),this.pid=e,this.stdout=new EventEmitter,this.stderr=new EventEmitter;const t=this;this.stdin={write:e=>{t.emit("stdin",e)}}}}function randomString(e=36,t="!@#$%^&*()_+=-[]/.,<>?"){const r="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"+t;let n="";for(let o=e;o>0;--o)n+=r[Math.floor(Math.random()*r.length)];return n}function randomFilename(){return randomString(36,"-_")}function phpVar(e){return`json_decode(base64_decode('${stringToBase64(JSON.stringify(e))}'), true)`}function phpVars(e){const t={};for(const r in e)t[r]=phpVar(e[r]);return t}function stringToBase64(e){return bytesToBase64((new TextEncoder).encode(e))}function bytesToBase64(e){const t=String.fromCodePoint(...e);return btoa(t)}const activatePlugin=async(e,{pluginPath:t,pluginName:r},n)=>{null==n||n.tracker.setCaption(`Activating ${r||t}`);const o=await e.documentRoot;await e.run({throwOnError:!0,code:`<?php\ndefine( 'WP_ADMIN', true );\nrequire_once( ${phpVar(o)}. "/wp-load.php" );\nrequire_once( ${phpVar(o)}. "/wp-admin/includes/plugin.php" );\n\n// Set current user to admin\nset_current_user( get_users(array('role' => 'Administrator') )[0] );\n\n$plugin_path = ${phpVar(t)};\n\nif (!is_dir($plugin_path)) {\n\tactivate_plugin($plugin_path);\n\tdie();\n}\n\nforeach ( ( glob( $plugin_path . '/*.php' ) ?: array() ) as $file ) {\n\t$info = get_plugin_data( $file, false, false );\n\tif ( ! empty( $info['Name'] ) ) {\n\t\tactivate_plugin( $file );\n\t\tdie();\n\t}\n}\n\n// If we got here, the plugin was not found.\nexit(1);\n`})},activateTheme=async(e,{themeFolderName:t},r)=>{null==r||r.tracker.setCaption(`Activating ${t}`);const n=await e.documentRoot;await e.run({throwOnError:!0,code:`<?php\ndefine( 'WP_ADMIN', true );\nrequire_once( ${phpVar(n)}. "/wp-load.php" );\n\n// Set current user to admin\nset_current_user( get_users(array('role' => 'Administrator') )[0] );\n\nswitch_theme( ${phpVar(t)} );\n`})},runPHP=async(e,{code:t})=>await e.run({code:t,throwOnError:!0}),runPHPWithOptions=async(e,{options:t})=>await e.run(t),rm=async(e,{path:t})=>{await e.unlink(t)},runSql=async(e,{sql:t},r)=>{null==r||r.tracker.setCaption("Executing SQL Queries");const n=`/tmp/${randomFilename()}.sql`;await e.writeFile(n,new Uint8Array(await t.arrayBuffer()));const o=phpVars({docroot:await e.documentRoot,sqlFilename:n}),s=await e.run({code:`<?php\n\t\trequire_once ${o.docroot} . '/wp-load.php';\n\n\t\t$handle = fopen(${o.sqlFilename}, 'r');\n\t\t$buffer = '';\n\n\t\tglobal $wpdb;\n\n\t\twhile ($bytes = fgets($handle)) {\n\t\t\t$buffer .= $bytes;\n\n\t\t\tif (!feof($handle) && substr($buffer, -1, 1) !== "\n") {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t$wpdb->query($buffer);\n\t\t\t$buffer = '';\n\t\t}\n\t`});return await rm(e,{path:n}),s},setPhpIniEntry=async(e,{key:t,value:r})=>{await e.setPhpIniEntry(t,r)},request=async(e,{request:t})=>{const r=await e.request(t);if(r.httpStatusCode>399||r.httpStatusCode<200)throw console.warn("WordPress response was",{response:r}),new Error(`Request failed with status ${r.httpStatusCode}`);return r},rewriteWpConfigToDefineConstants="<?php\n\n/**\n * Rewrites the wp-config.php file to ensure specific constants are defined\n * with specific values.\n * \n * Example:\n * \n * ```php\n * <?php\n * define('WP_DEBUG', true);\n * // The third define() argument is also supported:\n * define('SAVEQUERIES', false, true);\n * \n * // Expression\n * define(true ? 'WP_DEBUG_LOG' : 'WP_DEBUG_LOG', 123);\n * \n * // Guarded expressions shouldn't be wrapped twice\n * if(!defined(1 ? 'A' : 'B')) {\n * define(1 ? 'A' : 'B', 0);\n * }\n * \n * // More advanced expression\n * define((function() use($x) {\n * return [$x, 'a'];\n * })(), 123);\n * ```\n * \n * Rewritten with\n * \n * $constants = [\n * 'WP_DEBUG' => false,\n * 'WP_DEBUG_LOG' => true,\n * 'SAVEQUERIES' => true,\n * 'NEW_CONSTANT' => \"new constant\",\n * ];\n * \n * ```php\n * <?php\n * define('WP_DEBUG_LOG',true);\n * define('NEW_CONSTANT','new constant');\n * ?><?php\n * define('WP_DEBUG',false);\n * // The third define() argument is also supported:\n * define('SAVEQUERIES',true, true);\n * \n * // Expression\n * if(!defined($const ? 'WP_DEBUG_LOG' : 'WP_DEBUG_LOG')) {\n * define($const ? 'WP_DEBUG_LOG' : 'WP_DEBUG_LOG', 123);\n * }\n * \n * // Guarded expressions shouldn't be wrapped twice\n * if(!defined(1 ? 'A' : 'B')) {\n * define(1 ? 'A' : 'B', 0);\n * }\n * \n * // More advanced expression\n * if(!defined((function() use($x) {\n * return [$x, 'a'];\n * })())) {\n * define((function() use($x) {\n * return [$x, 'a'];\n * })(), 123);\n * }\n * ```\n * \n * @param mixed $content\n * @return string\n */\nfunction rewrite_wp_config_to_define_constants($content, $constants = [])\n{\n $tokens = array_reverse(token_get_all($content));\n $output = [];\n $defined_expressions = [];\n\n // Look through all the tokens and find the define calls\n do {\n $buffer = [];\n $name_buffer = [];\n $value_buffer = [];\n $third_arg_buffer = [];\n\n // Capture everything until the define call into output.\n // Capturing the define call into a buffer.\n // Example:\n // <?php echo 'a'; define (\n // ^^^^^^^^^^^^^^^^^^^^^^\n // output |buffer\n while ($token = array_pop($tokens)) {\n if (is_array($token) && $token[0] === T_STRING && (strtolower($token[1]) === 'define' || strtolower($token[1]) === 'defined')) {\n $buffer[] = $token;\n break;\n }\n $output[] = $token;\n }\n\n // Maybe we didn't find a define call and reached the end of the file?\n if (!count($tokens)) {\n break;\n }\n\n // Keep track of the \"defined\" expressions that are already accounted for\n if($token[1] === 'defined') {\n $output[] = $token;\n $defined_expression = [];\n $open_parenthesis = 0;\n // Capture everything up to the opening parenthesis, including the parenthesis\n // e.g. defined (\n // ^^^^\n while ($token = array_pop($tokens)) {\n $output[] = $token;\n if ($token === \"(\") {\n ++$open_parenthesis;\n break;\n }\n }\n\n // Capture everything up to the closing parenthesis, including the parenthesis\n // e.g. defined (\n // ^^^^\n while ($token = array_pop($tokens)) {\n $output[] = $token;\n if ($token === \")\") {\n --$open_parenthesis;\n }\n if ($open_parenthesis === 0) {\n break;\n }\n $defined_expression[] = $token;\n }\n\n $defined_expressions[] = stringify_tokens(skip_whitespace($defined_expression));\n continue;\n }\n\n // Capture everything up to the opening parenthesis, including the parenthesis\n // e.g. define (\n // ^^^^\n while ($token = array_pop($tokens)) {\n $buffer[] = $token;\n if ($token === \"(\") {\n break;\n }\n }\n\n // Capture the first argument \u2013 it's the first expression after the opening\n // parenthesis and before the comma:\n // Examples:\n // define(\"WP_DEBUG\", true);\n // ^^^^^^^^^^^\n //\n // define(count([1,2]) > 2 ? 'WP_DEBUG' : 'FOO', true);\n // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n $open_parenthesis = 0;\n while ($token = array_pop($tokens)) {\n $buffer[] = $token;\n if ($token === \"(\" || $token === \"[\" || $token === \"{\") {\n ++$open_parenthesis;\n } elseif ($token === \")\" || $token === \"]\" || $token === \"}\") {\n --$open_parenthesis;\n } elseif ($token === \",\" && $open_parenthesis === 0) {\n break;\n }\n\n // Don't capture the comma as a part of the constant name\n $name_buffer[] = $token;\n }\n\n // Capture everything until the closing parenthesis\n // define(\"WP_DEBUG\", true);\n // ^^^^^^\n $open_parenthesis = 0;\n $is_second_argument = true;\n while ($token = array_pop($tokens)) {\n $buffer[] = $token;\n if ($token === \")\" && $open_parenthesis === 0) {\n // Final parenthesis of the define call.\n break;\n } else if ($token === \"(\" || $token === \"[\" || $token === \"{\") {\n ++$open_parenthesis;\n } elseif ($token === \")\" || $token === \"]\" || $token === \"}\") {\n --$open_parenthesis;\n } elseif ($token === \",\" && $open_parenthesis === 0) {\n // This define call has more than 2 arguments! The third one is the\n // boolean value indicating $is_case_insensitive. Let's continue capturing\n // to $third_arg_buffer.\n $is_second_argument = false;\n }\n if ($is_second_argument) {\n $value_buffer[] = $token;\n } else {\n $third_arg_buffer[] = $token;\n }\n }\n\n // Capture until the semicolon\n // define(\"WP_DEBUG\", true) ;\n // ^^^\n while ($token = array_pop($tokens)) {\n $buffer[] = $token;\n if ($token === \";\") {\n break;\n }\n }\n\n // Decide whether $name_buffer is a constant name or an expression\n $name_token = null;\n $name_token_index = $token;\n $name_is_literal = true;\n foreach ($name_buffer as $k => $token) {\n if (is_array($token)) {\n if ($token[0] === T_WHITESPACE || $token[0] === T_COMMENT || $token[0] === T_DOC_COMMENT) {\n continue;\n } else if ($token[0] === T_STRING || $token[0] === T_CONSTANT_ENCAPSED_STRING) {\n $name_token = $token;\n $name_token_index = $k;\n } else {\n $name_is_literal = false;\n break;\n }\n } else if ($token !== \"(\" && $token !== \")\") {\n $name_is_literal = false;\n break;\n }\n }\n\n // We can't handle expressions as constant names. Let's wrap that define\n // call in an if(!defined()) statement, just in case it collides with\n // a constant name.\n if (!$name_is_literal) {\n // Ensure the defined expression is not already accounted for\n foreach ($defined_expressions as $defined_expression) {\n if ($defined_expression === stringify_tokens(skip_whitespace($name_buffer))) {\n $output = array_merge($output, $buffer);\n continue 2;\n }\n }\n $output = array_merge(\n $output,\n [\"if(!defined(\"],\n $name_buffer,\n [\")) {\\n \"],\n ['define('],\n $name_buffer,\n [','],\n $value_buffer,\n $third_arg_buffer,\n [\");\"],\n [\"\\n}\\n\"]\n );\n continue;\n }\n\n // Yay, we have a literal constant name in the buffer now. Let's\n // get its value:\n $name = eval('return ' . $name_token[1] . ';');\n\n // If the constant name is not in the list of constants we're looking,\n // we can ignore it.\n if (!array_key_exists($name, $constants)) {\n $output = array_merge($output, $buffer);\n continue;\n }\n\n // We now have a define() call that defines a constant we're looking for.\n // Let's rewrite its value to the one \n $output = array_merge(\n $output,\n ['define('],\n $name_buffer,\n [','],\n [var_export($constants[$name], true)],\n $third_arg_buffer,\n [\");\"]\n );\n\n // Remove the constant from the list so we can process any remaining\n // constants later.\n unset($constants[$name]);\n } while (count($tokens));\n\n // Add any constants that weren't found in the file\n if (count($constants)) {\n $prepend = [\n \"<?php \\n\"\n ];\n foreach ($constants as $name => $value) {\n $prepend = array_merge(\n $prepend,\n [\n \"define(\",\n var_export($name, true),\n ',',\n var_export($value, true),\n \");\\n\"\n ]\n );\n }\n $prepend[] = \"?>\";\n $output = array_merge(\n $prepend,\n $output\n );\n }\n\n // Translate the output tokens back into a string\n return stringify_tokens($output);\n}\n\nfunction stringify_tokens($tokens) {\n $output = '';\n foreach ($tokens as $token) {\n if (is_array($token)) {\n $output .= $token[1];\n } else {\n $output .= $token;\n }\n }\n return $output;\n}\n\nfunction skip_whitespace($tokens) {\n $output = [];\n foreach ($tokens as $token) {\n if (is_array($token) && ($token[0] === T_WHITESPACE || $token[0] === T_COMMENT || $token[0] === T_DOC_COMMENT)) {\n continue;\n }\n $output[] = $token;\n }\n return $output;\n}\n",defineWpConfigConsts=async(e,{consts:t,method:r="rewrite-wp-config"})=>{switch(r){case"define-before-run":await defineBeforeRun(e,t);break;case"rewrite-wp-config":{const r=joinPaths(await e.documentRoot,"/wp-config.php"),n=await e.readFileAsText(r),o=await rewriteDefineCalls(e,n,t);await e.writeFile(r,o);break}default:throw new Error(`Invalid method: ${r}`)}};async function defineBeforeRun(e,t){for(const r in t)await e.defineConstant(r,t[r])}async function rewriteDefineCalls(e,t,r){await e.writeFile("/tmp/code.php",t);const n=phpVars({consts:r});return await e.run({throwOnError:!0,code:`${rewriteWpConfigToDefineConstants}\n\t$wp_config_path = '/tmp/code.php';\n\t$wp_config = file_get_contents($wp_config_path);\n\t$new_wp_config = rewrite_wp_config_to_define_constants($wp_config, ${n.consts});\n\tfile_put_contents($wp_config_path, $new_wp_config);\n\t`}),await e.readFileAsText("/tmp/code.php")}const login=async(e,{username:t="admin",password:r="password"}={},n)=>{var o,s,i;null==n||n.tracker.setCaption((null==n?void 0:n.initialCaption)||"Logging in"),await e.request({url:"/wp-login.php"});const a=await e.request({url:"/wp-login.php",method:"POST",body:{log:t,pwd:r,rememberme:"forever"}});if(null==(i=null==(s=null==(o=a.headers)?void 0:o.location)?void 0:s[0])||!i.includes("/wp-admin/"))throw console.warn("WordPress response was",{response:a,text:a.text}),new Error(`Failed to log in as ${t} with password ${r}`)},setSiteOptions=async(e,{options:t})=>{const r=await e.documentRoot;await e.run({throwOnError:!0,code:`<?php\n\t\tinclude ${phpVar(r)} . '/wp-load.php';\n\t\t$site_options = ${phpVar(t)};\n\t\tforeach($site_options as $name => $value) {\n\t\t\tupdate_option($name, $value);\n\t\t}\n\t\techo "Success";\n\t\t`})},updateUserMeta=async(e,{meta:t,userId:r})=>{const n=await e.documentRoot;await e.run({throwOnError:!0,code:`<?php\n\t\tinclude ${phpVar(n)} . '/wp-load.php';\n\t\t$meta = ${phpVar(t)};\n\t\tforeach($meta as $name => $value) {\n\t\t\tupdate_user_meta(${phpVar(r)}, $name, $value);\n\t\t}\n\t\t`})};function isURLScoped(e){return e.pathname.startsWith("/scope:")}function getURLScope(e){return isURLScoped(e)?e.pathname.split("/")[1].split(":")[1]:null}const enableMultisite=async e=>{var t;await defineWpConfigConsts(e,{consts:{WP_ALLOW_MULTISITE:1}});const r=new URL(await e.absoluteUrl);if(""!==r.port){let e=`The current host is ${r.host}, but WordPress multisites do not support custom ports.`;throw"localhost"===r.hostname&&(e+=" For development, you can set up a playground.test domain using the instructions at https://wordpress.github.io/wordpress-playground/contributing/code."),new Error(e)}const n=r.pathname.replace(/\/$/,"")+"/",o=`${r.protocol}//${r.hostname}${n}`;await setSiteOptions(e,{options:{siteurl:o,home:o}}),await login(e,{});const s=await e.documentRoot,i=(await e.run({throwOnError:!0,code:`<?php\ndefine( 'WP_ADMIN', true );\nrequire_once(${phpVar(s)} . "/wp-load.php");\n\n// Set current user to admin\nset_current_user( get_users(array('role' => 'Administrator') )[0] );\n\nrequire_once(${phpVar(s)} . "/wp-admin/includes/plugin.php");\n$plugins_root = ${phpVar(s)} . "/wp-content/plugins";\n$plugins = glob($plugins_root . "/*");\n\n$deactivated_plugins = [];\nforeach($plugins as $plugin_path) {\n\tif (!is_dir($plugin_path)) {\n\t\tdeactivate_plugins($plugin_path);\n\t\tcontinue;\n\t}\n\t// Find plugin entry file\n\tforeach ( ( glob( $plugin_path . '/*.php' ) ?: array() ) as $file ) {\n\t\t$info = get_plugin_data( $file, false, false );\n\t\tif ( ! empty( $info['Name'] ) ) {\n\t\t\tdeactivate_plugins( $file );\n\t\t\t$deactivated_plugins[] = substr($file, strlen($plugins_root) + 1);\n\t\t\tbreak;\n\t\t}\n\t}\n}\necho json_encode($deactivated_plugins);\n`})).json,a=null==(t=(await request(e,{request:{url:"/wp-admin/network.php"}})).text.match(/name="_wpnonce"\s+value="([^"]+)"/))?void 0:t[1],c=await request(e,{request:{url:"/wp-admin/network.php",method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:jsonToUrlEncoded({_wpnonce:a,_wp_http_referer:n+"wp-admin/network.php",sitename:"My WordPress Website Sites",email:"admin@localhost.com",submit:"Install"})}});if(200!==c.httpStatusCode)throw console.warn("WordPress response was",{response:c,text:c.text,headers:c.headers}),new Error(`Failed to enable multisite. Response code was ${c.httpStatusCode}`);await defineWpConfigConsts(e,{consts:{SUNRISE:"on",MULTISITE:!0,SUBDOMAIN_INSTALL:!1,SITE_ID_CURRENT_SITE:1,BLOG_ID_CURRENT_SITE:1,DOMAIN_CURRENT_SITE:r.hostname,PATH_CURRENT_SITE:n}});const l=new URL(await e.absoluteUrl),d=isURLScoped(l)?"scope:"+getURLScope(l):null;await e.writeFile(joinPaths(s,"/wp-content/sunrise.php"),`<?php\n\tif ( !defined( 'BLOG_ID_CURRENT_SITE' ) ) {\n\t\tdefine( 'BLOG_ID_CURRENT_SITE', 1 );\n\t}\n\t$folder = ${phpVar(d)};\n\tif ($folder && strpos($_SERVER['REQUEST_URI'],"/$folder") === false) {\n\t\t$_SERVER['HTTP_HOST'] = ${phpVar(l.hostname)};\n\t\t$_SERVER['REQUEST_URI'] = "/$folder/" . ltrim($_SERVER['REQUEST_URI'], '/');\n\t}\n`),await login(e,{});for(const p of i)await activatePlugin(e,{pluginPath:p})};function jsonToUrlEncoded(e){return Object.keys(e).map((t=>encodeURIComponent(t)+"="+encodeURIComponent(e[t]))).join("&")}const cp=async(e,{fromPath:t,toPath:r})=>{await e.writeFile(r,await e.readFileAsBuffer(t))},mv=async(e,{fromPath:t,toPath:r})=>{await e.mv(t,r)},mkdir=async(e,{path:t})=>{await e.mkdir(t)},rmdir=async(e,{path:t})=>{await e.rmdir(t)},writeFile=async(e,{path:t,data:r})=>{r instanceof File&&(r=new Uint8Array(await r.arrayBuffer())),await e.writeFile(t,r)},defineSiteUrl=async(e,{siteUrl:t})=>{await defineWpConfigConsts(e,{consts:{WP_HOME:t,WP_SITEURL:t}})},importFile=async(e,{file:t},r)=>{var n,o;null==(n=null==r?void 0:r.tracker)||n.setCaption("Importing content");const s=null==(o=DOM(await e.request({url:"/wp-admin/admin.php?import=wordpress"})).getElementById("import-upload-form"))?void 0:o.getAttribute("action"),i=await e.request({url:`/wp-admin/${s}`,method:"POST",body:{import:t}}),a=DOM(i).querySelector("#wpbody-content form");if(!a)throw console.log(i.text),new Error("Could not find an importer form in response. See the response text above for details.");const c=getFormData(a);c.fetch_attachments="1";for(const d in c)if(d.startsWith("user_map[")){c["user_new["+d.slice(9,-1)+"]"]="1"}const l=await e.request({url:a.action,method:"POST",body:c});if(!l.text.includes("All done."))throw console.warn("WordPress response was: ",{text:l.text,errors:l.errors}),new Error("Import failed, see console for details.")};function DOM(e){return(new DOMParser).parseFromString(e.text,"text/html")}function getFormData(e){return Object.fromEntries(new FormData(e).entries())}const zipFunctions="<?php\n\nfunction zipDir($root, $output, $options = array())\n{\n $root = rtrim($root, '/');\n $additionalPaths = array_key_exists('additional_paths', $options) ? $options['additional_paths'] : array();\n $excludePaths = array_key_exists('exclude_paths', $options) ? $options['exclude_paths'] : array();\n $zip_root = array_key_exists('zip_root', $options) ? $options['zip_root'] : $root;\n\n $zip = new ZipArchive;\n $res = $zip->open($output, ZipArchive::CREATE);\n if ($res === TRUE) {\n $directories = array(\n $root . '/'\n );\n while (sizeof($directories)) {\n $current_dir = array_pop($directories);\n\n if ($handle = opendir($current_dir)) {\n while (false !== ($entry = readdir($handle))) {\n if ($entry == '.' || $entry == '..') {\n continue;\n }\n\n $entry = join_paths($current_dir, $entry);\n if (in_array($entry, $excludePaths)) {\n continue;\n }\n\n if (is_dir($entry)) {\n $directory_path = $entry . '/';\n array_push($directories, $directory_path);\n } else if (is_file($entry)) {\n $zip->addFile($entry, substr($entry, strlen($zip_root)));\n }\n }\n closedir($handle);\n }\n }\n foreach ($additionalPaths as $disk_path => $zip_path) {\n $zip->addFile($disk_path, $zip_path);\n }\n $zip->close();\n chmod($output, 0777);\n }\n}\n\nfunction join_paths()\n{\n $paths = array();\n\n foreach (func_get_args() as $arg) {\n if ($arg !== '') {\n $paths[] = $arg;\n }\n }\n\n return preg_replace('#/+#', '/', join('/', $paths));\n}\n\nfunction unzip($zipPath, $extractTo, $overwrite = true)\n{\n if (!is_dir($extractTo)) {\n mkdir($extractTo, 0777, true);\n }\n $zip = new ZipArchive;\n $res = $zip->open($zipPath);\n if ($res === TRUE) {\n $zip->extractTo($extractTo);\n $zip->close();\n chmod($extractTo, 0777);\n }\n}\n\n\nfunction delTree($dir)\n{\n $files = array_diff(scandir($dir), array('.', '..'));\n foreach ($files as $file) {\n (is_dir(\"$dir/$file\")) ? delTree(\"$dir/$file\") : unlink(\"$dir/$file\");\n }\n return rmdir($dir);\n}\n";async function runPhpWithZipFunctions(e,t){return await e.run({throwOnError:!0,code:zipFunctions+t})}const tmpPath="/tmp/file.zip",unzip=async(e,{zipFile:t,zipPath:r,extractToPath:n})=>{if(r)await e.writeFile(tmpPath,await e.readFileAsBuffer(r)),console.warn('The "zipPath" option of the unzip() Blueprint step is deprecated and will be removed. Use "zipFile" instead.');else{if(!t)throw new Error("Either zipPath or zipFile must be provided");await e.writeFile(tmpPath,new Uint8Array(await t.arrayBuffer()))}const o=phpVars({zipPath:tmpPath,extractToPath:n});await runPhpWithZipFunctions(e,`unzip(${o.zipPath}, ${o.extractToPath});`),e.fileExists(tmpPath)&&await e.unlink(tmpPath)},importWordPressFiles=async(e,{wordPressFilesZip:t,pathInZip:r=""})=>{const n=await e.documentRoot;let o=joinPaths("/tmp","import");await e.mkdir(o),await unzip(e,{zipFile:t,extractToPath:o}),o=joinPaths(o,r);const s=joinPaths(o,"wp-content"),i=joinPaths(n,"wp-content");for(const d of wpContentFilesExcludedFromExport){const t=joinPaths(s,d);await removePath(e,t);const r=joinPaths(i,d);await e.fileExists(r)&&(await e.mkdir(dirname(t)),await e.mv(r,t))}const a=joinPaths(o,"wp-content","database");await e.fileExists(a)||await e.mv(joinPaths(n,"wp-content","database"),a);const c=await e.listFiles(o);for(const d of c)await removePath(e,joinPaths(n,d)),await e.mv(joinPaths(o,d),joinPaths(n,d));await e.rmdir(o),await defineSiteUrl(e,{siteUrl:await e.absoluteUrl});const l=phpVar(joinPaths(n,"wp-admin","upgrade.php"));await e.run({throwOnError:!0,code:`<?php\n $_GET['step'] = 'upgrade_db';\n require ${l};\n `})};async function removePath(e,t){await e.fileExists(t)&&(await e.isDir(t)?await e.rmdir(t):await e.unlink(t))}async function exportWXR(e){const t=await e.request({url:"/wp-admin/export.php?download=true&content=all"});return new File([t.bytes],"export.xml")}async function exportWXZ(e){const t=await e.request({url:"/wp-admin/export.php?download=true&content=all&export_wxz=1"});return new File([t.bytes],"export.wxz")}async function installAsset(e,{targetPath:t,zipFile:r}){const n=r.name.replace(/\.zip$/,""),o=joinPaths(await e.documentRoot,"wp-content"),s=joinPaths(o,randomString()),i=joinPaths(s,"assets",n);await e.fileExists(i)&&await e.rmdir(s,{recursive:!0}),await e.mkdir(s);try{await unzip(e,{zipFile:r,extractToPath:i});let o=await e.listFiles(i,{prependPath:!0});o=o.filter((e=>!e.endsWith("/__MACOSX")));const s=1===o.length&&await e.isDir(o[0]);let a,c="";s?(c=o[0],a=o[0].split("/").pop()):(c=i,a=n);const l=`${t}/${a}`;return await e.mv(c,l),{assetFolderPath:l,assetFolderName:a}}finally{await e.rmdir(s,{recursive:!0})}}function zipNameToHumanName(e){const t=e.split(".").shift().replace(/-/g," ");return t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()}const installPlugin=async(e,{pluginZipFile:t,options:r={}},n)=>{const o=zipNameToHumanName(t.name.split("/").pop()||"plugin.zip");null==n||n.tracker.setCaption(`Installing the ${o} plugin`);const{assetFolderPath:s}=await installAsset(e,{zipFile:t,targetPath:`${await e.documentRoot}/wp-content/plugins`});(!("activate"in r)||r.activate)&&await activatePlugin(e,{pluginPath:s,pluginName:o},n)},installTheme=async(e,{themeZipFile:t,options:r={}},n)=>{const o=zipNameToHumanName(t.name);null==n||n.tracker.setCaption(`Installing the ${o} theme`);const{assetFolderName:s}=await installAsset(e,{zipFile:t,targetPath:`${await e.documentRoot}/wp-content/themes`});(!("activate"in r)||r.activate)&&await activateTheme(e,{themeFolderName:s},n)},runWpInstallationWizard=async(e,{options:t})=>{await e.request({url:"/wp-admin/install.php?step=2",method:"POST",body:{language:"en",prefix:"wp_",weblog_title:"My WordPress Website",user_name:t.adminPassword||"admin",admin_password:t.adminPassword||"password",admin_password2:t.adminPassword||"password",Submit:"Install WordPress",pw_weak:"1",admin_email:"admin@localhost.com"}})},zipWpContent=async(e,{selfContained:t=!1}={})=>{const r="/tmp/wordpress-playground.zip",n=await e.documentRoot,o=joinPaths(n,"wp-content");let s=wpContentFilesExcludedFromExport;t&&(s=s.filter((e=>!e.startsWith("themes/twenty"))).filter((e=>"mu-plugins/sqlite-database-integration"!==e)));const i=phpVars({zipPath:r,wpContentPath:o,documentRoot:n,exceptPaths:s.map((e=>joinPaths(n,"wp-content",e))),additionalPaths:t?{[joinPaths(n,"wp-config.php")]:"wp-config.php"}:{}});await runPhpWithZipFunctions(e,`zipDir(${i.wpContentPath}, ${i.zipPath}, array(\n\t\t\t'exclude_paths' => ${i.exceptPaths},\n\t\t\t'zip_root' => ${i.documentRoot},\n\t\t\t'additional_paths' => ${i.additionalPaths}\n\t\t));`);const a=await e.readFileAsBuffer(r);return e.unlink(r),a},wpCLI$1=async(e,{command:t,wpCliPath:r="/tmp/wp-cli.phar"})=>{if(!await e.fileExists(r))throw new Error(`wp-cli.phar not found at ${r}`);let n;if("string"==typeof t?n=splitShellCommand(t=t.trim()):n=t,"wp"!==n.shift())throw new Error('The first argument must be "wp".');await e.writeFile("/tmp/stdout",""),await e.writeFile("/tmp/stderr",""),await e.writeFile("/wordpress/run-cli.php",`<?php\n\t\t// Set up the environment to emulate a shell script\n\t\t// call.\n\n\t\t// Set SHELL_PIPE to 0 to ensure WP-CLI formats\n\t\t// the output as ASCII tables.\n\t\t// @see https://github.com/wp-cli/wp-cli/issues/1102\n\t\tputenv( 'SHELL_PIPE=0' );\n\n\t\t// Set the argv global.\n\t\t$GLOBALS['argv'] = array_merge([\n\t\t "/tmp/wp-cli.phar",\n\t\t "--path=/wordpress"\n\t\t], ${phpVar(n)});\n\n\t\t// Provide stdin, stdout, stderr streams outside of\n\t\t// the CLI SAPI.\n\t\tdefine('STDIN', fopen('php://stdin', 'rb'));\n\t\tdefine('STDOUT', fopen('php://stdout', 'wb'));\n\t\tdefine('STDERR', fopen('/tmp/stderr', 'wb'));\n\n\t\trequire( ${phpVar(r)} );\n\t\t`);const o=await e.run({scriptPath:"/wordpress/run-cli.php"});if(o.errors)throw new Error(o.errors);return o};function splitShellCommand(e){let t=0,r="";const n=[];let o="";for(let s=0;s<e.length;s++){const i=e[s];0===t?'"'===i||"'"===i?(t=1,r=i):i.match(/\s/)?(o&&n.push(o),o=""):o+=i:1===t&&("\\"===i?(s++,o+=e[s]):i===r?(t=0,r=""):o+=i)}return o&&n.push(o),n}const allStepHandlers=Object.freeze(Object.defineProperty({__proto__:null,activatePlugin:activatePlugin,activateTheme:activateTheme,cp:cp,defineSiteUrl:defineSiteUrl,defineWpConfigConsts:defineWpConfigConsts,enableMultisite:enableMultisite,exportWXR:exportWXR,exportWXZ:exportWXZ,importFile:importFile,importWordPressFiles:importWordPressFiles,installPlugin:installPlugin,installTheme:installTheme,login:login,mkdir:mkdir,mv:mv,request:request,rm:rm,rmdir:rmdir,runPHP:runPHP,runPHPWithOptions:runPHPWithOptions,runSql:runSql,runWpInstallationWizard:runWpInstallationWizard,setPhpIniEntry:setPhpIniEntry,setSiteOptions:setSiteOptions,unzip:unzip,updateUserMeta:updateUserMeta,wpCLI:wpCLI$1,writeFile:writeFile,zipWpContent:zipWpContent},Symbol.toStringTag,{value:"Module"})),FALLBACK_FILE_SIZE=5242880;function cloneResponseMonitorProgress(e,t){const r=e.headers.get("content-length")||"",n=parseInt(r,10)||FALLBACK_FILE_SIZE;function o(e,r){t(new CustomEvent("progress",{detail:{loaded:e,total:r}}))}return new Response(new ReadableStream({async start(t){if(!e.body)return void t.close();const r=e.body.getReader();let s=0;for(;;)try{const{done:e,value:i}=await r.read();if(i&&(s+=i.byteLength),e){o(s,s),t.close();break}o(s,n),t.enqueue(i)}catch(i){console.error({e:i}),t.error(i);break}}}),{status:e.status,statusText:e.statusText,headers:e.headers})}const PROGRESS_EPSILON=1e-5;class ProgressTracker extends EventTarget{constructor({weight:e=1,caption:t="",fillTime:r=4}={}){super(),this._selfWeight=1,this._selfDone=!1,this._selfProgress=0,this._selfCaption="",this._isFilling=!1,this._subTrackers=[],this._weight=e,this._selfCaption=t,this._fillTime=r}stage(e,t=""){if(e||(e=this._selfWeight),this._selfWeight-e<-PROGRESS_EPSILON)throw new Error(`Cannot add a stage with weight ${e} as the total weight of registered stages would exceed 1.`);this._selfWeight-=e;const r=new ProgressTracker({caption:t,weight:e,fillTime:this._fillTime});return this._subTrackers.push(r),r.addEventListener("progress",(()=>this.notifyProgress())),r.addEventListener("done",(()=>{this.done&&this.notifyDone()})),r}fillSlowly({stopBeforeFinishing:e=!0}={}){if(this._isFilling)return;this._isFilling=!0;const t=this._fillTime/100;this._fillInterval=setInterval((()=>{this.set(this._selfProgress+1),e&&this._selfProgress>=99&&clearInterval(this._fillInterval)}),t)}set(e){this._selfProgress=Math.min(e,100),this.notifyProgress(),this._selfProgress+PROGRESS_EPSILON>=100&&this.finish()}finish(){this._fillInterval&&clearInterval(this._fillInterval),this._selfDone=!0,this._selfProgress=100,this._isFilling=!1,this._fillInterval=void 0,this.notifyProgress(),this.notifyDone()}get caption(){for(let e=this._subTrackers.length-1;e>=0;e--)if(!this._subTrackers[e].done){const t=this._subTrackers[e].caption;if(t)return t}return this._selfCaption}setCaption(e){this._selfCaption=e,this.notifyProgress()}get done(){return this.progress+PROGRESS_EPSILON>=100}get progress(){if(this._selfDone)return 100;const e=this._subTrackers.reduce(((e,t)=>e+t.progress*t.weight),this._selfProgress*this._selfWeight);return Math.round(1e4*e)/1e4}get weight(){return this._weight}get observer(){return this._progressObserver||(this._progressObserver=e=>{this.set(e)}),this._progressObserver}get loadingListener(){return this._loadingListener||(this._loadingListener=e=>{this.set(e.detail.loaded/e.detail.total*100)}),this._loadingListener}pipe(e){e.setProgress({progress:this.progress,caption:this.caption}),this.addEventListener("progress",(t=>{e.setProgress({progress:t.detail.progress,caption:t.detail.caption})})),this.addEventListener("done",(()=>{e.setLoaded()}))}addEventListener(e,t){super.addEventListener(e,t)}removeEventListener(e,t){super.removeEventListener(e,t)}notifyProgress(){const e=this;this.dispatchEvent(new CustomEvent("progress",{detail:{get progress(){return e.progress},get caption(){return e.caption}}}))}notifyDone(){this.dispatchEvent(new CustomEvent("done"))}}const kError=Symbol("error"),kMessage=Symbol("message");class ErrorEvent2 extends Event{constructor(e,t={}){super(e),this[kError]=void 0===t.error?null:t.error,this[kMessage]=void 0===t.message?"":t.message}get error(){return this[kError]}get message(){return this[kMessage]}}Object.defineProperty(ErrorEvent2.prototype,"error",{enumerable:!0}),Object.defineProperty(ErrorEvent2.prototype,"message",{enumerable:!0});const ErrorEvent="function"==typeof globalThis.ErrorEvent?globalThis.ErrorEvent:ErrorEvent2;function isExitCodeZero(e){return e instanceof Error&&("exitCode"in e&&0===(null==e?void 0:e.exitCode)||"ExitStatus"===(null==e?void 0:e.name)&&"status"in e&&0===e.status)}class UnhandledRejectionsTarget extends EventTarget{constructor(){super(...arguments),this.listenersCount=0}addEventListener(e,t){++this.listenersCount,super.addEventListener(e,t)}removeEventListener(e,t){--this.listenersCount,super.removeEventListener(e,t)}hasListeners(){return this.listenersCount>0}}function improveWASMErrorReporting(e){e.asm={...e.asm};const t=new UnhandledRejectionsTarget;for(const r in e.asm)if("function"==typeof e.asm[r]){const n=e.asm[r];e.asm[r]=function(...r){var o;try{return n(...r)}catch(s){if(!(s instanceof Error))throw s;const r=clarifyErrorMessage(s,null==(o=e.lastAsyncifyStackSource)?void 0:o.stack);if(e.lastAsyncifyStackSource&&(s.cause=e.lastAsyncifyStackSource),t.hasListeners())return void t.dispatchEvent(new ErrorEvent("error",{error:s,message:r}));throw isExitCodeZero(s)||showCriticalErrorBox(r),s}}}return t}let functionsMaybeMissingFromAsyncify=[];function getFunctionsMaybeMissingFromAsyncify(){return functionsMaybeMissingFromAsyncify}function clarifyErrorMessage(e,t){if("unreachable"===e.message){let r=UNREACHABLE_ERROR;t||(r+="\n\nThis stack trace is lacking. For a better one initialize \nthe PHP runtime with { debug: true }, e.g. PHPNode.load('8.1', { debug: true }).\n\n"),functionsMaybeMissingFromAsyncify=extractPHPFunctionsFromStack(t||e.stack||"");for(const e of functionsMaybeMissingFromAsyncify)r+=` * ${e}\n`;return r}return e.message}const UNREACHABLE_ERROR="\n\"unreachable\" WASM instruction executed.\n\nThe typical reason is a PHP function missing from the ASYNCIFY_ONLY\nlist when building PHP.wasm.\n\nYou will need to file a new issue in the WordPress Playground repository\nand paste this error message there:\n\nhttps://github.com/WordPress/wordpress-playground/issues/new\n\nIf you're a core developer, the typical fix is to:\n\n* Isolate a minimal reproduction of the error\n* Add a reproduction of the error to php-asyncify.spec.ts in the WordPress Playground repository\n* Run 'npm run fix-asyncify'\n* Commit the changes, push to the repo, release updated NPM packages\n\nBelow is a list of all the PHP functions found in the stack trace to\nhelp with the minimal reproduction. If they're all already listed in\nthe Dockerfile, you'll need to trigger this error again with long stack\ntraces enabled. In node.js, you can do it using the --stack-trace-limit=100\nCLI option: \n\n",redBg="\x1b[41m",bold="\x1b[1m",reset="\x1b[0m",eol="\x1b[K";let logged=!1;function showCriticalErrorBox(e){if(!logged&&(logged=!0,null==e||!e.trim().startsWith("Program terminated with exit"))){console.log(`${redBg}\n${eol}\n${bold} WASM ERROR${reset}${redBg}`);for(const t of e.split("\n"))console.log(`${eol} ${t} `);console.log(`${reset}`)}}function extractPHPFunctionsFromStack(e){try{const t=e.split("\n").slice(1).map((e=>{const t=e.trim().substring(3).split(" ");return{fn:t.length>=2?t[0]:"<unknown>",isWasm:e.includes("wasm://")}})).filter((({fn:e,isWasm:t})=>t&&!e.startsWith("dynCall_")&&!e.startsWith("invoke_"))).map((({fn:e})=>e));return Array.from(new Set(t))}catch{return[]}}ReadableStream.prototype[Symbol.asyncIterator]||(ReadableStream.prototype[Symbol.asyncIterator]=async function*(){const e=this.getReader();try{for(;;){const{done:t,value:r}=await e.read();if(t)return;yield r}}finally{e.releaseLock()}},ReadableStream.prototype.iterate=ReadableStream.prototype[Symbol.asyncIterator]);class PHPResponse{constructor(e,t,r,n="",o=0){this.httpStatusCode=e,this.headers=t,this.bytes=r,this.exitCode=o,this.errors=n}static fromRawData(e){return new PHPResponse(e.httpStatusCode,e.headers,e.bytes,e.errors,e.exitCode)}toRawData(){return{headers:this.headers,bytes:this.bytes,errors:this.errors,exitCode:this.exitCode,httpStatusCode:this.httpStatusCode}}get json(){return JSON.parse(this.text)}get text(){return(new TextDecoder).decode(this.bytes)}}const SupportedPHPVersions=["8.3","8.2","8.1","8.0","7.4","7.3","7.2","7.1","7.0"],LatestSupportedPHPVersion=SupportedPHPVersions[0],SupportedPHPVersionsList=SupportedPHPVersions,SupportedPHPExtensionsList=["iconv","mbstring","xml-bundle","gd"],SupportedPHPExtensionBundles={"kitchen-sink":SupportedPHPExtensionsList};var Ae,Ge;class PHPBrowser{constructor(e,t={}){Q(this,Ae,void 0),Q(this,Ge,void 0),this.requestHandler=e,te(this,Ae,{}),te(this,Ge,{handleRedirects:!1,maxRedirects:4,...t})}async request(e,t=0){const r=await this.requestHandler.request({...e,headers:{...e.headers,cookie:this.serializeCookies()}});if(r.headers["set-cookie"]&&this.setCookies(r.headers["set-cookie"]),H(this,Ge).handleRedirects&&r.headers.location&&t<H(this,Ge).maxRedirects){const e=new URL(r.headers.location[0],this.requestHandler.absoluteUrl);return this.request({url:e.toString(),method:"GET",headers:{}},t+1)}return r}pathToInternalUrl(e){return this.requestHandler.pathToInternalUrl(e)}internalUrlToPath(e){return this.requestHandler.internalUrlToPath(e)}get absoluteUrl(){return this.requestHandler.absoluteUrl}get documentRoot(){return this.requestHandler.documentRoot}setCookies(e){for(const r of e)try{if(!r.includes("="))continue;const e=r.indexOf("="),t=r.substring(0,e),n=r.substring(e+1).split(";")[0];H(this,Ae)[t]=n}catch(t){console.error(t)}}serializeCookies(){const e=[];for(const t in H(this,Ae))e.push(`${t}=${H(this,Ae)[t]}`);return e.join("; ")}}Ae=new WeakMap,Ge=new WeakMap;const DEFAULT_BASE_URL="http://example.com";function toRelativeUrl(e){return e.toString().substring(e.origin.length)}function removePathPrefix(e,t){return t&&e.startsWith(t)?e.substring(t.length):e}function ensurePathPrefix(e,t){return!t||e.startsWith(t)?e:t+e}async function encodeAsMultipart(e){const t=`----${Math.random().toString(36).slice(2)}`,r=`multipart/form-data; boundary=${t}`,n=new TextEncoder,o=[];for(const[c,l]of Object.entries(e))o.push(`--${t}\r\n`),o.push(`Content-Disposition: form-data; name="${c}"`),l instanceof File&&o.push(`; filename="${l.name}"`),o.push("\r\n"),l instanceof File&&(o.push("Content-Type: application/octet-stream"),o.push("\r\n")),o.push("\r\n"),l instanceof File?o.push(await fileToUint8Array(l)):o.push(l),o.push("\r\n");o.push(`--${t}--\r\n`);const s=o.reduce(((e,t)=>e+t.length),0),i=new Uint8Array(s);let a=0;for(const c of o)i.set("string"==typeof c?n.encode(c):c,a),a+=c.length;return{bytes:i,contentType:r}}function fileToUint8Array(e){return new Promise((t=>{const r=new FileReader;r.onload=()=>{t(new Uint8Array(r.result))},r.readAsArrayBuffer(e)}))}var Pe,Ke,dt,De,Je,ve,Qe,Fe,mt,zt,_t,Wt,gt,Bt;class PHPRequestHandler{constructor(e,t={}){Q(this,mt),Q(this,_t),Q(this,gt),Q(this,Pe,void 0),Q(this,Ke,void 0),Q(this,dt,void 0),Q(this,De,void 0),Q(this,Je,void 0),Q(this,ve,void 0),Q(this,Qe,void 0),Q(this,Fe,void 0),te(this,Fe,new Semaphore({concurrency:1}));const{documentRoot:r="/www/",absoluteUrl:n=("object"==typeof location?null==location?void 0:location.href:"")}=t;this.php=e,te(this,Pe,r);const o=new URL(n);te(this,dt,o.hostname),te(this,De,o.port?Number(o.port):"https:"===o.protocol?443:80),te(this,Ke,(o.protocol||"").replace(":",""));const s=443!==H(this,De)&&80!==H(this,De);te(this,Je,[H(this,dt),s?`:${H(this,De)}`:""].join("")),te(this,ve,o.pathname.replace(/\/+$/,"")),te(this,Qe,[`${H(this,Ke)}://`,H(this,Je),H(this,ve)].join(""))}pathToInternalUrl(e){return`${this.absoluteUrl}${e}`}internalUrlToPath(e){const t=new URL(e);return t.pathname.startsWith(H(this,ve))&&(t.pathname=t.pathname.slice(H(this,ve).length)),toRelativeUrl(t)}get isRequestRunning(){return H(this,Fe).running>0}get absoluteUrl(){return H(this,Qe)}get documentRoot(){return H(this,Pe)}async request(e){const t=e.url.startsWith("http://")||e.url.startsWith("https://"),r=new URL(e.url,t?void 0:DEFAULT_BASE_URL),n=removePathPrefix(r.pathname,H(this,ve)),o=`${H(this,Pe)}${n}`;return seemsLikeAPHPRequestHandlerPath(o)?await ce(this,_t,Wt).call(this,e,r):ce(this,mt,zt).call(this,o)}}function inferMimeType(e){switch(e.split(".").pop()){case"css":return"text/css";case"js":return"application/javascript";case"png":return"image/png";case"jpg":case"jpeg":return"image/jpeg";case"gif":return"image/gif";case"svg":return"image/svg+xml";case"woff":return"font/woff";case"woff2":return"font/woff2";case"ttf":return"font/ttf";case"otf":return"font/otf";case"eot":return"font/eot";case"ico":return"image/x-icon";case"html":return"text/html";case"json":return"application/json";case"xml":return"application/xml";case"txt":case"md":return"text/plain";default:return"application-octet-stream"}}function seemsLikeAPHPRequestHandlerPath(e){return seemsLikeAPHPFile(e)||seemsLikeADirectoryRoot(e)}function seemsLikeAPHPFile(e){return e.endsWith(".php")||e.includes(".php/")}function seemsLikeADirectoryRoot(e){return!e.split("/").pop().includes(".")}Pe=new WeakMap,Ke=new WeakMap,dt=new WeakMap,De=new WeakMap,Je=new WeakMap,ve=new WeakMap,Qe=new WeakMap,Fe=new WeakMap,mt=new WeakSet,zt=function(e){if(!this.php.fileExists(e))return new PHPResponse(404,{"x-file-type":["static"]},(new TextEncoder).encode("404 File not found"));const t=this.php.readFileAsBuffer(e);return new PHPResponse(200,{"content-length":[`${t.byteLength}`],"content-type":[inferMimeType(e)],"accept-ranges":["bytes"],"cache-control":["public, max-age=0"]},t)},_t=new WeakSet,Wt=async function(e,t){var r,n;if(H(this,Fe).running>0&&"php"===(null==(r=e.headers)?void 0:r["x-request-issuer"]))return console.warn("Possible deadlock: Called request() before the previous request() have finished. PHP likely issued an HTTP call to itself. Normally this would lead to infinite waiting as Request 1 holds the lock that the Request 2 is waiting to acquire. That's not useful, so PHPRequestHandler will return error 502 instead."),new PHPResponse(502,{},(new TextEncoder).encode("502 Bad Gateway"));const o=await H(this,Fe).acquire();try{this.php.addServerGlobalEntry("REMOTE_ADDR","127.0.0.1"),this.php.addServerGlobalEntry("DOCUMENT_ROOT",H(this,Pe)),this.php.addServerGlobalEntry("HTTPS",H(this,Qe).startsWith("https://")?"on":"");let r="GET";const o={host:H(this,Je),...normalizeHeaders(e.headers||{})};let s,i=e.body;if("object"==typeof i&&!(i instanceof Uint8Array)){r="POST";const{bytes:e,contentType:t}=await encodeAsMultipart(i);i=e,o["content-type"]=t}try{let r=t.pathname;if(null!=(n=e.headers)&&n["x-rewrite-url"])try{r=new URL(e.headers["x-rewrite-url"]).pathname}catch{}s=ce(this,gt,Bt).call(this,r)}catch{return new PHPResponse(404,{},(new TextEncoder).encode("404 File not found"))}return await this.php.run({relativeUri:ensurePathPrefix(toRelativeUrl(t),H(this,ve)),protocol:H(this,Ke),method:e.method||r,body:i,scriptPath:s,headers:o})}finally{o()}},gt=new WeakSet,Bt=function(e){let t=removePathPrefix(e,H(this,ve));t.includes(".php")?t=t.split(".php")[0]+".php":this.php.isDir(`${H(this,Pe)}${t}`)?(t.endsWith("/")||(t=`${t}/`),t=`${t}index.php`):t="/index.php";const r=`${H(this,Pe)}${t}`;if(this.php.fileExists(r))return r;throw new Error(`File not found: ${r}`)};const FileErrorCodes={0:"No error occurred. System call completed successfully.",1:"Argument list too long.",2:"Permission denied.",3:"Address in use.",4:"Address not available.",5:"Address family not supported.",6:"Resource unavailable, or operation would block.",7:"Connection already in progress.",8:"Bad file descriptor.",9:"Bad message.",10:"Device or resource busy.",11:"Operation canceled.",12:"No child processes.",13:"Connection aborted.",14:"Connection refused.",15:"Connection reset.",16:"Resource deadlock would occur.",17:"Destination address required.",18:"Mathematics argument out of domain of function.",19:"Reserved.",20:"File exists.",21:"Bad address.",22:"File too large.",23:"Host is unreachable.",24:"Identifier removed.",25:"Illegal byte sequence.",26:"Operation in progress.",27:"Interrupted function.",28:"Invalid argument.",29:"I/O error.",30:"Socket is connected.",31:"There is a directory under that path.",32:"Too many levels of symbolic links.",33:"File descriptor value too large.",34:"Too many links.",35:"Message too large.",36:"Reserved.",37:"Filename too long.",38:"Network is down.",39:"Connection aborted by network.",40:"Network unreachable.",41:"Too many files open in system.",42:"No buffer space available.",43:"No such device.",44:"There is no such file or directory OR the parent directory does not exist.",45:"Executable file format error.",46:"No locks available.",47:"Reserved.",48:"Not enough space.",49:"No message of the desired type.",50:"Protocol not available.",51:"No space left on device.",52:"Function not supported.",53:"The socket is not connected.",54:"Not a directory or a symbolic link to a directory.",55:"Directory not empty.",56:"State not recoverable.",57:"Not a socket.",58:"Not supported, or operation not supported on socket.",59:"Inappropriate I/O control operation.",60:"No such device or address.",61:"Value too large to be stored in data type.",62:"Previous owner died.",63:"Operation not permitted.",64:"Broken pipe.",65:"Protocol error.",66:"Protocol not supported.",67:"Protocol wrong type for socket.",68:"Result too large.",69:"Read-only file system.",70:"Invalid seek.",71:"No such process.",72:"Reserved.",73:"Connection timed out.",74:"Text file busy.",75:"Cross-device link.",76:"Extension: Capabilities insufficient."};function getEmscriptenFsError(e){const t="object"==typeof e?null==e?void 0:e.errno:null;if(t in FileErrorCodes)return FileErrorCodes[t]}function rethrowFileSystemError(e=""){return function(t,r,n){const o=n.value;n.value=function(...t){try{return o.apply(this,t)}catch(r){const n="object"==typeof r?null==r?void 0:r.errno:null;if(n in FileErrorCodes){const o=FileErrorCodes[n],s="string"==typeof t[0]?t[0]:null,i=null!==s?e.replaceAll("{path}",s):e;throw new Error(`${i}: ${o}`,{cause:r})}throw r}}}}const loadedRuntimes=new Map;function getLoadedRuntime(e){return loadedRuntimes.get(e)}!function(){var e;typeof process<"u"&&"node"===(null==(e=process.release)?void 0:e.name)||(typeof window<"u"||typeof WorkerGlobalScope<"u"&&(self,WorkerGlobalScope))}();var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__decorateClass=(e,t,r,n)=>{for(var o,s=n>1?void 0:n?__getOwnPropDesc(t,r):t,i=e.length-1;i>=0;i--)(o=e[i])&&(s=(n?o(t,r,s):o(s))||s);return n&&s&&__defProp(t,r,s),s};const STRING="string",NUMBER="number",__private__dont__use=Symbol("__private__dont__use");var Me,Ze,Ye,Ee,Re,Te,be,Xe,$t,Gt,yt,Kt,vt,Jt,wt,Qt,Pt,Zt,Et,Yt,bt,Xt,St,er,Rt,tr,Tt,rr,kt,nr,Ct,sr;class BasePHP{constructor(e,t){Q(this,$t),Q(this,yt),Q(this,vt),Q(this,wt),Q(this,Pt),Q(this,Et),Q(this,bt),Q(this,St),Q(this,Rt),Q(this,Tt),Q(this,kt),Q(this,Ct),Q(this,Me,void 0),Q(this,Ze,void 0),Q(this,Ye,void 0),Q(this,Ee,void 0),Q(this,Re,void 0),Q(this,Te,void 0),Q(this,be,void 0),Q(this,Xe,void 0),te(this,Me,[]),te(this,Ee,!1),te(this,Re,null),te(this,Te,{}),te(this,be,new Map),te(this,Xe,[]),this.semaphore=new Semaphore({concurrency:1}),void 0!==e&&this.initializeRuntime(e),t&&(this.requestHandler=new PHPBrowser(new PHPRequestHandler(this,t)))}addEventListener(e,t){H(this,be).has(e)||H(this,be).set(e,new Set),H(this,be).get(e).add(t)}removeEventListener(e,t){var r;null==(r=H(this,be).get(e))||r.delete(t)}dispatchEvent(e){const t=H(this,be).get(e.type);if(t)for(const r of t)r(e)}async onMessage(e){H(this,Xe).push(e)}async setSpawnHandler(handler){"string"==typeof handler&&(handler=createSpawnHandler(eval(handler))),this[__private__dont__use].spawnProcess=handler}get absoluteUrl(){return this.requestHandler.requestHandler.absoluteUrl}get documentRoot(){return this.requestHandler.requestHandler.documentRoot}pathToInternalUrl(e){return this.requestHandler.requestHandler.pathToInternalUrl(e)}internalUrlToPath(e){return this.requestHandler.requestHandler.internalUrlToPath(e)}initializeRuntime(e){if(this[__private__dont__use])throw new Error("PHP runtime already initialized.");const t=getLoadedRuntime(e);if(!t)throw new Error("Invalid PHP runtime id.");this[__private__dont__use]=t,t.onMessage=async e=>{for(const t of H(this,Xe)){const r=await t(e);if(r)return r}return""},te(this,Re,improveWASMErrorReporting(t)),this.dispatchEvent({type:"runtime.initialized"})}async setSapiName(e){if(0!==this[__private__dont__use].ccall("wasm_set_sapi_name",NUMBER,[STRING],[e]))throw new Error("Could not set SAPI name. This can only be done before the PHP WASM module is initialized.Did you already dispatch any requests?");te(this,Ye,e)}setPhpIniPath(e){if(H(this,Ee))throw new Error("Cannot set PHP ini path after calling run().");te(this,Ze,e),this[__private__dont__use].ccall("wasm_set_phpini_path",null,["string"],[e])}setPhpIniEntry(e,t){if(H(this,Ee))throw new Error("Cannot set PHP ini entries after calling run().");H(this,Me).push([e,t])}chdir(e){this[__private__dont__use].FS.chdir(e)}async request(e,t){if(!this.requestHandler)throw new Error("No request handler available.");return this.requestHandler.request(e,t)}async run(e){const t=await this.semaphore.acquire();let r;try{if(H(this,Ee)||(ce(this,$t,Gt).call(this),te(this,Ee,!0)),e.scriptPath&&!this.fileExists(e.scriptPath))throw new Error(`The script path "${e.scriptPath}" does not exist.`);ce(this,St,er).call(this,e.scriptPath||""),ce(this,vt,Jt).call(this,e.relativeUri||""),ce(this,Pt,Zt).call(this,e.method||"GET");const t=normalizeHeaders(e.headers||{}),n=t.host||"example.com:443";ce(this,wt,Qt).call(this,n,e.protocol||"http"),ce(this,Et,Yt).call(this,t),e.body&&(r=ce(this,bt,Xt).call(this,e.body)),"string"==typeof e.code&&ce(this,kt,nr).call(this," ?>"+e.code),ce(this,Rt,tr).call(this);const o=e.env||{};for(const e in o)ce(this,Tt,rr).call(this,e,o[e]);const s=await ce(this,Ct,sr).call(this);if(e.throwOnError&&0!==s.exitCode){const e={stdout:s.text,stderr:s.errors};console.warn("PHP.run() output was:",e);const t=new Error(`PHP.run() failed with exit code ${s.exitCode} and the following output: `+s.errors);throw t.output=e,console.error(t),t}return s}finally{try{r&&this[__private__dont__use].free(r)}finally{t(),this.dispatchEvent({type:"request.end"})}}}addServerGlobalEntry(e,t){H(this,Te)[e]=t}defineConstant(e,t){let r={};try{r=JSON.parse(this.fileExists("/internal/consts.json")&&this.readFileAsText("/internal/consts.json")||"{}")}catch{}this.writeFile("/internal/consts.json",JSON.stringify({...r,[e]:t}))}mkdir(e){this[__private__dont__use].FS.mkdirTree(e)}mkdirTree(e){this.mkdir(e)}readFileAsText(e){return(new TextDecoder).decode(this.readFileAsBuffer(e))}readFileAsBuffer(e){return this[__private__dont__use].FS.readFile(e)}writeFile(e,t){this[__private__dont__use].FS.writeFile(e,t)}unlink(e){this[__private__dont__use].FS.unlink(e)}mv(e,t){try{this[__private__dont__use].FS.rename(e,t)}catch(r){const n=getEmscriptenFsError(r);throw n?new Error(`Could not move ${e} to ${t}: ${n}`,{cause:r}):r}}rmdir(e,t={recursive:!0}){null!=t&&t.recursive&&this.listFiles(e).forEach((r=>{const n=`${e}/${r}`;this.isDir(n)?this.rmdir(n,t):this.unlink(n)})),this[__private__dont__use].FS.rmdir(e)}listFiles(e,t={prependPath:!1}){if(!this.fileExists(e))return[];try{const r=this[__private__dont__use].FS.readdir(e).filter((e=>"."!==e&&".."!==e));if(t.prependPath){const t=e.replace(/\/$/,"");return r.map((e=>`${t}/${e}`))}return r}catch(r){return console.error(r,{path:e}),[]}}isDir(e){return!!this.fileExists(e)&&this[__private__dont__use].FS.isDir(this[__private__dont__use].FS.lookupPath(e).node.mode)}fileExists(e){try{return this[__private__dont__use].FS.lookupPath(e),!0}catch{return!1}}hotSwapPHPRuntime(e){const t=this[__private__dont__use].FS;try{this.exit()}catch{}if(this.initializeRuntime(e),H(this,Ze)&&this.setPhpIniPath(H(this,Ze)),H(this,Ye)&&this.setSapiName(H(this,Ye)),this.requestHandler){const e=this.documentRoot;copyFS(t,this[__private__dont__use].FS,e)}}exit(e=0){this.dispatchEvent({type:"runtime.beforedestroy"});try{this[__private__dont__use]._exit(e)}catch{}te(this,Ee,!1),te(this,Re,null),delete this[__private__dont__use].onMessage,delete this[__private__dont__use]}}function normalizeHeaders(e){const t={};for(const r in e)t[r.toLowerCase()]=e[r];return t}function copyFS(e,t,r){let n;try{n=e.lookupPath(r)}catch{return}if(!("contents"in n.node))return;if(!e.isDir(n.node.mode))return void t.writeFile(r,e.readFile(r));t.mkdirTree(r);const o=e.readdir(r).filter((e=>"."!==e&&".."!==e));for(const s of o)copyFS(e,t,joinPaths(r,s))}Me=new WeakMap,Ze=new WeakMap,Ye=new WeakMap,Ee=new WeakMap,Re=new WeakMap,Te=new WeakMap,be=new WeakMap,Xe=new WeakMap,$t=new WeakSet,Gt=function(){if(this.setPhpIniEntry("auto_prepend_file","/internal/consts.php"),this.fileExists("/internal/consts.php")||this.writeFile("/internal/consts.php","<?php\n\t\t\t\tif(file_exists('/internal/consts.json')) {\n\t\t\t\t\t$consts = json_decode(file_get_contents('/internal/consts.json'), true);\n\t\t\t\t\tforeach ($consts as $const => $value) {\n\t\t\t\t\t\tif (!defined($const) && is_scalar($value)) {\n\t\t\t\t\t\t\tdefine($const, $value);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}"),H(this,Me).length>0){const e=H(this,Me).map((([e,t])=>`${e}=${t}`)).join("\n")+"\n\n";this[__private__dont__use].ccall("wasm_set_phpini_entries",null,[STRING],[e])}this[__private__dont__use].ccall("php_wasm_init",null,[],[])},yt=new WeakSet,Kt=function(){const e="/internal/headers.json";if(!this.fileExists(e))throw new Error("SAPI Error: Could not find response headers file.");const t=JSON.parse(this.readFileAsText(e)),r={};for(const n of t.headers){if(!n.includes(": "))continue;const e=n.indexOf(": "),t=n.substring(0,e).toLowerCase(),o=n.substring(e+2);t in r||(r[t]=[]),r[t].push(o)}return{headers:r,httpStatusCode:t.status}},vt=new WeakSet,Jt=function(e){if(this[__private__dont__use].ccall("wasm_set_request_uri",null,[STRING],[e]),e.includes("?")){const t=e.substring(e.indexOf("?")+1);this[__private__dont__use].ccall("wasm_set_query_string",null,[STRING],[t])}},wt=new WeakSet,Qt=function(e,t){let r;this[__private__dont__use].ccall("wasm_set_request_host",null,[STRING],[e]);try{r=parseInt(new URL(e).port,10)}catch{}(!r||isNaN(r)||80===r)&&(r="https"===t?443:80),this[__private__dont__use].ccall("wasm_set_request_port",null,[NUMBER],[r]),("https"===t||!t&&443===r)&&this.addServerGlobalEntry("HTTPS","on")},Pt=new WeakSet,Zt=function(e){this[__private__dont__use].ccall("wasm_set_request_method",null,[STRING],[e])},Et=new WeakSet,Yt=function(e){e.cookie&&this[__private__dont__use].ccall("wasm_set_cookies",null,[STRING],[e.cookie]),e["content-type"]&&this[__private__dont__use].ccall("wasm_set_content_type",null,[STRING],[e["content-type"]]),e["content-length"]&&this[__private__dont__use].ccall("wasm_set_content_length",null,[NUMBER],[parseInt(e["content-length"],10)]);for(const t in e){let r="HTTP_";["content-type","content-length"].includes(t.toLowerCase())&&(r=""),this.addServerGlobalEntry(`${r}${t.toUpperCase().replace(/-/g,"_")}`,e[t])}},bt=new WeakSet,Xt=function(e){let t,r;"string"==typeof e?(console.warn("Passing a string as the request body is deprecated. Please use a Uint8Array instead. See https://github.com/WordPress/wordpress-playground/issues/997 for more details"),r=this[__private__dont__use].lengthBytesUTF8(e),t=r+1):(r=e.byteLength,t=e.byteLength);const n=this[__private__dont__use].malloc(t);if(!n)throw new Error("Could not allocate memory for the request body.");return"string"==typeof e?this[__private__dont__use].stringToUTF8(e,n,t+1):this[__private__dont__use].HEAPU8.set(e,n),this[__private__dont__use].ccall("wasm_set_request_body",null,[NUMBER],[n]),this[__private__dont__use].ccall("wasm_set_content_length",null,[NUMBER],[r]),n},St=new WeakSet,er=function(e){this[__private__dont__use].ccall("wasm_set_path_translated",null,[STRING],[e])},Rt=new WeakSet,tr=function(){for(const e in H(this,Te))this[__private__dont__use].ccall("wasm_add_SERVER_entry",null,[STRING,STRING],[e,H(this,Te)[e]])},Tt=new WeakSet,rr=function(e,t){this[__private__dont__use].ccall("wasm_add_ENV_entry",null,[STRING,STRING],[e,t])},kt=new WeakSet,nr=function(e){this[__private__dont__use].ccall("wasm_set_php_code",null,[STRING],[e])},Ct=new WeakSet,sr=async function(){var e;let t,r;try{t=await new Promise(((e,t)=>{var n;r=e=>{console.error(e),console.error(e.error);const r=new Error("Rethrown");r.cause=e.error,r.betterMessage=e.message,t(r)},null==(n=H(this,Re))||n.addEventListener("error",r);const o=this[__private__dont__use].ccall("wasm_sapi_handle_request",NUMBER,[],[],{async:!0});return o instanceof Promise?o.then(e,t):e(o)}))}catch(s){for(const n in this)"function"==typeof this[n]&&(this[n]=()=>{throw new Error("PHP runtime has crashed \u2013 see the earlier error for details.")});this.functionsMaybeMissingFromAsyncify=getFunctionsMaybeMissingFromAsyncify();const e=s,t="betterMessage"in e?e.betterMessage:e.message,r=new Error(t);throw r.cause=e,console.error(r),r}finally{null==(e=H(this,Re))||e.removeEventListener("error",r),te(this,Te,{})}const{headers:n,httpStatusCode:o}=ce(this,yt,Kt).call(this);return new PHPResponse(o,n,this.readFileAsBuffer("/internal/stdout"),this.readFileAsText("/internal/stderr"),t)},__decorateClass([rethrowFileSystemError('Could not create directory "{path}"')],BasePHP.prototype,"mkdir",1),__decorateClass([rethrowFileSystemError('Could not create directory "{path}"')],BasePHP.prototype,"mkdirTree",1),__decorateClass([rethrowFileSystemError('Could not read "{path}"')],BasePHP.prototype,"readFileAsText",1),__decorateClass([rethrowFileSystemError('Could not read "{path}"')],BasePHP.prototype,"readFileAsBuffer",1),__decorateClass([rethrowFileSystemError('Could not write to "{path}"')],BasePHP.prototype,"writeFile",1),__decorateClass([rethrowFileSystemError('Could not unlink "{path}"')],BasePHP.prototype,"unlink",1),__decorateClass([rethrowFileSystemError('Could not remove directory "{path}"')],BasePHP.prototype,"rmdir",1),__decorateClass([rethrowFileSystemError('Could not list files in "{path}"')],BasePHP.prototype,"listFiles",1),__decorateClass([rethrowFileSystemError('Could not stat "{path}"')],BasePHP.prototype,"isDir",1),__decorateClass([rethrowFileSystemError('Could not stat "{path}"')],BasePHP.prototype,"fileExists",1);const ResourceTypes=["vfs","literal","wordpress.org/themes","wordpress.org/plugins","url"];function isFileReference(e){return e&&"object"==typeof e&&"string"==typeof e.resource&&ResourceTypes.includes(e.resource)}class Resource{static create(e,{semaphore:t,progress:r}){let n;switch(e.resource){case"vfs":n=new VFSResource(e,r);break;case"literal":n=new LiteralResource(e,r);break;case"wordpress.org/themes":n=new CoreThemeResource(e,r);break;case"wordpress.org/plugins":n=new CorePluginResource(e,r);break;case"url":n=new UrlResource(e,r);break;default:throw new Error(`Invalid resource: ${e}`)}return n=new CachedResource(n),t&&(n=new SemaphoreResource(n,t)),n}setPlayground(e){this.playground=e}get isAsync(){return!1}}class VFSResource extends Resource{constructor(e,t){super(),this.resource=e,this.progress=t}async resolve(){var e;const t=await this.playground.readFileAsBuffer(this.resource.path);return null==(e=this.progress)||e.set(100),new File([t],this.name)}get name(){return this.resource.path.split("/").pop()||""}}class LiteralResource extends Resource{constructor(e,t){super(),this.resource=e,this.progress=t}async resolve(){var e;return null==(e=this.progress)||e.set(100),new File([this.resource.contents],this.resource.name)}get name(){return this.resource.name}}class FetchResource extends Resource{constructor(e){super(),this.progress=e}async resolve(){var e,t;null==(e=this.progress)||e.setCaption(this.caption);const r=this.getURL();let n=await fetch(r);if(n=await cloneResponseMonitorProgress(n,(null==(t=this.progress)?void 0:t.loadingListener)??noop),200!==n.status)throw new Error(`Could not download "${r}"`);return new File([await n.blob()],this.name)}get caption(){return`Downloading ${this.name}`}get name(){try{return new URL(this.getURL(),"http://example.com").pathname.split("/").pop()}catch{return this.getURL()}}get isAsync(){return!0}}const noop=()=>{};class UrlResource extends FetchResource{constructor(e,t){super(t),this.resource=e}getURL(){return this.resource.url}get caption(){return this.resource.caption??super.caption}}class CoreThemeResource extends FetchResource{constructor(e,t){super(t),this.resource=e}get name(){return zipNameToHumanName(this.resource.slug)}getURL(){return`https://downloads.wordpress.org/theme/${toDirectoryZipName(this.resource.slug)}`}}class CorePluginResource extends FetchResource{constructor(e,t){super(t),this.resource=e}get name(){return zipNameToHumanName(this.resource.slug)}getURL(){return`https://downloads.wordpress.org/plugin/${toDirectoryZipName(this.resource.slug)}`}}function toDirectoryZipName(e){return!e||e.endsWith(".zip")?e:e+".latest-stable.zip"}class DecoratedResource extends Resource{constructor(e){super(),this.resource=e}async resolve(){return this.resource.resolve()}async setPlayground(e){return this.resource.setPlayground(e)}get progress(){return this.resource.progress}set progress(e){this.resource.progress=e}get name(){return this.resource.name}get isAsync(){return this.resource.isAsync}}class CachedResource extends DecoratedResource{async resolve(){return this.promise||(this.promise=super.resolve()),this.promise}}class SemaphoreResource extends DecoratedResource{constructor(e,t){super(e),this.semaphore=t}async resolve(){return this.isAsync?this.semaphore.run((()=>super.resolve())):super.resolve()}}var commonjsGlobal=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function getDefaultExportFromCjs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ajv$1={exports:{}},core$2={},validate={},boolSchema={},errors={},codegen={},code$1={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.regexpCode=e.getEsmExportName=e.getProperty=e.safeStringify=e.stringify=e.strConcat=e.addCodeArg=e.str=e._=e.nil=e._Code=e.Name=e.IDENTIFIER=e._CodeOrName=void 0;class t{}e._CodeOrName=t,e.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class r extends t{constructor(t){if(super(),!e.IDENTIFIER.test(t))throw new Error("CodeGen: name must be a valid identifier");this.str=t}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}e.Name=r;class n extends t{constructor(e){super(),this._items="string"==typeof e?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;const e=this._items[0];return""===e||'""'===e}get str(){var e;return null!==(e=this._str)&&void 0!==e?e:this._str=this._items.reduce(((e,t)=>`${e}${t}`),"")}get names(){var e;return null!==(e=this._names)&&void 0!==e?e:this._names=this._items.reduce(((e,t)=>(t instanceof r&&(e[t.str]=(e[t.str]||0)+1),e)),{})}}function o(e,...t){const r=[e[0]];let o=0;for(;o<t.length;)a(r,t[o]),r.push(e[++o]);return new n(r)}e._Code=n,e.nil=new n(""),e._=o;const s=new n("+");function i(e,...t){const r=[l(e[0])];let o=0;for(;o<t.length;)r.push(s),a(r,t[o]),r.push(s,l(e[++o]));return function(e){let t=1;for(;t<e.length-1;){if(e[t]===s){const r=c(e[t-1],e[t+1]);if(void 0!==r){e.splice(t-1,3,r);continue}e[t++]="+"}t++}}(r),new n(r)}function a(e,t){t instanceof n?e.push(...t._items):t instanceof r?e.push(t):e.push(function(e){return"number"==typeof e||"boolean"==typeof e||null===e?e:l(Array.isArray(e)?e.join(","):e)}(t))}function c(e,t){return'""'===t?e:'""'===e?t:"string"==typeof e?t instanceof r||'"'!==e[e.length-1]?void 0:"string"!=typeof t?`${e.slice(0,-1)}${t}"`:'"'===t[0]?e.slice(0,-1)+t.slice(1):void 0:"string"!=typeof t||'"'!==t[0]||e instanceof r?void 0:`"${e}${t.slice(1)}`}function l(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}e.str=i,e.addCodeArg=a,e.strConcat=function(e,t){return t.emptyStr()?e:e.emptyStr()?t:i`${e}${t}`},e.stringify=function(e){return new n(l(e))},e.safeStringify=l,e.getProperty=function(t){return"string"==typeof t&&e.IDENTIFIER.test(t)?new n(`.${t}`):o`[${t}]`},e.getEsmExportName=function(t){if("string"==typeof t&&e.IDENTIFIER.test(t))return new n(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)},e.regexpCode=function(e){return new n(e.toString())}}(code$1);var scope={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ValueScope=e.ValueScopeName=e.Scope=e.varKinds=e.UsedValueState=void 0;const t=code$1;class r extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}}var n,o;(o=n=e.UsedValueState||(e.UsedValueState={}))[o.Started=0]="Started",o[o.Completed=1]="Completed",e.varKinds={const:new t.Name("const"),let:new t.Name("let"),var:new t.Name("var")};class s{constructor({prefixes:e,parent:t}={}){this._names={},this._prefixes=e,this._parent=t}toName(e){return e instanceof t.Name?e:this.name(e)}name(e){return new t.Name(this._newName(e))}_newName(e){return`${e}${(this._names[e]||this._nameGroup(e)).index++}`}_nameGroup(e){var t,r;if(null!==(r=null===(t=this._parent)||void 0===t?void 0:t._prefixes)&&void 0!==r&&r.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}}e.Scope=s;class i extends t.Name{constructor(e,t){super(t),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=t._`.${new t.Name(r)}[${n}]`}}e.ValueScopeName=i;const a=t._`\n`;e.ValueScope=class extends s{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?a:t.nil}}get(){return this._scope}name(e){return new i(e,this._newName(e))}value(e,t){var r;if(void 0===t.ref)throw new Error("CodeGen: ref must be passed in value");const n=this.toName(e),{prefix:o}=n,s=null!==(r=t.key)&&void 0!==r?r:t.ref;let i=this._values[o];if(i){const e=i.get(s);if(e)return e}else i=this._values[o]=new Map;i.set(s,n);const a=this._scope[o]||(this._scope[o]=[]),c=a.length;return a[c]=t.ref,n.setValue(t,{property:o,itemIndex:c}),n}getValue(e,t){const r=this._values[e];if(r)return r.get(t)}scopeRefs(e,r=this._values){return this._reduceValues(r,(r=>{if(void 0===r.scopePath)throw new Error(`CodeGen: name "${r}" has no value`);return t._`${e}${r.scopePath}`}))}scopeCode(e=this._values,t,r){return this._reduceValues(e,(e=>{if(void 0===e.value)throw new Error(`CodeGen: name "${e}" has no value`);return e.value.code}),t,r)}_reduceValues(o,s,i={},a){let c=t.nil;for(const l in o){const d=o[l];if(!d)continue;const p=i[l]=i[l]||new Map;d.forEach((o=>{if(p.has(o))return;p.set(o,n.Started);let i=s(o);if(i){const r=this.opts.es5?e.varKinds.var:e.varKinds.const;c=t._`${c}${r} ${o} = ${i};${this.opts._n}`}else{if(!(i=null==a?void 0:a(o)))throw new r(o);c=t._`${c}${i}${this.opts._n}`}p.set(o,n.Completed)}))}return c}}}(scope),function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.or=e.and=e.not=e.CodeGen=e.operators=e.varKinds=e.ValueScopeName=e.ValueScope=e.Scope=e.Name=e.regexpCode=e.stringify=e.getProperty=e.nil=e.strConcat=e.str=e._=void 0;const t=code$1,r=scope;var n=code$1;Object.defineProperty(e,"_",{enumerable:!0,get:function(){return n._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return n.str}}),Object.defineProperty(e,"strConcat",{enumerable:!0,get:function(){return n.strConcat}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return n.nil}}),Object.defineProperty(e,"getProperty",{enumerable:!0,get:function(){return n.getProperty}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return n.stringify}}),Object.defineProperty(e,"regexpCode",{enumerable:!0,get:function(){return n.regexpCode}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return n.Name}});var o=scope;Object.defineProperty(e,"Scope",{enumerable:!0,get:function(){return o.Scope}}),Object.defineProperty(e,"ValueScope",{enumerable:!0,get:function(){return o.ValueScope}}),Object.defineProperty(e,"ValueScopeName",{enumerable:!0,get:function(){return o.ValueScopeName}}),Object.defineProperty(e,"varKinds",{enumerable:!0,get:function(){return o.varKinds}}),e.operators={GT:new t._Code(">"),GTE:new t._Code(">="),LT:new t._Code("<"),LTE:new t._Code("<="),EQ:new t._Code("==="),NEQ:new t._Code("!=="),NOT:new t._Code("!"),OR:new t._Code("||"),AND:new t._Code("&&"),ADD:new t._Code("+")};class s{optimizeNodes(){return this}optimizeNames(e,t){return this}}class i extends s{constructor(e,t,r){super(),this.varKind=e,this.name=t,this.rhs=r}render({es5:e,_n:t}){const n=e?r.varKinds.var:this.varKind,o=void 0===this.rhs?"":` = ${this.rhs}`;return`${n} ${this.name}${o};`+t}optimizeNames(e,t){if(e[this.name.str])return this.rhs&&(this.rhs=C(this.rhs,e,t)),this}get names(){return this.rhs instanceof t._CodeOrName?this.rhs.names:{}}}class a extends s{constructor(e,t,r){super(),this.lhs=e,this.rhs=t,this.sideEffects=r}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof t.Name)||e[this.lhs.str]||this.sideEffects)return this.rhs=C(this.rhs,e,r),this}get names(){return R(this.lhs instanceof t.Name?{}:{...this.lhs.names},this.rhs)}}class c extends a{constructor(e,t,r,n){super(e,r,n),this.op=t}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}}class l extends s{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}}class d extends s{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}}class p extends s{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}}class u extends s{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,t){return this.code=C(this.code,e,t),this}get names(){return this.code instanceof t._CodeOrName?this.code.names:{}}}class h extends s{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce(((t,r)=>t+r.render(e)),"")}optimizeNodes(){const{nodes:e}=this;let t=e.length;for(;t--;){const r=e[t].optimizeNodes();Array.isArray(r)?e.splice(t,1,...r):r?e[t]=r:e.splice(t,1)}return e.length>0?this:void 0}optimizeNames(e,t){const{nodes:r}=this;let n=r.length;for(;n--;){const o=r[n];o.optimizeNames(e,t)||(x(e,o.names),r.splice(n,1))}return r.length>0?this:void 0}get names(){return this.nodes.reduce(((e,t)=>T(e,t.names)),{})}}class f extends h{render(e){return"{"+e._n+super.render(e)+"}"+e._n}}class m extends h{}class g extends f{}g.kind="else";class y extends f{constructor(e,t){super(t),this.condition=e}render(e){let t=`if(${this.condition})`+super.render(e);return this.else&&(t+="else "+this.else.render(e)),t}optimizeNodes(){super.optimizeNodes();const e=this.condition;if(!0===e)return this.nodes;let t=this.else;if(t){const e=t.optimizeNodes();t=this.else=Array.isArray(e)?new g(e):e}return t?!1===e?t instanceof y?t:t.nodes:this.nodes.length?this:new y(j(e),t instanceof y?[t]:t.nodes):!1!==e&&this.nodes.length?this:void 0}optimizeNames(e,t){var r;if(this.else=null===(r=this.else)||void 0===r?void 0:r.optimizeNames(e,t),super.optimizeNames(e,t)||this.else)return this.condition=C(this.condition,e,t),this}get names(){const e=super.names;return R(e,this.condition),this.else&&T(e,this.else.names),e}}y.kind="if";class _ extends f{}_.kind="for";class $ extends _{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iteration=C(this.iteration,e,t),this}get names(){return T(super.names,this.iteration.names)}}class v extends _{constructor(e,t,r,n){super(),this.varKind=e,this.name=t,this.from=r,this.to=n}render(e){const t=e.es5?r.varKinds.var:this.varKind,{name:n,from:o,to:s}=this;return`for(${t} ${n}=${o}; ${n}<${s}; ${n}++)`+super.render(e)}get names(){const e=R(super.names,this.from);return R(e,this.to)}}class w extends _{constructor(e,t,r,n){super(),this.loop=e,this.varKind=t,this.name=r,this.iterable=n}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iterable=C(this.iterable,e,t),this}get names(){return T(super.names,this.iterable.names)}}class b extends f{constructor(e,t,r){super(),this.name=e,this.args=t,this.async=r}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}}b.kind="func";class P extends h{render(e){return"return "+super.render(e)}}P.kind="return";class E extends f{render(e){let t="try"+super.render(e);return this.catch&&(t+=this.catch.render(e)),this.finally&&(t+=this.finally.render(e)),t}optimizeNodes(){var e,t;return super.optimizeNodes(),null===(e=this.catch)||void 0===e||e.optimizeNodes(),null===(t=this.finally)||void 0===t||t.optimizeNodes(),this}optimizeNames(e,t){var r,n;return super.optimizeNames(e,t),null===(r=this.catch)||void 0===r||r.optimizeNames(e,t),null===(n=this.finally)||void 0===n||n.optimizeNames(e,t),this}get names(){const e=super.names;return this.catch&&T(e,this.catch.names),this.finally&&T(e,this.finally.names),e}}class S extends f{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}}S.kind="catch";class k extends f{render(e){return"finally"+super.render(e)}}k.kind="finally";function T(e,t){for(const r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function R(e,r){return r instanceof t._CodeOrName?T(e,r.names):e}function C(e,r,n){return e instanceof t.Name?s(e):(o=e)instanceof t._Code&&o._items.some((e=>e instanceof t.Name&&1===r[e.str]&&void 0!==n[e.str]))?new t._Code(e._items.reduce(((e,r)=>(r instanceof t.Name&&(r=s(r)),r instanceof t._Code?e.push(...r._items):e.push(r),e)),[])):e;var o;function s(e){const t=n[e.str];return void 0===t||1!==r[e.str]?e:(delete r[e.str],t)}}function x(e,t){for(const r in t)e[r]=(e[r]||0)-(t[r]||0)}function j(e){return"boolean"==typeof e||"number"==typeof e||null===e?!e:t._`!${A(e)}`}e.CodeGen=class{constructor(e,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...t,_n:t.lines?"\n":""},this._extScope=e,this._scope=new r.Scope({parent:e}),this._nodes=[new m]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){const r=this._extScope.value(e,t);return(this._values[r.prefix]||(this._values[r.prefix]=new Set)).add(r),r}getScopeValue(e,t){return this._extScope.getValue(e,t)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,t,r,n){const o=this._scope.toName(t);return void 0!==r&&n&&(this._constants[o.str]=r),this._leafNode(new i(e,o,r)),o}const(e,t,n){return this._def(r.varKinds.const,e,t,n)}let(e,t,n){return this._def(r.varKinds.let,e,t,n)}var(e,t,n){return this._def(r.varKinds.var,e,t,n)}assign(e,t,r){return this._leafNode(new a(e,t,r))}add(t,r){return this._leafNode(new c(t,e.operators.ADD,r))}code(e){return"function"==typeof e?e():e!==t.nil&&this._leafNode(new u(e)),this}object(...e){const r=["{"];for(const[n,o]of e)r.length>1&&r.push(","),r.push(n),(n!==o||this.opts.es5)&&(r.push(":"),(0,t.addCodeArg)(r,o));return r.push("}"),new t._Code(r)}if(e,t,r){if(this._blockNode(new y(e)),t&&r)this.code(t).else().code(r).endIf();else if(t)this.code(t).endIf();else if(r)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new y(e))}else(){return this._elseNode(new g)}endIf(){return this._endBlockNode(y,g)}_for(e,t){return this._blockNode(e),t&&this.code(t).endFor(),this}for(e,t){return this._for(new $(e),t)}forRange(e,t,n,o,s=(this.opts.es5?r.varKinds.var:r.varKinds.let)){const i=this._scope.toName(e);return this._for(new v(s,i,t,n),(()=>o(i)))}forOf(e,n,o,s=r.varKinds.const){const i=this._scope.toName(e);if(this.opts.es5){const e=n instanceof t.Name?n:this.var("_arr",n);return this.forRange("_i",0,t._`${e}.length`,(r=>{this.var(i,t._`${e}[${r}]`),o(i)}))}return this._for(new w("of",s,i,n),(()=>o(i)))}forIn(e,n,o,s=(this.opts.es5?r.varKinds.var:r.varKinds.const)){if(this.opts.ownProperties)return this.forOf(e,t._`Object.keys(${n})`,o);const i=this._scope.toName(e);return this._for(new w("in",s,i,n),(()=>o(i)))}endFor(){return this._endBlockNode(_)}label(e){return this._leafNode(new l(e))}break(e){return this._leafNode(new d(e))}return(e){const t=new P;if(this._blockNode(t),this.code(e),1!==t.nodes.length)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(P)}try(e,t,r){if(!t&&!r)throw new Error('CodeGen: "try" without "catch" and "finally"');const n=new E;if(this._blockNode(n),this.code(e),t){const e=this.name("e");this._currNode=n.catch=new S(e),t(e)}return r&&(this._currNode=n.finally=new k,this.code(r)),this._endBlockNode(S,k)}throw(e){return this._leafNode(new p(e))}block(e,t){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(t),this}endBlock(e){const t=this._blockStarts.pop();if(void 0===t)throw new Error("CodeGen: not in self-balancing block");const r=this._nodes.length-t;if(r<0||void 0!==e&&r!==e)throw new Error(`CodeGen: wrong number of nodes: ${r} vs ${e} expected`);return this._nodes.length=t,this}func(e,r=t.nil,n,o){return this._blockNode(new b(e,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(b)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,t){const r=this._currNode;if(r instanceof e||t&&r instanceof t)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${t?`${e.kind}/${t.kind}`:e.kind}"`)}_elseNode(e){const t=this._currNode;if(!(t instanceof y))throw new Error('CodeGen: "else" without "if"');return this._currNode=t.else=e,this}get _root(){return this._nodes[0]}get _currNode(){const e=this._nodes;return e[e.length-1]}set _currNode(e){const t=this._nodes;t[t.length-1]=e}},e.not=j;const N=I(e.operators.AND);e.and=function(...e){return e.reduce(N)};const O=I(e.operators.OR);function I(e){return(r,n)=>r===t.nil?n:n===t.nil?r:t._`${A(r)} ${e} ${A(n)}`}function A(e){return e instanceof t.Name?e:t._`(${e})`}e.or=function(...e){return e.reduce(O)}}(codegen);var util={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.checkStrictMode=e.getErrorPath=e.Type=e.useFunc=e.setEvaluated=e.evaluatedPropsToName=e.mergeEvaluated=e.eachItem=e.unescapeJsonPointer=e.escapeJsonPointer=e.escapeFragment=e.unescapeFragment=e.schemaRefOrVal=e.schemaHasRulesButRef=e.schemaHasRules=e.checkUnknownRules=e.alwaysValidSchema=e.toHash=void 0;const t=codegen,r=code$1;function n(e,t=e.schema){const{opts:r,self:n}=e;if(!r.strictSchema||"boolean"==typeof t)return;const o=n.RULES.keywords;for(const s in t)o[s]||h(e,`unknown keyword: "${s}"`)}function o(e,t){if("boolean"==typeof e)return!e;for(const r in e)if(t[r])return!0;return!1}function s(e){return"number"==typeof e?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}function i(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function a({mergeNames:e,mergeToName:r,mergeValues:n,resultToName:o}){return(s,i,a,c)=>{const l=void 0===a?i:a instanceof t.Name?(i instanceof t.Name?e(s,i,a):r(s,i,a),a):i instanceof t.Name?(r(s,a,i),i):n(i,a);return c!==t.Name||l instanceof t.Name?l:o(s,l)}}function c(e,r){if(!0===r)return e.var("props",!0);const n=e.var("props",t._`{}`);return void 0!==r&&l(e,n,r),n}function l(e,r,n){Object.keys(n).forEach((n=>e.assign(t._`${r}${(0,t.getProperty)(n)}`,!0)))}e.toHash=function(e){const t={};for(const r of e)t[r]=!0;return t},e.alwaysValidSchema=function(e,t){return"boolean"==typeof t?t:0===Object.keys(t).length||(n(e,t),!o(t,e.self.RULES.all))},e.checkUnknownRules=n,e.schemaHasRules=o,e.schemaHasRulesButRef=function(e,t){if("boolean"==typeof e)return!e;for(const r in e)if("$ref"!==r&&t.all[r])return!0;return!1},e.schemaRefOrVal=function({topSchemaRef:e,schemaPath:r},n,o,s){if(!s){if("number"==typeof n||"boolean"==typeof n)return n;if("string"==typeof n)return t._`${n}`}return t._`${e}${r}${(0,t.getProperty)(o)}`},e.unescapeFragment=function(e){return i(decodeURIComponent(e))},e.escapeFragment=function(e){return encodeURIComponent(s(e))},e.escapeJsonPointer=s,e.unescapeJsonPointer=i,e.eachItem=function(e,t){if(Array.isArray(e))for(const r of e)t(r);else t(e)},e.mergeEvaluated={props:a({mergeNames:(e,r,n)=>e.if(t._`${n} !== true && ${r} !== undefined`,(()=>{e.if(t._`${r} === true`,(()=>e.assign(n,!0)),(()=>e.assign(n,t._`${n} || {}`).code(t._`Object.assign(${n}, ${r})`)))})),mergeToName:(e,r,n)=>e.if(t._`${n} !== true`,(()=>{!0===r?e.assign(n,!0):(e.assign(n,t._`${n} || {}`),l(e,n,r))})),mergeValues:(e,t)=>!0===e||{...e,...t},resultToName:c}),items:a({mergeNames:(e,r,n)=>e.if(t._`${n} !== true && ${r} !== undefined`,(()=>e.assign(n,t._`${r} === true ? true : ${n} > ${r} ? ${n} : ${r}`))),mergeToName:(e,r,n)=>e.if(t._`${n} !== true`,(()=>e.assign(n,!0===r||t._`${n} > ${r} ? ${n} : ${r}`))),mergeValues:(e,t)=>!0===e||Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})},e.evaluatedPropsToName=c,e.setEvaluated=l;const d={};var p,u;function h(e,t,r=e.opts.strictSchema){if(r){if(t=`strict mode: ${t}`,!0===r)throw new Error(t);e.self.logger.warn(t)}}e.useFunc=function(e,t){return e.scopeValue("func",{ref:t,code:d[t.code]||(d[t.code]=new r._Code(t.code))})},(u=p=e.Type||(e.Type={}))[u.Num=0]="Num",u[u.Str=1]="Str",e.getErrorPath=function(e,r,n){if(e instanceof t.Name){const o=r===p.Num;return n?o?t._`"[" + ${e} + "]"`:t._`"['" + ${e} + "']"`:o?t._`"/" + ${e}`:t._`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return n?(0,t.getProperty)(e).toString():"/"+s(e)},e.checkStrictMode=h}(util);var names$1={};Object.defineProperty(names$1,"__esModule",{value:!0});const codegen_1$t=codegen,names={data:new codegen_1$t.Name("data"),valCxt:new codegen_1$t.Name("valCxt"),instancePath:new codegen_1$t.Name("instancePath"),parentData:new codegen_1$t.Name("parentData"),parentDataProperty:new codegen_1$t.Name("parentDataProperty"),rootData:new codegen_1$t.Name("rootData"),dynamicAnchors:new codegen_1$t.Name("dynamicAnchors"),vErrors:new codegen_1$t.Name("vErrors"),errors:new codegen_1$t.Name("errors"),this:new codegen_1$t.Name("this"),self:new codegen_1$t.Name("self"),scope:new codegen_1$t.Name("scope"),json:new codegen_1$t.Name("json"),jsonPos:new codegen_1$t.Name("jsonPos"),jsonLen:new codegen_1$t.Name("jsonLen"),jsonPart:new codegen_1$t.Name("jsonPart")};names$1.default=names,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.extendErrors=e.resetErrorsCount=e.reportExtraError=e.reportError=e.keyword$DataError=e.keywordError=void 0;const t=codegen,r=util,n=names$1;function o(e,r){const o=e.const("err",r);e.if(t._`${n.default.vErrors} === null`,(()=>e.assign(n.default.vErrors,t._`[${o}]`)),t._`${n.default.vErrors}.push(${o})`),e.code(t._`${n.default.errors}++`)}function s(e,r){const{gen:n,validateName:o,schemaEnv:s}=e;s.$async?n.throw(t._`new ${e.ValidationError}(${r})`):(n.assign(t._`${o}.errors`,r),n.return(!1))}e.keywordError={message:({keyword:e})=>t.str`must pass "${e}" keyword validation`},e.keyword$DataError={message:({keyword:e,schemaType:r})=>r?t.str`"${e}" keyword must be ${r} ($data)`:t.str`"${e}" keyword is invalid ($data)`},e.reportError=function(r,n=e.keywordError,i,c){const{it:l}=r,{gen:d,compositeRule:p,allErrors:u}=l,h=a(r,n,i);c??(p||u)?o(d,h):s(l,t._`[${h}]`)},e.reportExtraError=function(t,r=e.keywordError,i){const{it:c}=t,{gen:l,compositeRule:d,allErrors:p}=c;o(l,a(t,r,i)),d||p||s(c,n.default.vErrors)},e.resetErrorsCount=function(e,r){e.assign(n.default.errors,r),e.if(t._`${n.default.vErrors} !== null`,(()=>e.if(r,(()=>e.assign(t._`${n.default.vErrors}.length`,r)),(()=>e.assign(n.default.vErrors,null)))))},e.extendErrors=function({gen:e,keyword:r,schemaValue:o,data:s,errsCount:i,it:a}){if(void 0===i)throw new Error("ajv implementation error");const c=e.name("err");e.forRange("i",i,n.default.errors,(i=>{e.const(c,t._`${n.default.vErrors}[${i}]`),e.if(t._`${c}.instancePath === undefined`,(()=>e.assign(t._`${c}.instancePath`,(0,t.strConcat)(n.default.instancePath,a.errorPath)))),e.assign(t._`${c}.schemaPath`,t.str`${a.errSchemaPath}/${r}`),a.opts.verbose&&(e.assign(t._`${c}.schema`,o),e.assign(t._`${c}.data`,s))}))};const i={keyword:new t.Name("keyword"),schemaPath:new t.Name("schemaPath"),params:new t.Name("params"),propertyName:new t.Name("propertyName"),message:new t.Name("message"),schema:new t.Name("schema"),parentSchema:new t.Name("parentSchema")};function a(e,r,o){const{createErrors:s}=e.it;return!1===s?t._`{}`:function(e,r,o={}){const{gen:s,it:a}=e,d=[c(a,o),l(e,o)];return function(e,{params:r,message:o},s){const{keyword:a,data:c,schemaValue:l,it:d}=e,{opts:p,propertyName:u,topSchemaRef:h,schemaPath:f}=d;s.push([i.keyword,a],[i.params,"function"==typeof r?r(e):r||t._`{}`]),p.messages&&s.push([i.message,"function"==typeof o?o(e):o]),p.verbose&&s.push([i.schema,l],[i.parentSchema,t._`${h}${f}`],[n.default.data,c]),u&&s.push([i.propertyName,u])}(e,r,d),s.object(...d)}(e,r,o)}function c({errorPath:e},{instancePath:o}){const s=o?t.str`${e}${(0,r.getErrorPath)(o,r.Type.Str)}`:e;return[n.default.instancePath,(0,t.strConcat)(n.default.instancePath,s)]}function l({keyword:e,it:{errSchemaPath:n}},{schemaPath:o,parentSchema:s}){let a=s?n:t.str`${n}/${e}`;return o&&(a=t.str`${a}${(0,r.getErrorPath)(o,r.Type.Str)}`),[i.schemaPath,a]}}(errors),Object.defineProperty(boolSchema,"__esModule",{value:!0}),boolSchema.boolOrEmptySchema=boolSchema.topBoolOrEmptySchema=void 0;const errors_1$2=errors,codegen_1$s=codegen,names_1$6=names$1,boolError={message:"boolean schema is false"};function topBoolOrEmptySchema(e){const{gen:t,schema:r,validateName:n}=e;!1===r?falseSchemaError(e,!1):"object"==typeof r&&!0===r.$async?t.return(names_1$6.default.data):(t.assign(codegen_1$s._`${n}.errors`,null),t.return(!0))}function boolOrEmptySchema(e,t){const{gen:r,schema:n}=e;!1===n?(r.var(t,!1),falseSchemaError(e)):r.var(t,!0)}function falseSchemaError(e,t){const{gen:r,data:n}=e,o={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,errors_1$2.reportError)(o,boolError,void 0,t)}boolSchema.topBoolOrEmptySchema=topBoolOrEmptySchema,boolSchema.boolOrEmptySchema=boolOrEmptySchema;var dataType={},rules={};Object.defineProperty(rules,"__esModule",{value:!0}),rules.getRules=rules.isJSONType=void 0;const _jsonTypes=["string","number","integer","boolean","null","object","array"],jsonTypes=new Set(_jsonTypes);function isJSONType(e){return"string"==typeof e&&jsonTypes.has(e)}function getRules(){const e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}rules.isJSONType=isJSONType,rules.getRules=getRules;var applicability={};function schemaHasRulesForType({schema:e,self:t},r){const n=t.RULES.types[r];return n&&!0!==n&&shouldUseGroup(e,n)}function shouldUseGroup(e,t){return t.rules.some((t=>shouldUseRule(e,t)))}function shouldUseRule(e,t){var r;return void 0!==e[t.keyword]||(null===(r=t.definition.implements)||void 0===r?void 0:r.some((t=>void 0!==e[t])))}Object.defineProperty(applicability,"__esModule",{value:!0}),applicability.shouldUseRule=applicability.shouldUseGroup=applicability.schemaHasRulesForType=void 0,applicability.schemaHasRulesForType=schemaHasRulesForType,applicability.shouldUseGroup=shouldUseGroup,applicability.shouldUseRule=shouldUseRule,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.reportTypeError=e.checkDataTypes=e.checkDataType=e.coerceAndCheckDataType=e.getJSONTypes=e.getSchemaTypes=e.DataType=void 0;const t=rules,r=applicability,n=errors,o=codegen,s=util;var i,a;function c(e){const r=Array.isArray(e)?e:e?[e]:[];if(r.every(t.isJSONType))return r;throw new Error("type must be JSONType or JSONType[]: "+r.join(","))}(a=i=e.DataType||(e.DataType={}))[a.Correct=0]="Correct",a[a.Wrong=1]="Wrong",e.getSchemaTypes=function(e){const t=c(e.type);if(t.includes("null")){if(!1===e.nullable)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&void 0!==e.nullable)throw new Error('"nullable" cannot be used without "type"');!0===e.nullable&&t.push("null")}return t},e.getJSONTypes=c,e.coerceAndCheckDataType=function(e,t){const{gen:n,data:s,opts:a}=e,c=function(e,t){return t?e.filter((e=>l.has(e)||"array"===t&&"array"===e)):[]}(t,a.coerceTypes),d=t.length>0&&!(0===c.length&&1===t.length&&(0,r.schemaHasRulesForType)(e,t[0]));if(d){const r=p(t,s,a.strictNumbers,i.Wrong);n.if(r,(()=>{c.length?function(e,t,r){const{gen:n,data:s,opts:i}=e,a=n.let("dataType",o._`typeof ${s}`),c=n.let("coerced",o._`undefined`);"array"===i.coerceTypes&&n.if(o._`${a} == 'object' && Array.isArray(${s}) && ${s}.length == 1`,(()=>n.assign(s,o._`${s}[0]`).assign(a,o._`typeof ${s}`).if(p(t,s,i.strictNumbers),(()=>n.assign(c,s))))),n.if(o._`${c} !== undefined`);for(const o of r)(l.has(o)||"array"===o&&"array"===i.coerceTypes)&&d(o);function d(e){switch(e){case"string":return void n.elseIf(o._`${a} == "number" || ${a} == "boolean"`).assign(c,o._`"" + ${s}`).elseIf(o._`${s} === null`).assign(c,o._`""`);case"number":return void n.elseIf(o._`${a} == "boolean" || ${s} === null - || (${a} == "string" && ${s} && ${s} == +${s})`).assign(c,o._`+${s}`);case"integer":return void n.elseIf(o._`${a} === "boolean" || ${s} === null - || (${a} === "string" && ${s} && ${s} == +${s} && !(${s} % 1))`).assign(c,o._`+${s}`);case"boolean":return void n.elseIf(o._`${s} === "false" || ${s} === 0 || ${s} === null`).assign(c,!1).elseIf(o._`${s} === "true" || ${s} === 1`).assign(c,!0);case"null":return n.elseIf(o._`${s} === "" || ${s} === 0 || ${s} === false`),void n.assign(c,null);case"array":n.elseIf(o._`${a} === "string" || ${a} === "number" - || ${a} === "boolean" || ${s} === null`).assign(c,o._`[${s}]`)}}n.else(),h(e),n.endIf(),n.if(o._`${c} !== undefined`,(()=>{n.assign(s,c),function({gen:e,parentData:t,parentDataProperty:r},n){e.if(o._`${t} !== undefined`,(()=>e.assign(o._`${t}[${r}]`,n)))}(e,c)}))}(e,t,c):h(e)}))}return d};const l=new Set(["string","number","integer","boolean","null"]);function d(e,t,r,n=i.Correct){const s=n===i.Correct?o.operators.EQ:o.operators.NEQ;let a;switch(e){case"null":return o._`${t} ${s} null`;case"array":a=o._`Array.isArray(${t})`;break;case"object":a=o._`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":a=c(o._`!(${t} % 1) && !isNaN(${t})`);break;case"number":a=c();break;default:return o._`typeof ${t} ${s} ${e}`}return n===i.Correct?a:(0,o.not)(a);function c(e=o.nil){return(0,o.and)(o._`typeof ${t} == "number"`,e,r?o._`isFinite(${t})`:o.nil)}}function p(e,t,r,n){if(1===e.length)return d(e[0],t,r,n);let i;const a=(0,s.toHash)(e);if(a.array&&a.object){const e=o._`typeof ${t} != "object"`;i=a.null?e:o._`!${t} || ${e}`,delete a.null,delete a.array,delete a.object}else i=o.nil;a.number&&delete a.integer;for(const s in a)i=(0,o.and)(i,d(s,t,r,n));return i}e.checkDataType=d,e.checkDataTypes=p;const u={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>"string"==typeof e?o._`{type: ${e}}`:o._`{type: ${t}}`};function h(e){const t=function(e){const{gen:t,data:r,schema:n}=e,o=(0,s.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:e}}(e);(0,n.reportError)(t,u)}e.reportTypeError=h}(dataType);var defaults={};Object.defineProperty(defaults,"__esModule",{value:!0}),defaults.assignDefaults=void 0;const codegen_1$r=codegen,util_1$p=util;function assignDefaults(e,t){const{properties:r,items:n}=e.schema;if("object"===t&&r)for(const o in r)assignDefault(e,o,r[o].default);else"array"===t&&Array.isArray(n)&&n.forEach(((t,r)=>assignDefault(e,r,t.default)))}function assignDefault(e,t,r){const{gen:n,compositeRule:o,data:s,opts:i}=e;if(void 0===r)return;const a=codegen_1$r._`${s}${(0,codegen_1$r.getProperty)(t)}`;if(o)return void(0,util_1$p.checkStrictMode)(e,`default is ignored for: ${a}`);let c=codegen_1$r._`${a} === undefined`;"empty"===i.useDefaults&&(c=codegen_1$r._`${c} || ${a} === null || ${a} === ""`),n.if(c,codegen_1$r._`${a} = ${(0,codegen_1$r.stringify)(r)}`)}defaults.assignDefaults=assignDefaults;var keyword={},code={};Object.defineProperty(code,"__esModule",{value:!0}),code.validateUnion=code.validateArray=code.usePattern=code.callValidateCode=code.schemaProperties=code.allSchemaProperties=code.noPropertyInData=code.propertyInData=code.isOwnProperty=code.hasPropFunc=code.reportMissingProp=code.checkMissingProp=code.checkReportMissingProp=void 0;const codegen_1$q=codegen,util_1$o=util,names_1$5=names$1,util_2$1=util;function checkReportMissingProp(e,t){const{gen:r,data:n,it:o}=e;r.if(noPropertyInData(r,n,t,o.opts.ownProperties),(()=>{e.setParams({missingProperty:codegen_1$q._`${t}`},!0),e.error()}))}function checkMissingProp({gen:e,data:t,it:{opts:r}},n,o){return(0,codegen_1$q.or)(...n.map((n=>(0,codegen_1$q.and)(noPropertyInData(e,t,n,r.ownProperties),codegen_1$q._`${o} = ${n}`))))}function reportMissingProp(e,t){e.setParams({missingProperty:t},!0),e.error()}function hasPropFunc(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:codegen_1$q._`Object.prototype.hasOwnProperty`})}function isOwnProperty(e,t,r){return codegen_1$q._`${hasPropFunc(e)}.call(${t}, ${r})`}function propertyInData(e,t,r,n){const o=codegen_1$q._`${t}${(0,codegen_1$q.getProperty)(r)} !== undefined`;return n?codegen_1$q._`${o} && ${isOwnProperty(e,t,r)}`:o}function noPropertyInData(e,t,r,n){const o=codegen_1$q._`${t}${(0,codegen_1$q.getProperty)(r)} === undefined`;return n?(0,codegen_1$q.or)(o,(0,codegen_1$q.not)(isOwnProperty(e,t,r))):o}function allSchemaProperties(e){return e?Object.keys(e).filter((e=>"__proto__"!==e)):[]}function schemaProperties(e,t){return allSchemaProperties(t).filter((r=>!(0,util_1$o.alwaysValidSchema)(e,t[r])))}function callValidateCode({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:s},it:i},a,c,l){const d=l?codegen_1$q._`${e}, ${t}, ${n}${o}`:t,p=[[names_1$5.default.instancePath,(0,codegen_1$q.strConcat)(names_1$5.default.instancePath,s)],[names_1$5.default.parentData,i.parentData],[names_1$5.default.parentDataProperty,i.parentDataProperty],[names_1$5.default.rootData,names_1$5.default.rootData]];i.opts.dynamicRef&&p.push([names_1$5.default.dynamicAnchors,names_1$5.default.dynamicAnchors]);const u=codegen_1$q._`${d}, ${r.object(...p)}`;return c!==codegen_1$q.nil?codegen_1$q._`${a}.call(${c}, ${u})`:codegen_1$q._`${a}(${u})`}code.checkReportMissingProp=checkReportMissingProp,code.checkMissingProp=checkMissingProp,code.reportMissingProp=reportMissingProp,code.hasPropFunc=hasPropFunc,code.isOwnProperty=isOwnProperty,code.propertyInData=propertyInData,code.noPropertyInData=noPropertyInData,code.allSchemaProperties=allSchemaProperties,code.schemaProperties=schemaProperties,code.callValidateCode=callValidateCode;const newRegExp=codegen_1$q._`new RegExp`;function usePattern({gen:e,it:{opts:t}},r){const n=t.unicodeRegExp?"u":"",{regExp:o}=t.code,s=o(r,n);return e.scopeValue("pattern",{key:s.toString(),ref:s,code:codegen_1$q._`${"new RegExp"===o.code?newRegExp:(0,util_2$1.useFunc)(e,o)}(${r}, ${n})`})}function validateArray(e){const{gen:t,data:r,keyword:n,it:o}=e,s=t.name("valid");if(o.allErrors){const e=t.let("valid",!0);return i((()=>t.assign(e,!1))),e}return t.var(s,!0),i((()=>t.break())),s;function i(o){const i=t.const("len",codegen_1$q._`${r}.length`);t.forRange("i",0,i,(r=>{e.subschema({keyword:n,dataProp:r,dataPropType:util_1$o.Type.Num},s),t.if((0,codegen_1$q.not)(s),o)}))}}function validateUnion(e){const{gen:t,schema:r,keyword:n,it:o}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some((e=>(0,util_1$o.alwaysValidSchema)(o,e)))&&!o.opts.unevaluated)return;const s=t.let("valid",!1),i=t.name("_valid");t.block((()=>r.forEach(((r,o)=>{const a=e.subschema({keyword:n,schemaProp:o,compositeRule:!0},i);t.assign(s,codegen_1$q._`${s} || ${i}`),e.mergeValidEvaluated(a,i)||t.if((0,codegen_1$q.not)(s))})))),e.result(s,(()=>e.reset()),(()=>e.error(!0)))}code.usePattern=usePattern,code.validateArray=validateArray,code.validateUnion=validateUnion,Object.defineProperty(keyword,"__esModule",{value:!0}),keyword.validateKeywordUsage=keyword.validSchemaType=keyword.funcKeywordCode=keyword.macroKeywordCode=void 0;const codegen_1$p=codegen,names_1$4=names$1,code_1$9=code,errors_1$1=errors;function macroKeywordCode(e,t){const{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=e,a=t.macro.call(i.self,o,s,i),c=useKeyword(r,n,a);!1!==i.opts.validateSchema&&i.self.validateSchema(a,!0);const l=r.name("valid");e.subschema({schema:a,schemaPath:codegen_1$p.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},l),e.pass(l,(()=>e.error(!0)))}function funcKeywordCode(e,t){var r;const{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=e;checkAsyncKeyword(c,t);const l=!a&&t.compile?t.compile.call(c.self,s,i,c):t.validate,d=useKeyword(n,o,l),p=n.let("valid");function u(r=(t.async?codegen_1$p._`await `:codegen_1$p.nil)){const o=c.opts.passContext?names_1$4.default.this:names_1$4.default.self,s=!("compile"in t&&!a||!1===t.schema);n.assign(p,codegen_1$p._`${r}${(0,code_1$9.callValidateCode)(e,d,o,s)}`,t.modifying)}function h(e){var r;n.if((0,codegen_1$p.not)(null!==(r=t.valid)&&void 0!==r?r:p),e)}e.block$data(p,(function(){if(!1===t.errors)u(),t.modifying&&modifyData(e),h((()=>e.error()));else{const r=t.async?function(){const e=n.let("ruleErrs",null);return n.try((()=>u(codegen_1$p._`await `)),(t=>n.assign(p,!1).if(codegen_1$p._`${t} instanceof ${c.ValidationError}`,(()=>n.assign(e,codegen_1$p._`${t}.errors`)),(()=>n.throw(t))))),e}():function(){const e=codegen_1$p._`${d}.errors`;return n.assign(e,null),u(codegen_1$p.nil),e}();t.modifying&&modifyData(e),h((()=>addErrs(e,r)))}})),e.ok(null!==(r=t.valid)&&void 0!==r?r:p)}function modifyData(e){const{gen:t,data:r,it:n}=e;t.if(n.parentData,(()=>t.assign(r,codegen_1$p._`${n.parentData}[${n.parentDataProperty}]`)))}function addErrs(e,t){const{gen:r}=e;r.if(codegen_1$p._`Array.isArray(${t})`,(()=>{r.assign(names_1$4.default.vErrors,codegen_1$p._`${names_1$4.default.vErrors} === null ? ${t} : ${names_1$4.default.vErrors}.concat(${t})`).assign(names_1$4.default.errors,codegen_1$p._`${names_1$4.default.vErrors}.length`),(0,errors_1$1.extendErrors)(e)}),(()=>e.error()))}function checkAsyncKeyword({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function useKeyword(e,t,r){if(void 0===r)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword","function"==typeof r?{ref:r}:{ref:r,code:(0,codegen_1$p.stringify)(r)})}function validSchemaType(e,t,r=!1){return!t.length||t.some((t=>"array"===t?Array.isArray(e):"object"===t?e&&"object"==typeof e&&!Array.isArray(e):typeof e==t||r&&typeof e>"u"))}function validateKeywordUsage({schema:e,opts:t,self:r,errSchemaPath:n},o,s){if(Array.isArray(o.keyword)?!o.keyword.includes(s):o.keyword!==s)throw new Error("ajv implementation error");const i=o.dependencies;if(null!=i&&i.some((t=>!Object.prototype.hasOwnProperty.call(e,t))))throw new Error(`parent schema must have dependencies of ${s}: ${i.join(",")}`);if(o.validateSchema&&!o.validateSchema(e[s])){const e=`keyword "${s}" value is invalid at path "${n}": `+r.errorsText(o.validateSchema.errors);if("log"!==t.validateSchema)throw new Error(e);r.logger.error(e)}}keyword.macroKeywordCode=macroKeywordCode,keyword.funcKeywordCode=funcKeywordCode,keyword.validSchemaType=validSchemaType,keyword.validateKeywordUsage=validateKeywordUsage;var subschema={};Object.defineProperty(subschema,"__esModule",{value:!0}),subschema.extendSubschemaMode=subschema.extendSubschemaData=subschema.getSubschema=void 0;const codegen_1$o=codegen,util_1$n=util;function getSubschema(e,{keyword:t,schemaProp:r,schema:n,schemaPath:o,errSchemaPath:s,topSchemaRef:i}){if(void 0!==t&&void 0!==n)throw new Error('both "keyword" and "schema" passed, only one allowed');if(void 0!==t){const n=e.schema[t];return void 0===r?{schema:n,schemaPath:codegen_1$o._`${e.schemaPath}${(0,codegen_1$o.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:n[r],schemaPath:codegen_1$o._`${e.schemaPath}${(0,codegen_1$o.getProperty)(t)}${(0,codegen_1$o.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,util_1$n.escapeFragment)(r)}`}}if(void 0!==n){if(void 0===o||void 0===s||void 0===i)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:o,topSchemaRef:i,errSchemaPath:s}}throw new Error('either "keyword" or "schema" must be passed')}function extendSubschemaData(e,t,{dataProp:r,dataPropType:n,data:o,dataTypes:s,propertyName:i}){if(void 0!==o&&void 0!==r)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:a}=t;if(void 0!==r){const{errorPath:o,dataPathArr:s,opts:i}=t;c(a.let("data",codegen_1$o._`${t.data}${(0,codegen_1$o.getProperty)(r)}`,!0)),e.errorPath=codegen_1$o.str`${o}${(0,util_1$n.getErrorPath)(r,n,i.jsPropertySyntax)}`,e.parentDataProperty=codegen_1$o._`${r}`,e.dataPathArr=[...s,e.parentDataProperty]}if(void 0!==o){c(o instanceof codegen_1$o.Name?o:a.let("data",o,!0)),void 0!==i&&(e.propertyName=i)}function c(r){e.data=r,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,r]}s&&(e.dataTypes=s)}function extendSubschemaMode(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:o,allErrors:s}){void 0!==n&&(e.compositeRule=n),void 0!==o&&(e.createErrors=o),void 0!==s&&(e.allErrors=s),e.jtdDiscriminator=t,e.jtdMetadata=r}subschema.getSubschema=getSubschema,subschema.extendSubschemaData=extendSubschemaData,subschema.extendSubschemaMode=extendSubschemaMode;var resolve$1={},fastDeepEqual=function e(t,r){if(t===r)return!0;if(t&&r&&"object"==typeof t&&"object"==typeof r){if(t.constructor!==r.constructor)return!1;var n,o,s;if(Array.isArray(t)){if((n=t.length)!=r.length)return!1;for(o=n;0!=o--;)if(!e(t[o],r[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if((n=(s=Object.keys(t)).length)!==Object.keys(r).length)return!1;for(o=n;0!=o--;)if(!Object.prototype.hasOwnProperty.call(r,s[o]))return!1;for(o=n;0!=o--;){var i=s[o];if(!e(t[i],r[i]))return!1}return!0}return t!=t&&r!=r},jsonSchemaTraverse={exports:{}},traverse$1=jsonSchemaTraverse.exports=function(e,t,r){"function"==typeof t&&(r=t,t={}),_traverse(t,"function"==typeof(r=t.cb||r)?r:r.pre||function(){},r.post||function(){},e,"",e)};function _traverse(e,t,r,n,o,s,i,a,c,l){if(n&&"object"==typeof n&&!Array.isArray(n)){for(var d in t(n,o,s,i,a,c,l),n){var p=n[d];if(Array.isArray(p)){if(d in traverse$1.arrayKeywords)for(var u=0;u<p.length;u++)_traverse(e,t,r,p[u],o+"/"+d+"/"+u,s,o,d,n,u)}else if(d in traverse$1.propsKeywords){if(p&&"object"==typeof p)for(var h in p)_traverse(e,t,r,p[h],o+"/"+d+"/"+escapeJsonPtr(h),s,o,d,n,h)}else(d in traverse$1.keywords||e.allKeys&&!(d in traverse$1.skipKeywords))&&_traverse(e,t,r,p,o+"/"+d,s,o,d,n)}r(n,o,s,i,a,c,l)}}function escapeJsonPtr(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}traverse$1.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0},traverse$1.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},traverse$1.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},traverse$1.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};var jsonSchemaTraverseExports=jsonSchemaTraverse.exports;Object.defineProperty(resolve$1,"__esModule",{value:!0}),resolve$1.getSchemaRefs=resolve$1.resolveUrl=resolve$1.normalizeId=resolve$1._getFullPath=resolve$1.getFullPath=resolve$1.inlineRef=void 0;const util_1$m=util,equal$2=fastDeepEqual,traverse=jsonSchemaTraverseExports,SIMPLE_INLINED=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function inlineRef(e,t=!0){return"boolean"==typeof e||(!0===t?!hasRef(e):!!t&&countKeys(e)<=t)}resolve$1.inlineRef=inlineRef;const REF_KEYWORDS=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function hasRef(e){for(const t in e){if(REF_KEYWORDS.has(t))return!0;const r=e[t];if(Array.isArray(r)&&r.some(hasRef)||"object"==typeof r&&hasRef(r))return!0}return!1}function countKeys(e){let t=0;for(const r in e){if("$ref"===r)return 1/0;if(t++,!SIMPLE_INLINED.has(r)&&("object"==typeof e[r]&&(0,util_1$m.eachItem)(e[r],(e=>t+=countKeys(e))),t===1/0))return 1/0}return t}function getFullPath(e,t="",r){!1!==r&&(t=normalizeId(t));const n=e.parse(t);return _getFullPath(e,n)}function _getFullPath(e,t){return e.serialize(t).split("#")[0]+"#"}resolve$1.getFullPath=getFullPath,resolve$1._getFullPath=_getFullPath;const TRAILING_SLASH_HASH=/#\/?$/;function normalizeId(e){return e?e.replace(TRAILING_SLASH_HASH,""):""}function resolveUrl(e,t,r){return r=normalizeId(r),e.resolve(t,r)}resolve$1.normalizeId=normalizeId,resolve$1.resolveUrl=resolveUrl;const ANCHOR=/^[a-z_][-a-z0-9._]*$/i;function getSchemaRefs(e,t){if("boolean"==typeof e)return{};const{schemaId:r,uriResolver:n}=this.opts,o=normalizeId(e[r]||t),s={"":o},i=getFullPath(n,o,!1),a={},c=new Set;return traverse(e,{allKeys:!0},((e,t,n,o)=>{if(void 0===o)return;const p=i+t;let u=s[o];function h(t){const r=this.opts.uriResolver.resolve;if(t=normalizeId(u?r(u,t):t),c.has(t))throw d(t);c.add(t);let n=this.refs[t];return"string"==typeof n&&(n=this.refs[n]),"object"==typeof n?l(e,n.schema,t):t!==normalizeId(p)&&("#"===t[0]?(l(e,a[t],t),a[t]=e):this.refs[t]=p),t}function f(e){if("string"==typeof e){if(!ANCHOR.test(e))throw new Error(`invalid anchor "${e}"`);h.call(this,`#${e}`)}}"string"==typeof e[r]&&(u=h.call(this,e[r])),f.call(this,e.$anchor),f.call(this,e.$dynamicAnchor),s[t]=u})),a;function l(e,t,r){if(void 0!==t&&!equal$2(e,t))throw d(r)}function d(e){return new Error(`reference "${e}" resolves to more than one schema`)}}resolve$1.getSchemaRefs=getSchemaRefs,Object.defineProperty(validate,"__esModule",{value:!0}),validate.getData=validate.KeywordCxt=validate.validateFunctionCode=void 0;const boolSchema_1=boolSchema,dataType_1$1=dataType,applicability_1=applicability,dataType_2=dataType,defaults_1=defaults,keyword_1=keyword,subschema_1=subschema,codegen_1$n=codegen,names_1$3=names$1,resolve_1$2=resolve$1,util_1$l=util,errors_1=errors;function validateFunctionCode(e){isSchemaObj(e)&&(checkKeywords(e),schemaCxtHasRules(e))?topSchemaObjCode(e):validateFunction(e,(()=>(0,boolSchema_1.topBoolOrEmptySchema)(e)))}function validateFunction({gen:e,validateName:t,schema:r,schemaEnv:n,opts:o},s){o.code.es5?e.func(t,codegen_1$n._`${names_1$3.default.data}, ${names_1$3.default.valCxt}`,n.$async,(()=>{e.code(codegen_1$n._`"use strict"; ${funcSourceUrl(r,o)}`),destructureValCxtES5(e,o),e.code(s)})):e.func(t,codegen_1$n._`${names_1$3.default.data}, ${destructureValCxt(o)}`,n.$async,(()=>e.code(funcSourceUrl(r,o)).code(s)))}function destructureValCxt(e){return codegen_1$n._`{${names_1$3.default.instancePath}="", ${names_1$3.default.parentData}, ${names_1$3.default.parentDataProperty}, ${names_1$3.default.rootData}=${names_1$3.default.data}${e.dynamicRef?codegen_1$n._`, ${names_1$3.default.dynamicAnchors}={}`:codegen_1$n.nil}}={}`}function destructureValCxtES5(e,t){e.if(names_1$3.default.valCxt,(()=>{e.var(names_1$3.default.instancePath,codegen_1$n._`${names_1$3.default.valCxt}.${names_1$3.default.instancePath}`),e.var(names_1$3.default.parentData,codegen_1$n._`${names_1$3.default.valCxt}.${names_1$3.default.parentData}`),e.var(names_1$3.default.parentDataProperty,codegen_1$n._`${names_1$3.default.valCxt}.${names_1$3.default.parentDataProperty}`),e.var(names_1$3.default.rootData,codegen_1$n._`${names_1$3.default.valCxt}.${names_1$3.default.rootData}`),t.dynamicRef&&e.var(names_1$3.default.dynamicAnchors,codegen_1$n._`${names_1$3.default.valCxt}.${names_1$3.default.dynamicAnchors}`)}),(()=>{e.var(names_1$3.default.instancePath,codegen_1$n._`""`),e.var(names_1$3.default.parentData,codegen_1$n._`undefined`),e.var(names_1$3.default.parentDataProperty,codegen_1$n._`undefined`),e.var(names_1$3.default.rootData,names_1$3.default.data),t.dynamicRef&&e.var(names_1$3.default.dynamicAnchors,codegen_1$n._`{}`)}))}function topSchemaObjCode(e){const{schema:t,opts:r,gen:n}=e;validateFunction(e,(()=>{r.$comment&&t.$comment&&commentKeyword(e),checkNoDefault(e),n.let(names_1$3.default.vErrors,null),n.let(names_1$3.default.errors,0),r.unevaluated&&resetEvaluated(e),typeAndKeywords(e),returnResults(e)}))}function resetEvaluated(e){const{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",codegen_1$n._`${r}.evaluated`),t.if(codegen_1$n._`${e.evaluated}.dynamicProps`,(()=>t.assign(codegen_1$n._`${e.evaluated}.props`,codegen_1$n._`undefined`))),t.if(codegen_1$n._`${e.evaluated}.dynamicItems`,(()=>t.assign(codegen_1$n._`${e.evaluated}.items`,codegen_1$n._`undefined`)))}function funcSourceUrl(e,t){const r="object"==typeof e&&e[t.schemaId];return r&&(t.code.source||t.code.process)?codegen_1$n._`/*# sourceURL=${r} */`:codegen_1$n.nil}function subschemaCode(e,t){isSchemaObj(e)&&(checkKeywords(e),schemaCxtHasRules(e))?subSchemaObjCode(e,t):(0,boolSchema_1.boolOrEmptySchema)(e,t)}function schemaCxtHasRules({schema:e,self:t}){if("boolean"==typeof e)return!e;for(const r in e)if(t.RULES.all[r])return!0;return!1}function isSchemaObj(e){return"boolean"!=typeof e.schema}function subSchemaObjCode(e,t){const{schema:r,gen:n,opts:o}=e;o.$comment&&r.$comment&&commentKeyword(e),updateContext(e),checkAsyncSchema(e);const s=n.const("_errs",names_1$3.default.errors);typeAndKeywords(e,s),n.var(t,codegen_1$n._`${s} === ${names_1$3.default.errors}`)}function checkKeywords(e){(0,util_1$l.checkUnknownRules)(e),checkRefsAndKeywords(e)}function typeAndKeywords(e,t){if(e.opts.jtd)return schemaKeywords(e,[],!1,t);const r=(0,dataType_1$1.getSchemaTypes)(e.schema);schemaKeywords(e,r,!(0,dataType_1$1.coerceAndCheckDataType)(e,r),t)}function checkRefsAndKeywords(e){const{schema:t,errSchemaPath:r,opts:n,self:o}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,util_1$l.schemaHasRulesButRef)(t,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function checkNoDefault(e){const{schema:t,opts:r}=e;void 0!==t.default&&r.useDefaults&&r.strictSchema&&(0,util_1$l.checkStrictMode)(e,"default is ignored in the schema root")}function updateContext(e){const t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,resolve_1$2.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function checkAsyncSchema(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function commentKeyword({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:o}){const s=r.$comment;if(!0===o.$comment)e.code(codegen_1$n._`${names_1$3.default.self}.logger.log(${s})`);else if("function"==typeof o.$comment){const r=codegen_1$n.str`${n}/$comment`,o=e.scopeValue("root",{ref:t.root});e.code(codegen_1$n._`${names_1$3.default.self}.opts.$comment(${s}, ${r}, ${o}.schema)`)}}function returnResults(e){const{gen:t,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=e;r.$async?t.if(codegen_1$n._`${names_1$3.default.errors} === 0`,(()=>t.return(names_1$3.default.data)),(()=>t.throw(codegen_1$n._`new ${o}(${names_1$3.default.vErrors})`))):(t.assign(codegen_1$n._`${n}.errors`,names_1$3.default.vErrors),s.unevaluated&&assignEvaluated(e),t.return(codegen_1$n._`${names_1$3.default.errors} === 0`))}function assignEvaluated({gen:e,evaluated:t,props:r,items:n}){r instanceof codegen_1$n.Name&&e.assign(codegen_1$n._`${t}.props`,r),n instanceof codegen_1$n.Name&&e.assign(codegen_1$n._`${t}.items`,n)}function schemaKeywords(e,t,r,n){const{gen:o,schema:s,data:i,allErrors:a,opts:c,self:l}=e,{RULES:d}=l;function p(l){(0,applicability_1.shouldUseGroup)(s,l)&&(l.type?(o.if((0,dataType_2.checkDataType)(l.type,i,c.strictNumbers)),iterateKeywords(e,l),1===t.length&&t[0]===l.type&&r&&(o.else(),(0,dataType_2.reportTypeError)(e)),o.endIf()):iterateKeywords(e,l),a||o.if(codegen_1$n._`${names_1$3.default.errors} === ${n||0}`))}!s.$ref||!c.ignoreKeywordsWithRef&&(0,util_1$l.schemaHasRulesButRef)(s,d)?(c.jtd||checkStrictTypes(e,t),o.block((()=>{for(const e of d.rules)p(e);p(d.post)}))):o.block((()=>keywordCode(e,"$ref",d.all.$ref.definition)))}function iterateKeywords(e,t){const{gen:r,schema:n,opts:{useDefaults:o}}=e;o&&(0,defaults_1.assignDefaults)(e,t.type),r.block((()=>{for(const r of t.rules)(0,applicability_1.shouldUseRule)(n,r)&&keywordCode(e,r.keyword,r.definition,t.type)}))}function checkStrictTypes(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(checkContextTypes(e,t),e.opts.allowUnionTypes||checkMultipleTypes(e,t),checkKeywordTypes(e,e.dataTypes))}function checkContextTypes(e,t){if(t.length){if(!e.dataTypes.length)return void(e.dataTypes=t);t.forEach((t=>{includesType(e.dataTypes,t)||strictTypesError(e,`type "${t}" not allowed by context "${e.dataTypes.join(",")}"`)})),narrowSchemaTypes(e,t)}}function checkMultipleTypes(e,t){t.length>1&&(2!==t.length||!t.includes("null"))&&strictTypesError(e,"use allowUnionTypes to allow union type keyword")}function checkKeywordTypes(e,t){const r=e.self.RULES.all;for(const n in r){const o=r[n];if("object"==typeof o&&(0,applicability_1.shouldUseRule)(e.schema,o)){const{type:r}=o.definition;r.length&&!r.some((e=>hasApplicableType(t,e)))&&strictTypesError(e,`missing type "${r.join(",")}" for keyword "${n}"`)}}}function hasApplicableType(e,t){return e.includes(t)||"number"===t&&e.includes("integer")}function includesType(e,t){return e.includes(t)||"integer"===t&&e.includes("number")}function narrowSchemaTypes(e,t){const r=[];for(const n of e.dataTypes)includesType(t,n)?r.push(n):t.includes("integer")&&"number"===n&&r.push("integer");e.dataTypes=r}function strictTypesError(e,t){t+=` at "${e.schemaEnv.baseId+e.errSchemaPath}" (strictTypes)`,(0,util_1$l.checkStrictMode)(e,t,e.opts.strictTypes)}validate.validateFunctionCode=validateFunctionCode;class KeywordCxt{constructor(e,t,r){if((0,keyword_1.validateKeywordUsage)(e,t,r),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=r,this.data=e.data,this.schema=e.schema[r],this.$data=t.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,util_1$l.schemaRefOrVal)(e,this.schema,r,this.$data),this.schemaType=t.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=t,this.$data)this.schemaCode=e.gen.const("vSchema",getData(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,keyword_1.validSchemaType)(this.schema,t.schemaType,t.allowUndefined))throw new Error(`${r} value must be ${JSON.stringify(t.schemaType)}`);("code"in t?t.trackErrors:!1!==t.errors)&&(this.errsCount=e.gen.const("_errs",names_1$3.default.errors))}result(e,t,r){this.failResult((0,codegen_1$n.not)(e),t,r)}failResult(e,t,r){this.gen.if(e),r?r():this.error(),t?(this.gen.else(),t(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,t){this.failResult((0,codegen_1$n.not)(e),void 0,t)}fail(e){if(void 0===e)return this.error(),void(this.allErrors||this.gen.if(!1));this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);const{schemaCode:t}=this;this.fail(codegen_1$n._`${t} !== undefined && (${(0,codegen_1$n.or)(this.invalid$data(),e)})`)}error(e,t,r){if(t)return this.setParams(t),this._error(e,r),void this.setParams({});this._error(e,r)}_error(e,t){(e?errors_1.reportExtraError:errors_1.reportError)(this,this.def.error,t)}$dataError(){(0,errors_1.reportError)(this,this.def.$dataError||errors_1.keyword$DataError)}reset(){if(void 0===this.errsCount)throw new Error('add "trackErrors" to keyword definition');(0,errors_1.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,t){t?Object.assign(this.params,e):this.params=e}block$data(e,t,r=codegen_1$n.nil){this.gen.block((()=>{this.check$data(e,r),t()}))}check$data(e=codegen_1$n.nil,t=codegen_1$n.nil){if(!this.$data)return;const{gen:r,schemaCode:n,schemaType:o,def:s}=this;r.if((0,codegen_1$n.or)(codegen_1$n._`${n} === undefined`,t)),e!==codegen_1$n.nil&&r.assign(e,!0),(o.length||s.validateSchema)&&(r.elseIf(this.invalid$data()),this.$dataError(),e!==codegen_1$n.nil&&r.assign(e,!1)),r.else()}invalid$data(){const{gen:e,schemaCode:t,schemaType:r,def:n,it:o}=this;return(0,codegen_1$n.or)(function(){if(r.length){if(!(t instanceof codegen_1$n.Name))throw new Error("ajv implementation error");const e=Array.isArray(r)?r:[r];return codegen_1$n._`${(0,dataType_2.checkDataTypes)(e,t,o.opts.strictNumbers,dataType_2.DataType.Wrong)}`}return codegen_1$n.nil}(),function(){if(n.validateSchema){const r=e.scopeValue("validate$data",{ref:n.validateSchema});return codegen_1$n._`!${r}(${t})`}return codegen_1$n.nil}())}subschema(e,t){const r=(0,subschema_1.getSubschema)(this.it,e);(0,subschema_1.extendSubschemaData)(r,this.it,e),(0,subschema_1.extendSubschemaMode)(r,e);const n={...this.it,...r,items:void 0,props:void 0};return subschemaCode(n,t),n}mergeEvaluated(e,t){const{it:r,gen:n}=this;r.opts.unevaluated&&(!0!==r.props&&void 0!==e.props&&(r.props=util_1$l.mergeEvaluated.props(n,e.props,r.props,t)),!0!==r.items&&void 0!==e.items&&(r.items=util_1$l.mergeEvaluated.items(n,e.items,r.items,t)))}mergeValidEvaluated(e,t){const{it:r,gen:n}=this;if(r.opts.unevaluated&&(!0!==r.props||!0!==r.items))return n.if(t,(()=>this.mergeEvaluated(e,codegen_1$n.Name))),!0}}function keywordCode(e,t,r,n){const o=new KeywordCxt(e,r,t);"code"in r?r.code(o,n):o.$data&&r.validate?(0,keyword_1.funcKeywordCode)(o,r):"macro"in r?(0,keyword_1.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,keyword_1.funcKeywordCode)(o,r)}validate.KeywordCxt=KeywordCxt;const JSON_POINTER=/^\/(?:[^~]|~0|~1)*$/,RELATIVE_JSON_POINTER=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function getData(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let o,s;if(""===e)return names_1$3.default.rootData;if("/"===e[0]){if(!JSON_POINTER.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);o=e,s=names_1$3.default.rootData}else{const i=RELATIVE_JSON_POINTER.exec(e);if(!i)throw new Error(`Invalid JSON-pointer: ${e}`);const a=+i[1];if(o=i[2],"#"===o){if(a>=t)throw new Error(c("property/index",a));return n[t-a]}if(a>t)throw new Error(c("data",a));if(s=r[t-a],!o)return s}let i=s;const a=o.split("/");for(const l of a)l&&(s=codegen_1$n._`${s}${(0,codegen_1$n.getProperty)((0,util_1$l.unescapeJsonPointer)(l))}`,i=codegen_1$n._`${i} && ${s}`);return i;function c(e,r){return`Cannot access ${e} ${r} levels up, current level is ${t}`}}validate.getData=getData;var validation_error={};Object.defineProperty(validation_error,"__esModule",{value:!0});class ValidationError extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}}validation_error.default=ValidationError;var ref_error={};Object.defineProperty(ref_error,"__esModule",{value:!0});const resolve_1$1=resolve$1;class MissingRefError extends Error{constructor(e,t,r,n){super(n||`can't resolve reference ${r} from id ${t}`),this.missingRef=(0,resolve_1$1.resolveUrl)(e,t,r),this.missingSchema=(0,resolve_1$1.normalizeId)((0,resolve_1$1.getFullPath)(e,this.missingRef))}}ref_error.default=MissingRefError;var compile={};Object.defineProperty(compile,"__esModule",{value:!0}),compile.resolveSchema=compile.getCompilingSchema=compile.resolveRef=compile.compileSchema=compile.SchemaEnv=void 0;const codegen_1$m=codegen,validation_error_1=validation_error,names_1$2=names$1,resolve_1=resolve$1,util_1$k=util,validate_1$1=validate;class SchemaEnv{constructor(e){var t;let r;this.refs={},this.dynamicAnchors={},"object"==typeof e.schema&&(r=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=null!==(t=e.baseId)&&void 0!==t?t:(0,resolve_1.normalizeId)(null==r?void 0:r[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=null==r?void 0:r.$async,this.refs={}}}function compileSchema(e){const t=getCompilingSchema.call(this,e);if(t)return t;const r=(0,resolve_1.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new codegen_1$m.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s});let a;e.$async&&(a=i.scopeValue("Error",{ref:validation_error_1.default,code:codegen_1$m._`require("ajv/dist/runtime/validation_error").default`}));const c=i.scopeName("validate");e.validateName=c;const l={gen:i,allErrors:this.opts.allErrors,data:names_1$2.default.data,parentData:names_1$2.default.parentData,parentDataProperty:names_1$2.default.parentDataProperty,dataNames:[names_1$2.default.data],dataPathArr:[codegen_1$m.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",!0===this.opts.code.source?{ref:e.schema,code:(0,codegen_1$m.stringify)(e.schema)}:{ref:e.schema}),validateName:c,ValidationError:a,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:codegen_1$m.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:codegen_1$m._`""`,opts:this.opts,self:this};let d;try{this._compilations.add(e),(0,validate_1$1.validateFunctionCode)(l),i.optimize(this.opts.code.optimize);const t=i.toString();d=`${i.scopeRefs(names_1$2.default.scope)}return ${t}`,this.opts.code.process&&(d=this.opts.code.process(d,e));const r=new Function(`${names_1$2.default.self}`,`${names_1$2.default.scope}`,d)(this,this.scope.get());if(this.scope.value(c,{ref:r}),r.errors=null,r.schema=e.schema,r.schemaEnv=e,e.$async&&(r.$async=!0),!0===this.opts.code.source&&(r.source={validateName:c,validateCode:t,scopeValues:i._values}),this.opts.unevaluated){const{props:e,items:t}=l;r.evaluated={props:e instanceof codegen_1$m.Name?void 0:e,items:t instanceof codegen_1$m.Name?void 0:t,dynamicProps:e instanceof codegen_1$m.Name,dynamicItems:t instanceof codegen_1$m.Name},r.source&&(r.source.evaluated=(0,codegen_1$m.stringify)(r.evaluated))}return e.validate=r,e}catch(p){throw delete e.validate,delete e.validateName,d&&this.logger.error("Error compiling schema, function code:",d),p}finally{this._compilations.delete(e)}}function resolveRef(e,t,r){var n;r=(0,resolve_1.resolveUrl)(this.opts.uriResolver,t,r);const o=e.refs[r];if(o)return o;let s=resolve.call(this,e,r);if(void 0===s){const o=null===(n=e.localRefs)||void 0===n?void 0:n[r],{schemaId:i}=this.opts;o&&(s=new SchemaEnv({schema:o,schemaId:i,root:e,baseId:t}))}return void 0!==s?e.refs[r]=inlineOrCompile.call(this,s):void 0}function inlineOrCompile(e){return(0,resolve_1.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:compileSchema.call(this,e)}function getCompilingSchema(e){for(const t of this._compilations)if(sameSchemaEnv(t,e))return t}function sameSchemaEnv(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function resolve(e,t){let r;for(;"string"==typeof(r=this.refs[t]);)t=r;return r||this.schemas[t]||resolveSchema.call(this,e,t)}function resolveSchema(e,t){const r=this.opts.uriResolver.parse(t),n=(0,resolve_1._getFullPath)(this.opts.uriResolver,r);let o=(0,resolve_1.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===o)return getJsonPointer.call(this,r,e);const s=(0,resolve_1.normalizeId)(n),i=this.refs[s]||this.schemas[s];if("string"==typeof i){const t=resolveSchema.call(this,e,i);return"object"!=typeof(null==t?void 0:t.schema)?void 0:getJsonPointer.call(this,r,t)}if("object"==typeof(null==i?void 0:i.schema)){if(i.validate||compileSchema.call(this,i),s===(0,resolve_1.normalizeId)(t)){const{schema:t}=i,{schemaId:r}=this.opts,n=t[r];return n&&(o=(0,resolve_1.resolveUrl)(this.opts.uriResolver,o,n)),new SchemaEnv({schema:t,schemaId:r,root:e,baseId:o})}return getJsonPointer.call(this,r,i)}}compile.SchemaEnv=SchemaEnv,compile.compileSchema=compileSchema,compile.resolveRef=resolveRef,compile.getCompilingSchema=getCompilingSchema,compile.resolveSchema=resolveSchema;const PREVENT_SCOPE_CHANGE=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function getJsonPointer(e,{baseId:t,schema:r,root:n}){var o;if("/"!==(null===(o=e.fragment)||void 0===o?void 0:o[0]))return;for(const a of e.fragment.slice(1).split("/")){if("boolean"==typeof r)return;const e=r[(0,util_1$k.unescapeFragment)(a)];if(void 0===e)return;const n="object"==typeof(r=e)&&r[this.opts.schemaId];!PREVENT_SCOPE_CHANGE.has(a)&&n&&(t=(0,resolve_1.resolveUrl)(this.opts.uriResolver,t,n))}let s;if("boolean"!=typeof r&&r.$ref&&!(0,util_1$k.schemaHasRulesButRef)(r,this.RULES)){const e=(0,resolve_1.resolveUrl)(this.opts.uriResolver,t,r.$ref);s=resolveSchema.call(this,n,e)}const{schemaId:i}=this.opts;return s=s||new SchemaEnv({schema:r,schemaId:i,root:n,baseId:t}),s.schema!==s.root.schema?s:void 0}const $id$1="https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description="Meta-schema for $data reference (JSON AnySchema extension proposal)",type$1="object",required$1=["$data"],properties$2={$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties$1=!1,require$$9={$id:$id$1,description:description,type:type$1,required:required$1,properties:properties$2,additionalProperties:additionalProperties$1};var uri$1={},uri_all={exports:{}},t;t=uri_all.exports,function(e){function t(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];if(t.length>1){t[0]=t[0].slice(0,-1);for(var n=t.length-1,o=1;o<n;++o)t[o]=t[o].slice(1,-1);return t[n]=t[n].slice(1),t.join("")}return t[0]}function r(e){return"(?:"+e+")"}function n(e){return void 0===e?"undefined":null===e?"null":Object.prototype.toString.call(e).split(" ").pop().split("]").shift().toLowerCase()}function o(e){return e.toUpperCase()}function s(e){return null!=e?e instanceof Array?e:"number"!=typeof e.length||e.split||e.setInterval||e.call?[e]:Array.prototype.slice.call(e):[]}function i(e,t){var r=e;if(t)for(var n in t)r[n]=t[n];return r}function a(e){var n="[A-Za-z]",o="[0-9]",s=t(o,"[A-Fa-f]"),i=r(r("%[EFef]"+s+"%"+s+s+"%"+s+s)+"|"+r("%[89A-Fa-f]"+s+"%"+s+s)+"|"+r("%"+s+s)),a="[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]",c=t("[\\:\\/\\?\\#\\[\\]\\@]",a),l=e?"[\\uE000-\\uF8FF]":"[]",d=t(n,o,"[\\-\\.\\_\\~]",e?"[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]":"[]");r(n+t(n,o,"[\\+\\-\\.]")+"*"),r(r(i+"|"+t(d,a,"[\\:]"))+"*");var p=r(r("25[0-5]")+"|"+r("2[0-4]"+o)+"|"+r("1"+o+o)+"|"+r("0?[1-9]"+o)+"|0?0?"+o),u=r(p+"\\."+p+"\\."+p+"\\."+p),h=r(s+"{1,4}"),f=r(r(h+"\\:"+h)+"|"+u),m=r(r(h+"\\:")+"{6}"+f),g=r("\\:\\:"+r(h+"\\:")+"{5}"+f),y=r(r(h)+"?\\:\\:"+r(h+"\\:")+"{4}"+f),_=r(r(r(h+"\\:")+"{0,1}"+h)+"?\\:\\:"+r(h+"\\:")+"{3}"+f),$=r(r(r(h+"\\:")+"{0,2}"+h)+"?\\:\\:"+r(h+"\\:")+"{2}"+f),v=r(r(r(h+"\\:")+"{0,3}"+h)+"?\\:\\:"+h+"\\:"+f),w=r(r(r(h+"\\:")+"{0,4}"+h)+"?\\:\\:"+f),b=r(r(r(h+"\\:")+"{0,5}"+h)+"?\\:\\:"+h),P=r(r(r(h+"\\:")+"{0,6}"+h)+"?\\:\\:"),E=r([m,g,y,_,$,v,w,b,P].join("|")),S=r(r(d+"|"+i)+"+");r("[vV]"+s+"+\\."+t(d,a,"[\\:]")+"+"),r(r(i+"|"+t(d,a))+"*");var k=r(i+"|"+t(d,a,"[\\:\\@]"));return r(r(i+"|"+t(d,a,"[\\@]"))+"+"),r(r(k+"|"+t("[\\/\\?]",l))+"*"),{NOT_SCHEME:new RegExp(t("[^]",n,o,"[\\+\\-\\.]"),"g"),NOT_USERINFO:new RegExp(t("[^\\%\\:]",d,a),"g"),NOT_HOST:new RegExp(t("[^\\%\\[\\]\\:]",d,a),"g"),NOT_PATH:new RegExp(t("[^\\%\\/\\:\\@]",d,a),"g"),NOT_PATH_NOSCHEME:new RegExp(t("[^\\%\\/\\@]",d,a),"g"),NOT_QUERY:new RegExp(t("[^\\%]",d,a,"[\\:\\@\\/\\?]",l),"g"),NOT_FRAGMENT:new RegExp(t("[^\\%]",d,a,"[\\:\\@\\/\\?]"),"g"),ESCAPE:new RegExp(t("[^]",d,a),"g"),UNRESERVED:new RegExp(d,"g"),OTHER_CHARS:new RegExp(t("[^\\%]",d,c),"g"),PCT_ENCODED:new RegExp(i,"g"),IPV4ADDRESS:new RegExp("^("+u+")$"),IPV6ADDRESS:new RegExp("^\\[?("+E+")"+r(r("\\%25|\\%(?!"+s+"{2})")+"("+S+")")+"?\\]?$")}}var c=a(!1),l=a(!0),d=function(){function e(e,t){var r=[],n=!0,o=!1,s=void 0;try{for(var i,a=e[Symbol.iterator]();!(n=(i=a.next()).done)&&(r.push(i.value),!t||r.length!==t);n=!0);}catch(c){o=!0,s=c}finally{try{!n&&a.return&&a.return()}finally{if(o)throw s}}return r}return function(t,r){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),p=function(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)},u=2147483647,h=36,f=1,m=26,g=38,y=700,_=72,$=128,v="-",w=/^xn--/,b=/[^\0-\x7E]/,P=/[\x2E\u3002\uFF0E\uFF61]/g,E={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},S=h-f,k=Math.floor,T=String.fromCharCode;function R(e){throw new RangeError(E[e])}function C(e,t){for(var r=[],n=e.length;n--;)r[n]=t(e[n]);return r}function x(e,t){var r=e.split("@"),n="";return r.length>1&&(n=r[0]+"@",e=r[1]),n+C((e=e.replace(P,".")).split("."),t).join(".")}function j(e){for(var t=[],r=0,n=e.length;r<n;){var o=e.charCodeAt(r++);if(o>=55296&&o<=56319&&r<n){var s=e.charCodeAt(r++);56320==(64512&s)?t.push(((1023&o)<<10)+(1023&s)+65536):(t.push(o),r--)}else t.push(o)}return t}var N=function(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:h},O=function(e,t){return e+22+75*(e<26)-((0!=t)<<5)},I=function(e,t,r){var n=0;for(e=r?k(e/y):e>>1,e+=k(e/t);e>S*m>>1;n+=h)e=k(e/S);return k(n+(S+1)*e/(e+g))},A=function(e){var t=[],r=e.length,n=0,o=$,s=_,i=e.lastIndexOf(v);i<0&&(i=0);for(var a=0;a<i;++a)e.charCodeAt(a)>=128&&R("not-basic"),t.push(e.charCodeAt(a));for(var c=i>0?i+1:0;c<r;){for(var l=n,d=1,p=h;;p+=h){c>=r&&R("invalid-input");var g=N(e.charCodeAt(c++));(g>=h||g>k((u-n)/d))&&R("overflow"),n+=g*d;var y=p<=s?f:p>=s+m?m:p-s;if(g<y)break;var w=h-y;d>k(u/w)&&R("overflow"),d*=w}var b=t.length+1;s=I(n-l,b,0==l),k(n/b)>u-o&&R("overflow"),o+=k(n/b),n%=b,t.splice(n++,0,o)}return String.fromCodePoint.apply(String,t)},F=function(e){var t=[],r=(e=j(e)).length,n=$,o=0,s=_,i=!0,a=!1,c=void 0;try{for(var l,d=e[Symbol.iterator]();!(i=(l=d.next()).done);i=!0){var p=l.value;p<128&&t.push(T(p))}}catch(B){a=!0,c=B}finally{try{!i&&d.return&&d.return()}finally{if(a)throw c}}var g=t.length,y=g;for(g&&t.push(v);y<r;){var w=u,b=!0,P=!1,E=void 0;try{for(var S,C=e[Symbol.iterator]();!(b=(S=C.next()).done);b=!0){var x=S.value;x>=n&&x<w&&(w=x)}}catch(B){P=!0,E=B}finally{try{!b&&C.return&&C.return()}finally{if(P)throw E}}var N=y+1;w-n>k((u-o)/N)&&R("overflow"),o+=(w-n)*N,n=w;var A=!0,F=!1,D=void 0;try{for(var M,q=e[Symbol.iterator]();!(A=(M=q.next()).done);A=!0){var H=M.value;if(H<n&&++o>u&&R("overflow"),H==n){for(var L=o,U=h;;U+=h){var W=U<=s?f:U>=s+m?m:U-s;if(L<W)break;var V=L-W,z=h-W;t.push(T(O(W+V%z,0))),L=k(V/z)}t.push(T(O(L,0))),s=I(o,N,y==g),o=0,++y}}}catch(B){F=!0,D=B}finally{try{!A&&q.return&&q.return()}finally{if(F)throw D}}++o,++n}return t.join("")},D=function(e){return x(e,(function(e){return w.test(e)?A(e.slice(4).toLowerCase()):e}))},M=function(e){return x(e,(function(e){return b.test(e)?"xn--"+F(e):e}))},q={version:"2.1.0",ucs2:{decode:j,encode:function(e){return String.fromCodePoint.apply(String,p(e))}},decode:A,encode:F,toASCII:M,toUnicode:D},H={};function L(e){var t=e.charCodeAt(0);return t<16?"%0"+t.toString(16).toUpperCase():t<128?"%"+t.toString(16).toUpperCase():t<2048?"%"+(t>>6|192).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase():"%"+(t>>12|224).toString(16).toUpperCase()+"%"+(t>>6&63|128).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase()}function U(e){for(var t="",r=0,n=e.length;r<n;){var o=parseInt(e.substr(r+1,2),16);if(o<128)t+=String.fromCharCode(o),r+=3;else if(o>=194&&o<224){if(n-r>=6){var s=parseInt(e.substr(r+4,2),16);t+=String.fromCharCode((31&o)<<6|63&s)}else t+=e.substr(r,6);r+=6}else if(o>=224){if(n-r>=9){var i=parseInt(e.substr(r+4,2),16),a=parseInt(e.substr(r+7,2),16);t+=String.fromCharCode((15&o)<<12|(63&i)<<6|63&a)}else t+=e.substr(r,9);r+=9}else t+=e.substr(r,3),r+=3}return t}function W(e,t){function r(e){var r=U(e);return r.match(t.UNRESERVED)?r:e}return e.scheme&&(e.scheme=String(e.scheme).replace(t.PCT_ENCODED,r).toLowerCase().replace(t.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,r).replace(t.NOT_USERINFO,L).replace(t.PCT_ENCODED,o)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,r).toLowerCase().replace(t.NOT_HOST,L).replace(t.PCT_ENCODED,o)),void 0!==e.path&&(e.path=String(e.path).replace(t.PCT_ENCODED,r).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,L).replace(t.PCT_ENCODED,o)),void 0!==e.query&&(e.query=String(e.query).replace(t.PCT_ENCODED,r).replace(t.NOT_QUERY,L).replace(t.PCT_ENCODED,o)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,r).replace(t.NOT_FRAGMENT,L).replace(t.PCT_ENCODED,o)),e}function V(e){return e.replace(/^0*(.*)/,"$1")||"0"}function z(e,t){var r=e.match(t.IPV4ADDRESS)||[],n=d(r,2)[1];return n?n.split(".").map(V).join("."):e}function B(e,t){var r=e.match(t.IPV6ADDRESS)||[],n=d(r,3),o=n[1],s=n[2];if(o){for(var i=o.toLowerCase().split("::").reverse(),a=d(i,2),c=a[0],l=a[1],p=l?l.split(":").map(V):[],u=c.split(":").map(V),h=t.IPV4ADDRESS.test(u[u.length-1]),f=h?7:8,m=u.length-f,g=Array(f),y=0;y<f;++y)g[y]=p[y]||u[m+y]||"";h&&(g[f-1]=z(g[f-1],t));var _=g.reduce((function(e,t,r){if(!t||"0"===t){var n=e[e.length-1];n&&n.index+n.length===r?n.length++:e.push({index:r,length:1})}return e}),[]).sort((function(e,t){return t.length-e.length}))[0],$=void 0;if(_&&_.length>1){var v=g.slice(0,_.index),w=g.slice(_.index+_.length);$=v.join(":")+"::"+w.join(":")}else $=g.join(":");return s&&($+="%"+s),$}return e}var G=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,K=void 0==="".match(/(){0}/)[1];function Q(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r={},n=!1!==t.iri?l:c;"suffix"===t.reference&&(e=(t.scheme?t.scheme+":":"")+"//"+e);var o=e.match(G);if(o){K?(r.scheme=o[1],r.userinfo=o[3],r.host=o[4],r.port=parseInt(o[5],10),r.path=o[6]||"",r.query=o[7],r.fragment=o[8],isNaN(r.port)&&(r.port=o[5])):(r.scheme=o[1]||void 0,r.userinfo=-1!==e.indexOf("@")?o[3]:void 0,r.host=-1!==e.indexOf("//")?o[4]:void 0,r.port=parseInt(o[5],10),r.path=o[6]||"",r.query=-1!==e.indexOf("?")?o[7]:void 0,r.fragment=-1!==e.indexOf("#")?o[8]:void 0,isNaN(r.port)&&(r.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?o[4]:void 0)),r.host&&(r.host=B(z(r.host,n),n)),void 0!==r.scheme||void 0!==r.userinfo||void 0!==r.host||void 0!==r.port||r.path||void 0!==r.query?void 0===r.scheme?r.reference="relative":void 0===r.fragment?r.reference="absolute":r.reference="uri":r.reference="same-document",t.reference&&"suffix"!==t.reference&&t.reference!==r.reference&&(r.error=r.error||"URI is not a "+t.reference+" reference.");var s=H[(t.scheme||r.scheme||"").toLowerCase()];if(t.unicodeSupport||s&&s.unicodeSupport)W(r,n);else{if(r.host&&(t.domainHost||s&&s.domainHost))try{r.host=q.toASCII(r.host.replace(n.PCT_ENCODED,U).toLowerCase())}catch(i){r.error=r.error||"Host's domain name can not be converted to ASCII via punycode: "+i}W(r,c)}s&&s.parse&&s.parse(r,t)}else r.error=r.error||"URI can not be parsed.";return r}function J(e,t){var r=!1!==t.iri?l:c,n=[];return void 0!==e.userinfo&&(n.push(e.userinfo),n.push("@")),void 0!==e.host&&n.push(B(z(String(e.host),r),r).replace(r.IPV6ADDRESS,(function(e,t,r){return"["+t+(r?"%25"+r:"")+"]"}))),("number"==typeof e.port||"string"==typeof e.port)&&(n.push(":"),n.push(String(e.port))),n.length?n.join(""):void 0}var Z=/^\.\.?\//,Y=/^\/\.(\/|$)/,X=/^\/\.\.(\/|$)/,ee=/^\/?(?:.|\n)*?(?=\/|$)/;function te(e){for(var t=[];e.length;)if(e.match(Z))e=e.replace(Z,"");else if(e.match(Y))e=e.replace(Y,"/");else if(e.match(X))e=e.replace(X,"/"),t.pop();else if("."===e||".."===e)e="";else{var r=e.match(ee);if(!r)throw new Error("Unexpected dot segment condition");var n=r[0];e=e.slice(n.length),t.push(n)}return t.join("")}function re(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.iri?l:c,n=[],o=H[(t.scheme||e.scheme||"").toLowerCase()];if(o&&o.serialize&&o.serialize(e,t),e.host&&!r.IPV6ADDRESS.test(e.host)&&(t.domainHost||o&&o.domainHost))try{e.host=t.iri?q.toUnicode(e.host):q.toASCII(e.host.replace(r.PCT_ENCODED,U).toLowerCase())}catch(a){e.error=e.error||"Host's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+a}W(e,r),"suffix"!==t.reference&&e.scheme&&(n.push(e.scheme),n.push(":"));var s=J(e,t);if(void 0!==s&&("suffix"!==t.reference&&n.push("//"),n.push(s),e.path&&"/"!==e.path.charAt(0)&&n.push("/")),void 0!==e.path){var i=e.path;!t.absolutePath&&(!o||!o.absolutePath)&&(i=te(i)),void 0===s&&(i=i.replace(/^\/\//,"/%2F")),n.push(i)}return void 0!==e.query&&(n.push("?"),n.push(e.query)),void 0!==e.fragment&&(n.push("#"),n.push(e.fragment)),n.join("")}function ne(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n={};return arguments[3]||(e=Q(re(e,r),r),t=Q(re(t,r),r)),!(r=r||{}).tolerant&&t.scheme?(n.scheme=t.scheme,n.userinfo=t.userinfo,n.host=t.host,n.port=t.port,n.path=te(t.path||""),n.query=t.query):(void 0!==t.userinfo||void 0!==t.host||void 0!==t.port?(n.userinfo=t.userinfo,n.host=t.host,n.port=t.port,n.path=te(t.path||""),n.query=t.query):(t.path?("/"===t.path.charAt(0)?n.path=te(t.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?n.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:n.path=t.path:n.path="/"+t.path,n.path=te(n.path)),n.query=t.query):(n.path=e.path,void 0!==t.query?n.query=t.query:n.query=e.query),n.userinfo=e.userinfo,n.host=e.host,n.port=e.port),n.scheme=e.scheme),n.fragment=t.fragment,n}function oe(e,t,r){var n=i({scheme:"null"},r);return re(ne(Q(e,n),Q(t,n),n,!0),n)}function se(e,t){return"string"==typeof e?e=re(Q(e,t),t):"object"===n(e)&&(e=Q(re(e,t),t)),e}function ie(e,t,r){return"string"==typeof e?e=re(Q(e,r),r):"object"===n(e)&&(e=re(e,r)),"string"==typeof t?t=re(Q(t,r),r):"object"===n(t)&&(t=re(t,r)),e===t}function ae(e,t){return e&&e.toString().replace(t&&t.iri?l.ESCAPE:c.ESCAPE,L)}function ce(e,t){return e&&e.toString().replace(t&&t.iri?l.PCT_ENCODED:c.PCT_ENCODED,U)}var le={scheme:"http",domainHost:!0,parse:function(e,t){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,t){var r="https"===String(e.scheme).toLowerCase();return(e.port===(r?443:80)||""===e.port)&&(e.port=void 0),e.path||(e.path="/"),e}},de={scheme:"https",domainHost:le.domainHost,parse:le.parse,serialize:le.serialize};function pe(e){return"boolean"==typeof e.secure?e.secure:"wss"===String(e.scheme).toLowerCase()}var ue={scheme:"ws",domainHost:!0,parse:function(e,t){var r=e;return r.secure=pe(r),r.resourceName=(r.path||"/")+(r.query?"?"+r.query:""),r.path=void 0,r.query=void 0,r},serialize:function(e,t){if((e.port===(pe(e)?443:80)||""===e.port)&&(e.port=void 0),"boolean"==typeof e.secure&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){var r=e.resourceName.split("?"),n=d(r,2),o=n[0],s=n[1];e.path=o&&"/"!==o?o:void 0,e.query=s,e.resourceName=void 0}return e.fragment=void 0,e}},he={scheme:"wss",domainHost:ue.domainHost,parse:ue.parse,serialize:ue.serialize},fe={},me="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",ge="[0-9A-Fa-f]",ye=r(r("%[EFef]"+ge+"%"+ge+ge+"%"+ge+ge)+"|"+r("%[89A-Fa-f]"+ge+"%"+ge+ge)+"|"+r("%"+ge+ge)),_e="[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]",$e=t("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),ve="[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]",we=new RegExp(me,"g"),be=new RegExp(ye,"g"),Pe=new RegExp(t("[^]",_e,"[\\.]",'[\\"]',$e),"g"),Ee=new RegExp(t("[^]",me,ve),"g"),Se=Ee;function ke(e){var t=U(e);return t.match(we)?t:e}var Te={scheme:"mailto",parse:function(e,t){var r=e,n=r.to=r.path?r.path.split(","):[];if(r.path=void 0,r.query){for(var o=!1,s={},i=r.query.split("&"),a=0,c=i.length;a<c;++a){var l=i[a].split("=");switch(l[0]){case"to":for(var d=l[1].split(","),p=0,u=d.length;p<u;++p)n.push(d[p]);break;case"subject":r.subject=ce(l[1],t);break;case"body":r.body=ce(l[1],t);break;default:o=!0,s[ce(l[0],t)]=ce(l[1],t)}}o&&(r.headers=s)}r.query=void 0;for(var h=0,f=n.length;h<f;++h){var m=n[h].split("@");if(m[0]=ce(m[0]),t.unicodeSupport)m[1]=ce(m[1],t).toLowerCase();else try{m[1]=q.toASCII(ce(m[1],t).toLowerCase())}catch(g){r.error=r.error||"Email address's domain name can not be converted to ASCII via punycode: "+g}n[h]=m.join("@")}return r},serialize:function(e,t){var r=e,n=s(e.to);if(n){for(var i=0,a=n.length;i<a;++i){var c=String(n[i]),l=c.lastIndexOf("@"),d=c.slice(0,l).replace(be,ke).replace(be,o).replace(Pe,L),p=c.slice(l+1);try{p=t.iri?q.toUnicode(p):q.toASCII(ce(p,t).toLowerCase())}catch(m){r.error=r.error||"Email address's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+m}n[i]=d+"@"+p}r.path=n.join(",")}var u=e.headers=e.headers||{};e.subject&&(u.subject=e.subject),e.body&&(u.body=e.body);var h=[];for(var f in u)u[f]!==fe[f]&&h.push(f.replace(be,ke).replace(be,o).replace(Ee,L)+"="+u[f].replace(be,ke).replace(be,o).replace(Se,L));return h.length&&(r.query=h.join("&")),r}},Re=/^([^\:]+)\:(.*)/,Ce={scheme:"urn",parse:function(e,t){var r=e.path&&e.path.match(Re),n=e;if(r){var o=t.scheme||n.scheme||"urn",s=r[1].toLowerCase(),i=r[2],a=o+":"+(t.nid||s),c=H[a];n.nid=s,n.nss=i,n.path=void 0,c&&(n=c.parse(n,t))}else n.error=n.error||"URN can not be parsed.";return n},serialize:function(e,t){var r=t.scheme||e.scheme||"urn",n=e.nid,o=r+":"+(t.nid||n),s=H[o];s&&(e=s.serialize(e,t));var i=e,a=e.nss;return i.path=(n||t.nid)+":"+a,i}},xe=/^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/,je={scheme:"urn:uuid",parse:function(e,t){var r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!r.uuid.match(xe))&&(r.error=r.error||"UUID is not valid."),r},serialize:function(e,t){var r=e;return r.nss=(e.uuid||"").toLowerCase(),r}};H[le.scheme]=le,H[de.scheme]=de,H[ue.scheme]=ue,H[he.scheme]=he,H[Te.scheme]=Te,H[Ce.scheme]=Ce,H[je.scheme]=je,e.SCHEMES=H,e.pctEncChar=L,e.pctDecChars=U,e.parse=Q,e.removeDotSegments=te,e.serialize=re,e.resolveComponents=ne,e.resolve=oe,e.normalize=se,e.equal=ie,e.escapeComponent=ae,e.unescapeComponent=ce,Object.defineProperty(e,"__esModule",{value:!0})}(t);var uri_allExports=uri_all.exports;Object.defineProperty(uri$1,"__esModule",{value:!0});const uri=uri_allExports;uri.code='require("ajv/dist/runtime/uri").default',uri$1.default=uri,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.CodeGen=e.Name=e.nil=e.stringify=e.str=e._=e.KeywordCxt=void 0;var t=validate;Object.defineProperty(e,"KeywordCxt",{enumerable:!0,get:function(){return t.KeywordCxt}});var r=codegen;Object.defineProperty(e,"_",{enumerable:!0,get:function(){return r._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return r.Name}}),Object.defineProperty(e,"CodeGen",{enumerable:!0,get:function(){return r.CodeGen}});const n=validation_error,o=ref_error,s=rules,i=compile,a=codegen,c=resolve$1,l=dataType,d=util,p=require$$9,u=uri$1,h=(e,t)=>new RegExp(e,t);h.code="new RegExp";const f=["removeAdditional","useDefaults","coerceTypes"],m=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),g={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},y={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'};function _(e){var t,r,n,o,s,i,a,c,l,d,p,f,m,g,y,_,$,v,w,b,P,E,S,k,T;const R=e.strict,C=null===(t=e.code)||void 0===t?void 0:t.optimize,x=!0===C||void 0===C?1:C||0,j=null!==(n=null===(r=e.code)||void 0===r?void 0:r.regExp)&&void 0!==n?n:h,N=null!==(o=e.uriResolver)&&void 0!==o?o:u.default;return{strictSchema:null===(i=null!==(s=e.strictSchema)&&void 0!==s?s:R)||void 0===i||i,strictNumbers:null===(c=null!==(a=e.strictNumbers)&&void 0!==a?a:R)||void 0===c||c,strictTypes:null!==(d=null!==(l=e.strictTypes)&&void 0!==l?l:R)&&void 0!==d?d:"log",strictTuples:null!==(f=null!==(p=e.strictTuples)&&void 0!==p?p:R)&&void 0!==f?f:"log",strictRequired:null!==(g=null!==(m=e.strictRequired)&&void 0!==m?m:R)&&void 0!==g&&g,code:e.code?{...e.code,optimize:x,regExp:j}:{optimize:x,regExp:j},loopRequired:null!==(y=e.loopRequired)&&void 0!==y?y:200,loopEnum:null!==(_=e.loopEnum)&&void 0!==_?_:200,meta:null===($=e.meta)||void 0===$||$,messages:null===(v=e.messages)||void 0===v||v,inlineRefs:null===(w=e.inlineRefs)||void 0===w||w,schemaId:null!==(b=e.schemaId)&&void 0!==b?b:"$id",addUsedSchema:null===(P=e.addUsedSchema)||void 0===P||P,validateSchema:null===(E=e.validateSchema)||void 0===E||E,validateFormats:null===(S=e.validateFormats)||void 0===S||S,unicodeRegExp:null===(k=e.unicodeRegExp)||void 0===k||k,int32range:null===(T=e.int32range)||void 0===T||T,uriResolver:N}}class ${constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,..._(e)};const{es5:t,lines:r}=this.opts.code;this.scope=new a.ValueScope({scope:{},prefixes:m,es5:t,lines:r}),this.logger=function(e){if(!1===e)return k;if(void 0===e)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}(e.logger);const n=e.validateFormats;e.validateFormats=!1,this.RULES=(0,s.getRules)(),v.call(this,g,e,"NOT SUPPORTED"),v.call(this,y,e,"DEPRECATED","warn"),this._metaOpts=S.call(this),e.formats&&P.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&E.call(this,e.keywords),"object"==typeof e.meta&&this.addMetaSchema(e.meta),b.call(this),e.validateFormats=n}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:e,meta:t,schemaId:r}=this.opts;let n=p;"id"===r&&(n={...p},n.id=n.$id,delete n.$id),t&&e&&this.addMetaSchema(n,n[r],!1)}defaultMeta(){const{meta:e,schemaId:t}=this.opts;return this.opts.defaultMeta="object"==typeof e?e[t]||e:void 0}validate(e,t){let r;if("string"==typeof e){if(r=this.getSchema(e),!r)throw new Error(`no schema with key or ref "${e}"`)}else r=this.compile(e);const n=r(t);return"$async"in r||(this.errors=r.errors),n}compile(e,t){const r=this._addSchema(e,t);return r.validate||this._compileSchemaEnv(r)}compileAsync(e,t){if("function"!=typeof this.opts.loadSchema)throw new Error("options.loadSchema should be a function");const{loadSchema:r}=this.opts;return n.call(this,e,t);async function n(e,t){await s.call(this,e.$schema);const r=this._addSchema(e,t);return r.validate||i.call(this,r)}async function s(e){e&&!this.getSchema(e)&&await n.call(this,{$ref:e},!0)}async function i(e){try{return this._compileSchemaEnv(e)}catch(t){if(!(t instanceof o.default))throw t;return a.call(this,t),await c.call(this,t.missingSchema),i.call(this,e)}}function a({missingSchema:e,missingRef:t}){if(this.refs[e])throw new Error(`AnySchema ${e} is loaded but ${t} cannot be resolved`)}async function c(e){const r=await l.call(this,e);this.refs[e]||await s.call(this,r.$schema),this.refs[e]||this.addSchema(r,e,t)}async function l(e){const t=this._loading[e];if(t)return t;try{return await(this._loading[e]=r(e))}finally{delete this._loading[e]}}}addSchema(e,t,r,n=this.opts.validateSchema){if(Array.isArray(e)){for(const t of e)this.addSchema(t,void 0,r,n);return this}let o;if("object"==typeof e){const{schemaId:t}=this.opts;if(o=e[t],void 0!==o&&"string"!=typeof o)throw new Error(`schema ${t} must be string`)}return t=(0,c.normalizeId)(t||o),this._checkUnique(t),this.schemas[t]=this._addSchema(e,r,t,n,!0),this}addMetaSchema(e,t,r=this.opts.validateSchema){return this.addSchema(e,t,!0,r),this}validateSchema(e,t){if("boolean"==typeof e)return!0;let r;if(r=e.$schema,void 0!==r&&"string"!=typeof r)throw new Error("$schema must be a string");if(r=r||this.opts.defaultMeta||this.defaultMeta(),!r)return this.logger.warn("meta-schema not available"),this.errors=null,!0;const n=this.validate(r,e);if(!n&&t){const e="schema is invalid: "+this.errorsText();if("log"!==this.opts.validateSchema)throw new Error(e);this.logger.error(e)}return n}getSchema(e){let t;for(;"string"==typeof(t=w.call(this,e));)e=t;if(void 0===t){const{schemaId:r}=this.opts,n=new i.SchemaEnv({schema:{},schemaId:r});if(t=i.resolveSchema.call(this,n,e),!t)return;this.refs[e]=t}return t.validate||this._compileSchemaEnv(t)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const t=w.call(this,e);return"object"==typeof t&&this._cache.delete(t.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{const t=e;this._cache.delete(t);let r=e[this.opts.schemaId];return r&&(r=(0,c.normalizeId)(r),delete this.schemas[r],delete this.refs[r]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(const t of e)this.addKeyword(t);return this}addKeyword(e,t){let r;if("string"==typeof e)r=e,"object"==typeof t&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),t.keyword=r);else{if("object"!=typeof e||void 0!==t)throw new Error("invalid addKeywords parameters");if(r=(t=e).keyword,Array.isArray(r)&&!r.length)throw new Error("addKeywords: keyword must be string or non-empty array")}if(R.call(this,r,t),!t)return(0,d.eachItem)(r,(e=>C.call(this,e))),this;j.call(this,t);const n={...t,type:(0,l.getJSONTypes)(t.type),schemaType:(0,l.getJSONTypes)(t.schemaType)};return(0,d.eachItem)(r,0===n.type.length?e=>C.call(this,e,n):e=>n.type.forEach((t=>C.call(this,e,n,t)))),this}getKeyword(e){const t=this.RULES.all[e];return"object"==typeof t?t.definition:!!t}removeKeyword(e){const{RULES:t}=this;delete t.keywords[e],delete t.all[e];for(const r of t.rules){const t=r.rules.findIndex((t=>t.keyword===e));t>=0&&r.rules.splice(t,1)}return this}addFormat(e,t){return"string"==typeof t&&(t=new RegExp(t)),this.formats[e]=t,this}errorsText(e=this.errors,{separator:t=", ",dataVar:r="data"}={}){return e&&0!==e.length?e.map((e=>`${r}${e.instancePath} ${e.message}`)).reduce(((e,r)=>e+t+r)):"No errors"}$dataMetaSchema(e,t){const r=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(const n of t){const t=n.split("/").slice(1);let o=e;for(const e of t)o=o[e];for(const e in r){const t=r[e];if("object"!=typeof t)continue;const{$data:n}=t.definition,s=o[e];n&&s&&(o[e]=O(s))}}return e}_removeAllSchemas(e,t){for(const r in e){const n=e[r];(!t||t.test(r))&&("string"==typeof n?delete e[r]:n&&!n.meta&&(this._cache.delete(n.schema),delete e[r]))}}_addSchema(e,t,r,n=this.opts.validateSchema,o=this.opts.addUsedSchema){let s;const{schemaId:a}=this.opts;if("object"==typeof e)s=e[a];else{if(this.opts.jtd)throw new Error("schema must be object");if("boolean"!=typeof e)throw new Error("schema must be object or boolean")}let l=this._cache.get(e);if(void 0!==l)return l;r=(0,c.normalizeId)(s||r);const d=c.getSchemaRefs.call(this,e,r);return l=new i.SchemaEnv({schema:e,schemaId:a,meta:t,baseId:r,localRefs:d}),this._cache.set(l.schema,l),o&&!r.startsWith("#")&&(r&&this._checkUnique(r),this.refs[r]=l),n&&this.validateSchema(e,!0),l}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):i.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){const t=this.opts;this.opts=this._metaOpts;try{i.compileSchema.call(this,e)}finally{this.opts=t}}}function v(e,t,r,n="error"){for(const o in e){const s=o;s in t&&this.logger[n](`${r}: option ${o}. ${e[s]}`)}}function w(e){return e=(0,c.normalizeId)(e),this.schemas[e]||this.refs[e]}function b(){const e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(const t in e)this.addSchema(e[t],t)}function P(){for(const e in this.opts.formats){const t=this.opts.formats[e];t&&this.addFormat(e,t)}}function E(e){if(Array.isArray(e))this.addVocabulary(e);else{this.logger.warn("keywords option as map is deprecated, pass array");for(const t in e){const r=e[t];r.keyword||(r.keyword=t),this.addKeyword(r)}}}function S(){const e={...this.opts};for(const t of f)delete e[t];return e}e.default=$,$.ValidationError=n.default,$.MissingRefError=o.default;const k={log(){},warn(){},error(){}};const T=/^[a-z_$][a-z0-9_$:-]*$/i;function R(e,t){const{RULES:r}=this;if((0,d.eachItem)(e,(e=>{if(r.keywords[e])throw new Error(`Keyword ${e} is already defined`);if(!T.test(e))throw new Error(`Keyword ${e} has invalid name`)})),t&&t.$data&&!("code"in t)&&!("validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function C(e,t,r){var n;const o=null==t?void 0:t.post;if(r&&o)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:s}=this;let i=o?s.post:s.rules.find((({type:e})=>e===r));if(i||(i={type:r,rules:[]},s.rules.push(i)),s.keywords[e]=!0,!t)return;const a={keyword:e,definition:{...t,type:(0,l.getJSONTypes)(t.type),schemaType:(0,l.getJSONTypes)(t.schemaType)}};t.before?x.call(this,i,a,t.before):i.rules.push(a),s.all[e]=a,null===(n=t.implements)||void 0===n||n.forEach((e=>this.addKeyword(e)))}function x(e,t,r){const n=e.rules.findIndex((e=>e.keyword===r));n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`))}function j(e){let{metaSchema:t}=e;void 0!==t&&(e.$data&&this.opts.$data&&(t=O(t)),e.validateSchema=this.compile(t,!0))}const N={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function O(e){return{anyOf:[e,N]}}}(core$2);var draft7={},core$1={},id={};Object.defineProperty(id,"__esModule",{value:!0});const def$s={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};id.default=def$s;var ref={};Object.defineProperty(ref,"__esModule",{value:!0}),ref.callRef=ref.getValidate=void 0;const ref_error_1=ref_error,code_1$8=code,codegen_1$l=codegen,names_1$1=names$1,compile_1$1=compile,util_1$j=util,def$r={keyword:"$ref",schemaType:"string",code(e){const{gen:t,schema:r,it:n}=e,{baseId:o,schemaEnv:s,validateName:i,opts:a,self:c}=n,{root:l}=s;if(("#"===r||"#/"===r)&&o===l.baseId)return function(){if(s===l)return callRef(e,i,s,s.$async);const r=t.scopeValue("root",{ref:l});return callRef(e,codegen_1$l._`${r}.validate`,l,l.$async)}();const d=compile_1$1.resolveRef.call(c,l,o,r);if(void 0===d)throw new ref_error_1.default(n.opts.uriResolver,o,r);return d instanceof compile_1$1.SchemaEnv?function(t){const r=getValidate(e,t);callRef(e,r,t,t.$async)}(d):function(n){const o=t.scopeValue("schema",!0===a.code.source?{ref:n,code:(0,codegen_1$l.stringify)(n)}:{ref:n}),s=t.name("valid"),i=e.subschema({schema:n,dataTypes:[],schemaPath:codegen_1$l.nil,topSchemaRef:o,errSchemaPath:r},s);e.mergeEvaluated(i),e.ok(s)}(d)}};function getValidate(e,t){const{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):codegen_1$l._`${r.scopeValue("wrapper",{ref:t})}.validate`}function callRef(e,t,r,n){const{gen:o,it:s}=e,{allErrors:i,schemaEnv:a,opts:c}=s,l=c.passContext?names_1$1.default.this:codegen_1$l.nil;function d(e){const t=codegen_1$l._`${e}.errors`;o.assign(names_1$1.default.vErrors,codegen_1$l._`${names_1$1.default.vErrors} === null ? ${t} : ${names_1$1.default.vErrors}.concat(${t})`),o.assign(names_1$1.default.errors,codegen_1$l._`${names_1$1.default.vErrors}.length`)}function p(e){var t;if(!s.opts.unevaluated)return;const n=null===(t=null==r?void 0:r.validate)||void 0===t?void 0:t.evaluated;if(!0!==s.props)if(n&&!n.dynamicProps)void 0!==n.props&&(s.props=util_1$j.mergeEvaluated.props(o,n.props,s.props));else{const t=o.var("props",codegen_1$l._`${e}.evaluated.props`);s.props=util_1$j.mergeEvaluated.props(o,t,s.props,codegen_1$l.Name)}if(!0!==s.items)if(n&&!n.dynamicItems)void 0!==n.items&&(s.items=util_1$j.mergeEvaluated.items(o,n.items,s.items));else{const t=o.var("items",codegen_1$l._`${e}.evaluated.items`);s.items=util_1$j.mergeEvaluated.items(o,t,s.items,codegen_1$l.Name)}}n?function(){if(!a.$async)throw new Error("async schema referenced by sync schema");const r=o.let("valid");o.try((()=>{o.code(codegen_1$l._`await ${(0,code_1$8.callValidateCode)(e,t,l)}`),p(t),i||o.assign(r,!0)}),(e=>{o.if(codegen_1$l._`!(${e} instanceof ${s.ValidationError})`,(()=>o.throw(e))),d(e),i||o.assign(r,!1)})),e.ok(r)}():e.result((0,code_1$8.callValidateCode)(e,t,l),(()=>p(t)),(()=>d(t)))}ref.getValidate=getValidate,ref.callRef=callRef,ref.default=def$r,Object.defineProperty(core$1,"__esModule",{value:!0});const id_1=id,ref_1=ref,core=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",id_1.default,ref_1.default];core$1.default=core;var validation$1={},limitNumber={};Object.defineProperty(limitNumber,"__esModule",{value:!0});const codegen_1$k=codegen,ops=codegen_1$k.operators,KWDs={maximum:{okStr:"<=",ok:ops.LTE,fail:ops.GT},minimum:{okStr:">=",ok:ops.GTE,fail:ops.LT},exclusiveMaximum:{okStr:"<",ok:ops.LT,fail:ops.GTE},exclusiveMinimum:{okStr:">",ok:ops.GT,fail:ops.LTE}},error$i={message:({keyword:e,schemaCode:t})=>codegen_1$k.str`must be ${KWDs[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>codegen_1$k._`{comparison: ${KWDs[e].okStr}, limit: ${t}}`},def$q={keyword:Object.keys(KWDs),type:"number",schemaType:"number",$data:!0,error:error$i,code(e){const{keyword:t,data:r,schemaCode:n}=e;e.fail$data(codegen_1$k._`${r} ${KWDs[t].fail} ${n} || isNaN(${r})`)}};limitNumber.default=def$q;var multipleOf={};Object.defineProperty(multipleOf,"__esModule",{value:!0});const codegen_1$j=codegen,error$h={message:({schemaCode:e})=>codegen_1$j.str`must be multiple of ${e}`,params:({schemaCode:e})=>codegen_1$j._`{multipleOf: ${e}}`},def$p={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:error$h,code(e){const{gen:t,data:r,schemaCode:n,it:o}=e,s=o.opts.multipleOfPrecision,i=t.let("res"),a=s?codegen_1$j._`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:codegen_1$j._`${i} !== parseInt(${i})`;e.fail$data(codegen_1$j._`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};multipleOf.default=def$p;var limitLength={},ucs2length$1={};function ucs2length(e){const t=e.length;let r,n=0,o=0;for(;o<t;)n++,r=e.charCodeAt(o++),r>=55296&&r<=56319&&o<t&&(r=e.charCodeAt(o),56320==(64512&r)&&o++);return n}Object.defineProperty(ucs2length$1,"__esModule",{value:!0}),ucs2length$1.default=ucs2length,ucs2length.code='require("ajv/dist/runtime/ucs2length").default',Object.defineProperty(limitLength,"__esModule",{value:!0});const codegen_1$i=codegen,util_1$i=util,ucs2length_1=ucs2length$1,error$g={message({keyword:e,schemaCode:t}){const r="maxLength"===e?"more":"fewer";return codegen_1$i.str`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>codegen_1$i._`{limit: ${e}}`},def$o={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:error$g,code(e){const{keyword:t,data:r,schemaCode:n,it:o}=e,s="maxLength"===t?codegen_1$i.operators.GT:codegen_1$i.operators.LT,i=!1===o.opts.unicode?codegen_1$i._`${r}.length`:codegen_1$i._`${(0,util_1$i.useFunc)(e.gen,ucs2length_1.default)}(${r})`;e.fail$data(codegen_1$i._`${i} ${s} ${n}`)}};limitLength.default=def$o;var pattern={};Object.defineProperty(pattern,"__esModule",{value:!0});const code_1$7=code,codegen_1$h=codegen,error$f={message:({schemaCode:e})=>codegen_1$h.str`must match pattern "${e}"`,params:({schemaCode:e})=>codegen_1$h._`{pattern: ${e}}`},def$n={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:error$f,code(e){const{data:t,$data:r,schema:n,schemaCode:o,it:s}=e,i=s.opts.unicodeRegExp?"u":"",a=r?codegen_1$h._`(new RegExp(${o}, ${i}))`:(0,code_1$7.usePattern)(e,n);e.fail$data(codegen_1$h._`!${a}.test(${t})`)}};pattern.default=def$n;var limitProperties={};Object.defineProperty(limitProperties,"__esModule",{value:!0});const codegen_1$g=codegen,error$e={message({keyword:e,schemaCode:t}){const r="maxProperties"===e?"more":"fewer";return codegen_1$g.str`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>codegen_1$g._`{limit: ${e}}`},def$m={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:error$e,code(e){const{keyword:t,data:r,schemaCode:n}=e,o="maxProperties"===t?codegen_1$g.operators.GT:codegen_1$g.operators.LT;e.fail$data(codegen_1$g._`Object.keys(${r}).length ${o} ${n}`)}};limitProperties.default=def$m;var required={};Object.defineProperty(required,"__esModule",{value:!0});const code_1$6=code,codegen_1$f=codegen,util_1$h=util,error$d={message:({params:{missingProperty:e}})=>codegen_1$f.str`must have required property '${e}'`,params:({params:{missingProperty:e}})=>codegen_1$f._`{missingProperty: ${e}}`},def$l={keyword:"required",type:"object",schemaType:"array",$data:!0,error:error$d,code(e){const{gen:t,schema:r,schemaCode:n,data:o,$data:s,it:i}=e,{opts:a}=i;if(!s&&0===r.length)return;const c=r.length>=a.loopRequired;if(i.allErrors?function(){if(c||s)e.block$data(codegen_1$f.nil,l);else for(const t of r)(0,code_1$6.checkReportMissingProp)(e,t)}():function(){const i=t.let("missing");if(c||s){const r=t.let("valid",!0);e.block$data(r,(()=>function(r,s){e.setParams({missingProperty:r}),t.forOf(r,n,(()=>{t.assign(s,(0,code_1$6.propertyInData)(t,o,r,a.ownProperties)),t.if((0,codegen_1$f.not)(s),(()=>{e.error(),t.break()}))}),codegen_1$f.nil)}(i,r))),e.ok(r)}else t.if((0,code_1$6.checkMissingProp)(e,r,i)),(0,code_1$6.reportMissingProp)(e,i),t.else()}(),a.strictRequired){const t=e.parentSchema.properties,{definedProperties:n}=e.it;for(const e of r)if(void 0===(null==t?void 0:t[e])&&!n.has(e)){const t=`required property "${e}" is not defined at "${i.schemaEnv.baseId+i.errSchemaPath}" (strictRequired)`;(0,util_1$h.checkStrictMode)(i,t,i.opts.strictRequired)}}function l(){t.forOf("prop",n,(r=>{e.setParams({missingProperty:r}),t.if((0,code_1$6.noPropertyInData)(t,o,r,a.ownProperties),(()=>e.error()))}))}}};required.default=def$l;var limitItems={};Object.defineProperty(limitItems,"__esModule",{value:!0});const codegen_1$e=codegen,error$c={message({keyword:e,schemaCode:t}){const r="maxItems"===e?"more":"fewer";return codegen_1$e.str`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>codegen_1$e._`{limit: ${e}}`},def$k={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:error$c,code(e){const{keyword:t,data:r,schemaCode:n}=e,o="maxItems"===t?codegen_1$e.operators.GT:codegen_1$e.operators.LT;e.fail$data(codegen_1$e._`${r}.length ${o} ${n}`)}};limitItems.default=def$k;var uniqueItems={},equal$1={};Object.defineProperty(equal$1,"__esModule",{value:!0});const equal=fastDeepEqual;equal.code='require("ajv/dist/runtime/equal").default',equal$1.default=equal,Object.defineProperty(uniqueItems,"__esModule",{value:!0});const dataType_1=dataType,codegen_1$d=codegen,util_1$g=util,equal_1$2=equal$1,error$b={message:({params:{i:e,j:t}})=>codegen_1$d.str`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>codegen_1$d._`{i: ${e}, j: ${t}}`},def$j={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:error$b,code(e){const{gen:t,data:r,$data:n,schema:o,parentSchema:s,schemaCode:i,it:a}=e;if(!n&&!o)return;const c=t.let("valid"),l=s.items?(0,dataType_1.getSchemaTypes)(s.items):[];function d(n,o){const s=t.name("item"),i=(0,dataType_1.checkDataTypes)(l,s,a.opts.strictNumbers,dataType_1.DataType.Wrong),d=t.const("indices",codegen_1$d._`{}`);t.for(codegen_1$d._`;${n}--;`,(()=>{t.let(s,codegen_1$d._`${r}[${n}]`),t.if(i,codegen_1$d._`continue`),l.length>1&&t.if(codegen_1$d._`typeof ${s} == "string"`,codegen_1$d._`${s} += "_"`),t.if(codegen_1$d._`typeof ${d}[${s}] == "number"`,(()=>{t.assign(o,codegen_1$d._`${d}[${s}]`),e.error(),t.assign(c,!1).break()})).code(codegen_1$d._`${d}[${s}] = ${n}`)}))}function p(n,o){const s=(0,util_1$g.useFunc)(t,equal_1$2.default),i=t.name("outer");t.label(i).for(codegen_1$d._`;${n}--;`,(()=>t.for(codegen_1$d._`${o} = ${n}; ${o}--;`,(()=>t.if(codegen_1$d._`${s}(${r}[${n}], ${r}[${o}])`,(()=>{e.error(),t.assign(c,!1).break(i)}))))))}e.block$data(c,(function(){const n=t.let("i",codegen_1$d._`${r}.length`),o=t.let("j");e.setParams({i:n,j:o}),t.assign(c,!0),t.if(codegen_1$d._`${n} > 1`,(()=>(l.length>0&&!l.some((e=>"object"===e||"array"===e))?d:p)(n,o)))}),codegen_1$d._`${i} === false`),e.ok(c)}};uniqueItems.default=def$j;var _const={};Object.defineProperty(_const,"__esModule",{value:!0});const codegen_1$c=codegen,util_1$f=util,equal_1$1=equal$1,error$a={message:"must be equal to constant",params:({schemaCode:e})=>codegen_1$c._`{allowedValue: ${e}}`},def$i={keyword:"const",$data:!0,error:error$a,code(e){const{gen:t,data:r,$data:n,schemaCode:o,schema:s}=e;n||s&&"object"==typeof s?e.fail$data(codegen_1$c._`!${(0,util_1$f.useFunc)(t,equal_1$1.default)}(${r}, ${o})`):e.fail(codegen_1$c._`${s} !== ${r}`)}};_const.default=def$i;var _enum={};Object.defineProperty(_enum,"__esModule",{value:!0});const codegen_1$b=codegen,util_1$e=util,equal_1=equal$1,error$9={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>codegen_1$b._`{allowedValues: ${e}}`},def$h={keyword:"enum",schemaType:"array",$data:!0,error:error$9,code(e){const{gen:t,data:r,$data:n,schema:o,schemaCode:s,it:i}=e;if(!n&&0===o.length)throw new Error("enum must have non-empty array");const a=o.length>=i.opts.loopEnum;let c;const l=()=>c??(c=(0,util_1$e.useFunc)(t,equal_1.default));let d;if(a||n)d=t.let("valid"),e.block$data(d,(function(){t.assign(d,!1),t.forOf("v",s,(e=>t.if(codegen_1$b._`${l()}(${r}, ${e})`,(()=>t.assign(d,!0).break()))))}));else{if(!Array.isArray(o))throw new Error("ajv implementation error");const e=t.const("vSchema",s);d=(0,codegen_1$b.or)(...o.map(((t,n)=>function(e,t){const n=o[t];return"object"==typeof n&&null!==n?codegen_1$b._`${l()}(${r}, ${e}[${t}])`:codegen_1$b._`${r} === ${n}`}(e,n))))}e.pass(d)}};_enum.default=def$h,Object.defineProperty(validation$1,"__esModule",{value:!0});const limitNumber_1=limitNumber,multipleOf_1=multipleOf,limitLength_1=limitLength,pattern_1=pattern,limitProperties_1=limitProperties,required_1=required,limitItems_1=limitItems,uniqueItems_1=uniqueItems,const_1=_const,enum_1=_enum,validation=[limitNumber_1.default,multipleOf_1.default,limitLength_1.default,pattern_1.default,limitProperties_1.default,required_1.default,limitItems_1.default,uniqueItems_1.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},const_1.default,enum_1.default];validation$1.default=validation;var applicator={},additionalItems={};Object.defineProperty(additionalItems,"__esModule",{value:!0}),additionalItems.validateAdditionalItems=void 0;const codegen_1$a=codegen,util_1$d=util,error$8={message:({params:{len:e}})=>codegen_1$a.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>codegen_1$a._`{limit: ${e}}`},def$g={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:error$8,code(e){const{parentSchema:t,it:r}=e,{items:n}=t;Array.isArray(n)?validateAdditionalItems(e,n):(0,util_1$d.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas')}};function validateAdditionalItems(e,t){const{gen:r,schema:n,data:o,keyword:s,it:i}=e;i.items=!0;const a=r.const("len",codegen_1$a._`${o}.length`);if(!1===n)e.setParams({len:t.length}),e.pass(codegen_1$a._`${a} <= ${t.length}`);else if("object"==typeof n&&!(0,util_1$d.alwaysValidSchema)(i,n)){const n=r.var("valid",codegen_1$a._`${a} <= ${t.length}`);r.if((0,codegen_1$a.not)(n),(()=>function(n){r.forRange("i",t.length,a,(t=>{e.subschema({keyword:s,dataProp:t,dataPropType:util_1$d.Type.Num},n),i.allErrors||r.if((0,codegen_1$a.not)(n),(()=>r.break()))}))}(n))),e.ok(n)}}additionalItems.validateAdditionalItems=validateAdditionalItems,additionalItems.default=def$g;var prefixItems={},items={};Object.defineProperty(items,"__esModule",{value:!0}),items.validateTuple=void 0;const codegen_1$9=codegen,util_1$c=util,code_1$5=code,def$f={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){const{schema:t,it:r}=e;if(Array.isArray(t))return validateTuple(e,"additionalItems",t);r.items=!0,!(0,util_1$c.alwaysValidSchema)(r,t)&&e.ok((0,code_1$5.validateArray)(e))}};function validateTuple(e,t,r=e.schema){const{gen:n,parentSchema:o,data:s,keyword:i,it:a}=e;(function(e){const{opts:n,errSchemaPath:o}=a,s=r.length,c=s===e.minItems&&(s===e.maxItems||!1===e[t]);if(n.strictTuples&&!c){const e=`"${i}" is ${s}-tuple, but minItems or maxItems/${t} are not specified or different at path "${o}"`;(0,util_1$c.checkStrictMode)(a,e,n.strictTuples)}})(o),a.opts.unevaluated&&r.length&&!0!==a.items&&(a.items=util_1$c.mergeEvaluated.items(n,r.length,a.items));const c=n.name("valid"),l=n.const("len",codegen_1$9._`${s}.length`);r.forEach(((t,r)=>{(0,util_1$c.alwaysValidSchema)(a,t)||(n.if(codegen_1$9._`${l} > ${r}`,(()=>e.subschema({keyword:i,schemaProp:r,dataProp:r},c))),e.ok(c))}))}items.validateTuple=validateTuple,items.default=def$f,Object.defineProperty(prefixItems,"__esModule",{value:!0});const items_1$1=items,def$e={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,items_1$1.validateTuple)(e,"items")};prefixItems.default=def$e;var items2020={};Object.defineProperty(items2020,"__esModule",{value:!0});const codegen_1$8=codegen,util_1$b=util,code_1$4=code,additionalItems_1$1=additionalItems,error$7={message:({params:{len:e}})=>codegen_1$8.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>codegen_1$8._`{limit: ${e}}`},def$d={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:error$7,code(e){const{schema:t,parentSchema:r,it:n}=e,{prefixItems:o}=r;n.items=!0,!(0,util_1$b.alwaysValidSchema)(n,t)&&(o?(0,additionalItems_1$1.validateAdditionalItems)(e,o):e.ok((0,code_1$4.validateArray)(e)))}};items2020.default=def$d;var contains={};Object.defineProperty(contains,"__esModule",{value:!0});const codegen_1$7=codegen,util_1$a=util,error$6={message:({params:{min:e,max:t}})=>void 0===t?codegen_1$7.str`must contain at least ${e} valid item(s)`:codegen_1$7.str`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>void 0===t?codegen_1$7._`{minContains: ${e}}`:codegen_1$7._`{minContains: ${e}, maxContains: ${t}}`},def$c={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:error$6,code(e){const{gen:t,schema:r,parentSchema:n,data:o,it:s}=e;let i,a;const{minContains:c,maxContains:l}=n;s.opts.next?(i=void 0===c?1:c,a=l):i=1;const d=t.const("len",codegen_1$7._`${o}.length`);if(e.setParams({min:i,max:a}),void 0===a&&0===i)return void(0,util_1$a.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');if(void 0!==a&&i>a)return(0,util_1$a.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),void e.fail();if((0,util_1$a.alwaysValidSchema)(s,r)){let t=codegen_1$7._`${d} >= ${i}`;return void 0!==a&&(t=codegen_1$7._`${t} && ${d} <= ${a}`),void e.pass(t)}s.items=!0;const p=t.name("valid");function u(){const e=t.name("_valid"),r=t.let("count",0);h(e,(()=>t.if(e,(()=>function(e){t.code(codegen_1$7._`${e}++`),void 0===a?t.if(codegen_1$7._`${e} >= ${i}`,(()=>t.assign(p,!0).break())):(t.if(codegen_1$7._`${e} > ${a}`,(()=>t.assign(p,!1).break())),1===i?t.assign(p,!0):t.if(codegen_1$7._`${e} >= ${i}`,(()=>t.assign(p,!0))))}(r)))))}function h(r,n){t.forRange("i",0,d,(t=>{e.subschema({keyword:"contains",dataProp:t,dataPropType:util_1$a.Type.Num,compositeRule:!0},r),n()}))}void 0===a&&1===i?h(p,(()=>t.if(p,(()=>t.break())))):0===i?(t.let(p,!0),void 0!==a&&t.if(codegen_1$7._`${o}.length > 0`,u)):(t.let(p,!1),u()),e.result(p,(()=>e.reset()))}};contains.default=def$c;var dependencies={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.validateSchemaDeps=e.validatePropertyDeps=e.error=void 0;const t=codegen,r=util,n=code;e.error={message:({params:{property:e,depsCount:r,deps:n}})=>{const o=1===r?"property":"properties";return t.str`must have ${o} ${n} when property ${e} is present`},params:({params:{property:e,depsCount:r,deps:n,missingProperty:o}})=>t._`{property: ${e}, - missingProperty: ${o}, - depsCount: ${r}, - deps: ${n}}`};const o={keyword:"dependencies",type:"object",schemaType:"object",error:e.error,code(e){const[t,r]=function({schema:e}){const t={},r={};for(const n in e){if("__proto__"===n)continue;(Array.isArray(e[n])?t:r)[n]=e[n]}return[t,r]}(e);s(e,t),i(e,r)}};function s(e,r=e.schema){const{gen:o,data:s,it:i}=e;if(0===Object.keys(r).length)return;const a=o.let("missing");for(const c in r){const l=r[c];if(0===l.length)continue;const d=(0,n.propertyInData)(o,s,c,i.opts.ownProperties);e.setParams({property:c,depsCount:l.length,deps:l.join(", ")}),i.allErrors?o.if(d,(()=>{for(const t of l)(0,n.checkReportMissingProp)(e,t)})):(o.if(t._`${d} && (${(0,n.checkMissingProp)(e,l,a)})`),(0,n.reportMissingProp)(e,a),o.else())}}function i(e,t=e.schema){const{gen:o,data:s,keyword:i,it:a}=e,c=o.name("valid");for(const l in t)(0,r.alwaysValidSchema)(a,t[l])||(o.if((0,n.propertyInData)(o,s,l,a.opts.ownProperties),(()=>{const t=e.subschema({keyword:i,schemaProp:l},c);e.mergeValidEvaluated(t,c)}),(()=>o.var(c,!0))),e.ok(c))}e.validatePropertyDeps=s,e.validateSchemaDeps=i,e.default=o}(dependencies);var propertyNames={};Object.defineProperty(propertyNames,"__esModule",{value:!0});const codegen_1$6=codegen,util_1$9=util,error$5={message:"property name must be valid",params:({params:e})=>codegen_1$6._`{propertyName: ${e.propertyName}}`},def$b={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:error$5,code(e){const{gen:t,schema:r,data:n,it:o}=e;if((0,util_1$9.alwaysValidSchema)(o,r))return;const s=t.name("valid");t.forIn("key",n,(r=>{e.setParams({propertyName:r}),e.subschema({keyword:"propertyNames",data:r,dataTypes:["string"],propertyName:r,compositeRule:!0},s),t.if((0,codegen_1$6.not)(s),(()=>{e.error(!0),o.allErrors||t.break()}))})),e.ok(s)}};propertyNames.default=def$b;var additionalProperties={};Object.defineProperty(additionalProperties,"__esModule",{value:!0});const code_1$3=code,codegen_1$5=codegen,names_1=names$1,util_1$8=util,error$4={message:"must NOT have additional properties",params:({params:e})=>codegen_1$5._`{additionalProperty: ${e.additionalProperty}}`},def$a={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:error$4,code(e){const{gen:t,schema:r,parentSchema:n,data:o,errsCount:s,it:i}=e;if(!s)throw new Error("ajv implementation error");const{allErrors:a,opts:c}=i;if(i.props=!0,"all"!==c.removeAdditional&&(0,util_1$8.alwaysValidSchema)(i,r))return;const l=(0,code_1$3.allSchemaProperties)(n.properties),d=(0,code_1$3.allSchemaProperties)(n.patternProperties);function p(e){t.code(codegen_1$5._`delete ${o}[${e}]`)}function u(n){if("all"===c.removeAdditional||c.removeAdditional&&!1===r)p(n);else{if(!1===r)return e.setParams({additionalProperty:n}),e.error(),void(a||t.break());if("object"==typeof r&&!(0,util_1$8.alwaysValidSchema)(i,r)){const r=t.name("valid");"failing"===c.removeAdditional?(h(n,r,!1),t.if((0,codegen_1$5.not)(r),(()=>{e.reset(),p(n)}))):(h(n,r),a||t.if((0,codegen_1$5.not)(r),(()=>t.break())))}}}function h(t,r,n){const o={keyword:"additionalProperties",dataProp:t,dataPropType:util_1$8.Type.Str};!1===n&&Object.assign(o,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(o,r)}t.forIn("key",o,(r=>{l.length||d.length?t.if(function(r){let o;if(l.length>8){const e=(0,util_1$8.schemaRefOrVal)(i,n.properties,"properties");o=(0,code_1$3.isOwnProperty)(t,e,r)}else o=l.length?(0,codegen_1$5.or)(...l.map((e=>codegen_1$5._`${r} === ${e}`))):codegen_1$5.nil;return d.length&&(o=(0,codegen_1$5.or)(o,...d.map((t=>codegen_1$5._`${(0,code_1$3.usePattern)(e,t)}.test(${r})`)))),(0,codegen_1$5.not)(o)}(r),(()=>u(r))):u(r)})),e.ok(codegen_1$5._`${s} === ${names_1.default.errors}`)}};additionalProperties.default=def$a;var properties$1={};Object.defineProperty(properties$1,"__esModule",{value:!0});const validate_1=validate,code_1$2=code,util_1$7=util,additionalProperties_1$1=additionalProperties,def$9={keyword:"properties",type:"object",schemaType:"object",code(e){const{gen:t,schema:r,parentSchema:n,data:o,it:s}=e;"all"===s.opts.removeAdditional&&void 0===n.additionalProperties&&additionalProperties_1$1.default.code(new validate_1.KeywordCxt(s,additionalProperties_1$1.default,"additionalProperties"));const i=(0,code_1$2.allSchemaProperties)(r);for(const p of i)s.definedProperties.add(p);s.opts.unevaluated&&i.length&&!0!==s.props&&(s.props=util_1$7.mergeEvaluated.props(t,(0,util_1$7.toHash)(i),s.props));const a=i.filter((e=>!(0,util_1$7.alwaysValidSchema)(s,r[e])));if(0===a.length)return;const c=t.name("valid");for(const p of a)l(p)?d(p):(t.if((0,code_1$2.propertyInData)(t,o,p,s.opts.ownProperties)),d(p),s.allErrors||t.else().var(c,!0),t.endIf()),e.it.definedProperties.add(p),e.ok(c);function l(e){return s.opts.useDefaults&&!s.compositeRule&&void 0!==r[e].default}function d(t){e.subschema({keyword:"properties",schemaProp:t,dataProp:t},c)}}};properties$1.default=def$9;var patternProperties={};Object.defineProperty(patternProperties,"__esModule",{value:!0});const code_1$1=code,codegen_1$4=codegen,util_1$6=util,util_2=util,def$8={keyword:"patternProperties",type:"object",schemaType:"object",code(e){const{gen:t,schema:r,data:n,parentSchema:o,it:s}=e,{opts:i}=s,a=(0,code_1$1.allSchemaProperties)(r),c=a.filter((e=>(0,util_1$6.alwaysValidSchema)(s,r[e])));if(0===a.length||c.length===a.length&&(!s.opts.unevaluated||!0===s.props))return;const l=i.strictSchema&&!i.allowMatchingProperties&&o.properties,d=t.name("valid");!0!==s.props&&!(s.props instanceof codegen_1$4.Name)&&(s.props=(0,util_2.evaluatedPropsToName)(t,s.props));const{props:p}=s;function u(e){for(const t in l)new RegExp(e).test(t)&&(0,util_1$6.checkStrictMode)(s,`property ${t} matches pattern ${e} (use allowMatchingProperties)`)}function h(r){t.forIn("key",n,(n=>{t.if(codegen_1$4._`${(0,code_1$1.usePattern)(e,r)}.test(${n})`,(()=>{const o=c.includes(r);o||e.subschema({keyword:"patternProperties",schemaProp:r,dataProp:n,dataPropType:util_2.Type.Str},d),s.opts.unevaluated&&!0!==p?t.assign(codegen_1$4._`${p}[${n}]`,!0):!o&&!s.allErrors&&t.if((0,codegen_1$4.not)(d),(()=>t.break()))}))}))}!function(){for(const e of a)l&&u(e),s.allErrors?h(e):(t.var(d,!0),h(e),t.if(d))}()}};patternProperties.default=def$8;var not={};Object.defineProperty(not,"__esModule",{value:!0});const util_1$5=util,def$7={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){const{gen:t,schema:r,it:n}=e;if((0,util_1$5.alwaysValidSchema)(n,r))return void e.fail();const o=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),e.failResult(o,(()=>e.reset()),(()=>e.error()))},error:{message:"must NOT be valid"}};not.default=def$7;var anyOf={};Object.defineProperty(anyOf,"__esModule",{value:!0});const code_1=code,def$6={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:code_1.validateUnion,error:{message:"must match a schema in anyOf"}};anyOf.default=def$6;var oneOf={};Object.defineProperty(oneOf,"__esModule",{value:!0});const codegen_1$3=codegen,util_1$4=util,error$3={message:"must match exactly one schema in oneOf",params:({params:e})=>codegen_1$3._`{passingSchemas: ${e.passing}}`},def$5={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:error$3,code(e){const{gen:t,schema:r,parentSchema:n,it:o}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(o.opts.discriminator&&n.discriminator)return;const s=r,i=t.let("valid",!1),a=t.let("passing",null),c=t.name("_valid");e.setParams({passing:a}),t.block((function(){s.forEach(((r,n)=>{let s;(0,util_1$4.alwaysValidSchema)(o,r)?t.var(c,!0):s=e.subschema({keyword:"oneOf",schemaProp:n,compositeRule:!0},c),n>0&&t.if(codegen_1$3._`${c} && ${i}`).assign(i,!1).assign(a,codegen_1$3._`[${a}, ${n}]`).else(),t.if(c,(()=>{t.assign(i,!0),t.assign(a,n),s&&e.mergeEvaluated(s,codegen_1$3.Name)}))}))})),e.result(i,(()=>e.reset()),(()=>e.error(!0)))}};oneOf.default=def$5;var allOf={};Object.defineProperty(allOf,"__esModule",{value:!0});const util_1$3=util,def$4={keyword:"allOf",schemaType:"array",code(e){const{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");const o=t.name("valid");r.forEach(((t,r)=>{if((0,util_1$3.alwaysValidSchema)(n,t))return;const s=e.subschema({keyword:"allOf",schemaProp:r},o);e.ok(o),e.mergeEvaluated(s)}))}};allOf.default=def$4;var _if={};Object.defineProperty(_if,"__esModule",{value:!0});const codegen_1$2=codegen,util_1$2=util,error$2={message:({params:e})=>codegen_1$2.str`must match "${e.ifClause}" schema`,params:({params:e})=>codegen_1$2._`{failingKeyword: ${e.ifClause}}`},def$3={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:error$2,code(e){const{gen:t,parentSchema:r,it:n}=e;void 0===r.then&&void 0===r.else&&(0,util_1$2.checkStrictMode)(n,'"if" without "then" and "else" is ignored');const o=hasSchema(n,"then"),s=hasSchema(n,"else");if(!o&&!s)return;const i=t.let("valid",!0),a=t.name("_valid");if(function(){const t=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);e.mergeEvaluated(t)}(),e.reset(),o&&s){const r=t.let("ifClause");e.setParams({ifClause:r}),t.if(a,c("then",r),c("else",r))}else o?t.if(a,c("then")):t.if((0,codegen_1$2.not)(a),c("else"));function c(r,n){return()=>{const o=e.subschema({keyword:r},a);t.assign(i,a),e.mergeValidEvaluated(o,i),n?t.assign(n,codegen_1$2._`${r}`):e.setParams({ifClause:r})}}e.pass(i,(()=>e.error(!0)))}};function hasSchema(e,t){const r=e.schema[t];return void 0!==r&&!(0,util_1$2.alwaysValidSchema)(e,r)}_if.default=def$3;var thenElse={};Object.defineProperty(thenElse,"__esModule",{value:!0});const util_1$1=util,def$2={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){void 0===t.if&&(0,util_1$1.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};thenElse.default=def$2,Object.defineProperty(applicator,"__esModule",{value:!0});const additionalItems_1=additionalItems,prefixItems_1=prefixItems,items_1=items,items2020_1=items2020,contains_1=contains,dependencies_1=dependencies,propertyNames_1=propertyNames,additionalProperties_1=additionalProperties,properties_1=properties$1,patternProperties_1=patternProperties,not_1=not,anyOf_1=anyOf,oneOf_1=oneOf,allOf_1=allOf,if_1=_if,thenElse_1=thenElse;function getApplicator(e=!1){const t=[not_1.default,anyOf_1.default,oneOf_1.default,allOf_1.default,if_1.default,thenElse_1.default,propertyNames_1.default,additionalProperties_1.default,dependencies_1.default,properties_1.default,patternProperties_1.default];return e?t.push(prefixItems_1.default,items2020_1.default):t.push(additionalItems_1.default,items_1.default),t.push(contains_1.default),t}applicator.default=getApplicator;var format$2={},format$1={};Object.defineProperty(format$1,"__esModule",{value:!0});const codegen_1$1=codegen,error$1={message:({schemaCode:e})=>codegen_1$1.str`must match format "${e}"`,params:({schemaCode:e})=>codegen_1$1._`{format: ${e}}`},def$1={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:error$1,code(e,t){const{gen:r,data:n,$data:o,schema:s,schemaCode:i,it:a}=e,{opts:c,errSchemaPath:l,schemaEnv:d,self:p}=a;c.validateFormats&&(o?function(){const o=r.scopeValue("formats",{ref:p.formats,code:c.code.formats}),s=r.const("fDef",codegen_1$1._`${o}[${i}]`),a=r.let("fType"),l=r.let("format");r.if(codegen_1$1._`typeof ${s} == "object" && !(${s} instanceof RegExp)`,(()=>r.assign(a,codegen_1$1._`${s}.type || "string"`).assign(l,codegen_1$1._`${s}.validate`)),(()=>r.assign(a,codegen_1$1._`"string"`).assign(l,s))),e.fail$data((0,codegen_1$1.or)(!1===c.strictSchema?codegen_1$1.nil:codegen_1$1._`${i} && !${l}`,function(){const e=d.$async?codegen_1$1._`(${s}.async ? await ${l}(${n}) : ${l}(${n}))`:codegen_1$1._`${l}(${n})`,r=codegen_1$1._`(typeof ${l} == "function" ? ${e} : ${l}.test(${n}))`;return codegen_1$1._`${l} && ${l} !== true && ${a} === ${t} && !${r}`}()))}():function(){const o=p.formats[s];if(!o)return void function(){if(!1===c.strictSchema)return void p.logger.warn(e());throw new Error(e());function e(){return`unknown format "${s}" ignored in schema at path "${l}"`}}();if(!0===o)return;const[i,a,u]=function(e){const t=e instanceof RegExp?(0,codegen_1$1.regexpCode)(e):c.code.formats?codegen_1$1._`${c.code.formats}${(0,codegen_1$1.getProperty)(s)}`:void 0,n=r.scopeValue("formats",{key:s,ref:e,code:t});return"object"!=typeof e||e instanceof RegExp?["string",e,n]:[e.type||"string",e.validate,codegen_1$1._`${n}.validate`]}(o);i===t&&e.pass(function(){if("object"==typeof o&&!(o instanceof RegExp)&&o.async){if(!d.$async)throw new Error("async format in sync schema");return codegen_1$1._`await ${u}(${n})`}return"function"==typeof a?codegen_1$1._`${u}(${n})`:codegen_1$1._`${u}.test(${n})`}())}())}};format$1.default=def$1,Object.defineProperty(format$2,"__esModule",{value:!0});const format_1$1=format$1,format=[format_1$1.default];format$2.default=format;var metadata={};Object.defineProperty(metadata,"__esModule",{value:!0}),metadata.contentVocabulary=metadata.metadataVocabulary=void 0,metadata.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],metadata.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"],Object.defineProperty(draft7,"__esModule",{value:!0});const core_1=core$1,validation_1=validation$1,applicator_1=applicator,format_1=format$2,metadata_1=metadata,draft7Vocabularies=[core_1.default,validation_1.default,(0,applicator_1.default)(),format_1.default,metadata_1.metadataVocabulary,metadata_1.contentVocabulary];draft7.default=draft7Vocabularies;var discriminator={},types={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DiscrError=void 0,function(e){e.Tag="tag",e.Mapping="mapping"}(e.DiscrError||(e.DiscrError={}))}(types),Object.defineProperty(discriminator,"__esModule",{value:!0});const codegen_1=codegen,types_1=types,compile_1=compile,util_1=util,error={message:({params:{discrError:e,tagName:t}})=>e===types_1.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>codegen_1._`{error: ${e}, tag: ${r}, tagValue: ${t}}`},def={keyword:"discriminator",type:"object",schemaType:"object",error:error,code(e){const{gen:t,data:r,schema:n,parentSchema:o,it:s}=e,{oneOf:i}=o;if(!s.opts.discriminator)throw new Error("discriminator: requires discriminator option");const a=n.propertyName;if("string"!=typeof a)throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!i)throw new Error("discriminator: requires oneOf keyword");const c=t.let("valid",!1),l=t.const("tag",codegen_1._`${r}${(0,codegen_1.getProperty)(a)}`);function d(r){const n=t.name("valid"),o=e.subschema({keyword:"oneOf",schemaProp:r},n);return e.mergeEvaluated(o,codegen_1.Name),n}t.if(codegen_1._`typeof ${l} == "string"`,(()=>function(){const r=function(){var e;const t={},r=c(o);let n=!0;for(let o=0;o<i.length;o++){let t=i[o];null!=t&&t.$ref&&!(0,util_1.schemaHasRulesButRef)(t,s.self.RULES)&&(t=compile_1.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,null==t?void 0:t.$ref),t instanceof compile_1.SchemaEnv&&(t=t.schema));const d=null===(e=null==t?void 0:t.properties)||void 0===e?void 0:e[a];if("object"!=typeof d)throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);n=n&&(r||c(t)),l(d,o)}if(!n)throw new Error(`discriminator: "${a}" must be required`);return t;function c({required:e}){return Array.isArray(e)&&e.includes(a)}function l(e,t){if(e.const)d(e.const,t);else{if(!e.enum)throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`);for(const r of e.enum)d(r,t)}}function d(e,r){if("string"!=typeof e||e in t)throw new Error(`discriminator: "${a}" values must be unique strings`);t[e]=r}}();t.if(!1);for(const e in r)t.elseIf(codegen_1._`${l} === ${e}`),t.assign(c,d(r[e]));t.else(),e.error(!1,{discrError:types_1.DiscrError.Mapping,tag:l,tagName:a}),t.endIf()}()),(()=>e.error(!1,{discrError:types_1.DiscrError.Tag,tag:l,tagName:a}))),e.ok(c)}};discriminator.default=def;const $schema$1="http://json-schema.org/draft-07/schema#",$id="http://json-schema.org/draft-07/schema#",title="Core schema meta-schema",definitions$1={schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type=["object","boolean"],properties={$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},require$$3={$schema:$schema$1,$id:$id,title:title,definitions:definitions$1,type:type,properties:properties,default:!0};!function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.MissingRefError=t.ValidationError=t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;const r=core$2,n=draft7,o=discriminator,s=require$$3,i=["/properties"],a="http://json-schema.org/draft-07/schema";class c extends r.default{_addVocabularies(){super._addVocabularies(),n.default.forEach((e=>this.addVocabulary(e))),this.opts.discriminator&&this.addKeyword(o.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;const e=this.opts.$data?this.$dataMetaSchema(s,i):s;this.addMetaSchema(e,a,!1),this.refs["http://json-schema.org/schema"]=a}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(a)?a:void 0)}}e.exports=t=c,Object.defineProperty(t,"__esModule",{value:!0}),t.default=c;var l=validate;Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return l.KeywordCxt}});var d=codegen;Object.defineProperty(t,"_",{enumerable:!0,get:function(){return d._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return d.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return d.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return d.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return d.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return d.CodeGen}});var p=validation_error;Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return p.default}});var u=ref_error;Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return u.default}})}(ajv$1,ajv$1.exports);var ajvExports=ajv$1.exports;const Ajv=getDefaultExportFromCjs(ajvExports),$schema="http://json-schema.org/schema",$ref="#/definitions/Blueprint",definitions={Blueprint:{type:"object",properties:{landingPage:{type:"string",description:"The URL to navigate to after the blueprint has been run."},description:{type:"string",description:"Optional description. It doesn't do anything but is exposed as a courtesy to developers who may want to document which blueprint file does what."},preferredVersions:{type:"object",properties:{php:{anyOf:[{$ref:"#/definitions/SupportedPHPVersion"},{type:"string",const:"latest"}],description:"The preferred PHP version to use. If not specified, the latest supported version will be used"},wp:{type:"string",description:"The preferred WordPress version to use. If not specified, the latest supported version will be used"}},required:["php","wp"],additionalProperties:!1,description:"The preferred PHP and WordPress versions to use."},features:{type:"object",properties:{networking:{type:"boolean",description:"Should boot with support for network request via wp_safe_remote_get?"}},additionalProperties:!1},constants:{type:"object",additionalProperties:{type:"string"},description:"PHP Constants to define on every request",deprecated:"This experimental option will change without warning.\nUse `steps` instead."},plugins:{type:"array",items:{anyOf:[{type:"string"},{$ref:"#/definitions/FileReference"}]},description:"WordPress plugins to install and activate",deprecated:"This experimental option will change without warning.\nUse `steps` instead."},siteOptions:{type:"object",additionalProperties:{type:"string"},properties:{blogname:{type:"string",description:"The site title"}},description:"WordPress site options to define",deprecated:"This experimental option will change without warning.\nUse `steps` instead."},login:{anyOf:[{type:"boolean"},{type:"object",properties:{username:{type:"string"},password:{type:"string"}},required:["username","password"],additionalProperties:!1}],description:"User to log in as. If true, logs the user in as admin/password."},phpExtensionBundles:{type:"array",items:{$ref:"#/definitions/SupportedPHPExtensionBundle"},description:"The PHP extensions to use."},steps:{type:"array",items:{anyOf:[{$ref:"#/definitions/StepDefinition"},{type:"string"},{not:{}},{type:"boolean",const:!1},{type:"null"}]},description:"The steps to run after every other operation in this Blueprint was executed."},$schema:{type:"string"}},additionalProperties:!1},SupportedPHPVersion:{type:"string",enum:["8.3","8.2","8.1","8.0","7.4","7.3","7.2","7.1","7.0"]},FileReference:{anyOf:[{$ref:"#/definitions/VFSReference"},{$ref:"#/definitions/LiteralReference"},{$ref:"#/definitions/CoreThemeReference"},{$ref:"#/definitions/CorePluginReference"},{$ref:"#/definitions/UrlReference"}]},VFSReference:{type:"object",properties:{resource:{type:"string",const:"vfs",description:"Identifies the file resource as Virtual File System (VFS)"},path:{type:"string",description:"The path to the file in the VFS"}},required:["resource","path"],additionalProperties:!1},LiteralReference:{type:"object",properties:{resource:{type:"string",const:"literal",description:"Identifies the file resource as a literal file"},name:{type:"string",description:"The name of the file"},contents:{anyOf:[{type:"string"},{type:"object",properties:{BYTES_PER_ELEMENT:{type:"number"},buffer:{type:"object",properties:{byteLength:{type:"number"}},required:["byteLength"],additionalProperties:!1},byteLength:{type:"number"},byteOffset:{type:"number"},length:{type:"number"}},required:["BYTES_PER_ELEMENT","buffer","byteLength","byteOffset","length"],additionalProperties:{type:"number"}}],description:"The contents of the file"}},required:["resource","name","contents"],additionalProperties:!1},CoreThemeReference:{type:"object",properties:{resource:{type:"string",const:"wordpress.org/themes",description:"Identifies the file resource as a WordPress Core theme"},slug:{type:"string",description:"The slug of the WordPress Core theme"}},required:["resource","slug"],additionalProperties:!1},CorePluginReference:{type:"object",properties:{resource:{type:"string",const:"wordpress.org/plugins",description:"Identifies the file resource as a WordPress Core plugin"},slug:{type:"string",description:"The slug of the WordPress Core plugin"}},required:["resource","slug"],additionalProperties:!1},UrlReference:{type:"object",properties:{resource:{type:"string",const:"url",description:"Identifies the file resource as a URL"},url:{type:"string",description:"The URL of the file"},caption:{type:"string",description:"Optional caption for displaying a progress message"}},required:["resource","url"],additionalProperties:!1},SupportedPHPExtensionBundle:{type:"string",const:"kitchen-sink"},StepDefinition:{type:"object",discriminator:{propertyName:"step"},required:["step"],oneOf:[{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"activatePlugin"},pluginPath:{type:"string",description:"Path to the plugin directory as absolute path (/wordpress/wp-content/plugins/plugin-name); or the plugin entry file relative to the plugins directory (plugin-name/plugin-name.php)."},pluginName:{type:"string",description:"Optional. Plugin name to display in the progress bar."}},required:["pluginPath","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"activateTheme"},themeFolderName:{type:"string",description:"The name of the theme folder inside wp-content/themes/"}},required:["step","themeFolderName"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"cp"},fromPath:{type:"string",description:"Source path"},toPath:{type:"string",description:"Target path"}},required:["fromPath","step","toPath"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"defineWpConfigConsts"},consts:{type:"object",additionalProperties:{},description:"The constants to define"},method:{type:"string",enum:["rewrite-wp-config","define-before-run"],description:"The method of defining the constants. Possible values are:\n\n- rewrite-wp-config: Default. Rewrites the wp-config.php file to explicitly call define() with the requested name and value. This method alters the file on the disk, but it doesn't conflict with existing define() calls in wp-config.php.\n- define-before-run: Defines the constant before running the requested script. It doesn't alter any files on the disk, but constants defined this way may conflict with existing define() calls in wp-config.php."},virtualize:{type:"boolean",deprecated:"This option is noop and will be removed in a future version.\nThis option is only kept in here to avoid breaking Blueprint schema validation\nfor existing apps using this option."}},required:["consts","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"defineSiteUrl"},siteUrl:{type:"string",description:"The URL"}},required:["siteUrl","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"enableMultisite"}},required:["step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"importFile"},file:{$ref:"#/definitions/FileReference",description:"The file to import"}},required:["file","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"importWordPressFiles"},wordPressFilesZip:{$ref:"#/definitions/FileReference",description:"The zip file containing the top-level WordPress files and directories."},pathInZip:{type:"string",description:"The path inside the zip file where the WordPress files are."}},required:["step","wordPressFilesZip"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"installPlugin",description:"The step identifier."},pluginZipFile:{$ref:"#/definitions/FileReference",description:"The plugin zip file to install."},options:{$ref:"#/definitions/InstallPluginOptions",description:"Optional installation options."}},required:["pluginZipFile","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"installTheme",description:"The step identifier."},themeZipFile:{$ref:"#/definitions/FileReference",description:"The theme zip file to install."},options:{type:"object",properties:{activate:{type:"boolean",description:"Whether to activate the theme after installing it."}},additionalProperties:!1,description:"Optional installation options."}},required:["step","themeZipFile"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"login"},username:{type:"string",description:"The user to log in as. Defaults to 'admin'."},password:{type:"string",description:"The password to log in with. Defaults to 'password'."}},required:["step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"mkdir"},path:{type:"string",description:"The path of the directory you want to create"}},required:["path","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"mv"},fromPath:{type:"string",description:"Source path"},toPath:{type:"string",description:"Target path"}},required:["fromPath","step","toPath"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"request"},request:{$ref:"#/definitions/PHPRequest",description:"Request details (See /wordpress-playground/api/universal/interface/PHPRequest)"}},required:["request","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"rm"},path:{type:"string",description:"The path to remove"}},required:["path","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"rmdir"},path:{type:"string",description:"The path to remove"}},required:["path","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"runPHP",description:"The step identifier."},code:{type:"string",description:"The PHP code to run."}},required:["code","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"runPHPWithOptions"},options:{$ref:"#/definitions/PHPRunOptions",description:"Run options (See /wordpress-playground/api/universal/interface/PHPRunOptions)"}},required:["options","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"runWpInstallationWizard"},options:{$ref:"#/definitions/WordPressInstallationOptions"}},required:["options","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"runSql",description:"The step identifier."},sql:{$ref:"#/definitions/FileReference",description:"The SQL to run. Each non-empty line must contain a valid SQL query."}},required:["sql","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"setPhpIniEntry"},key:{type:"string",description:'Entry name e.g. "display_errors"'},value:{type:"string",description:'Entry value as a string e.g. "1"'}},required:["key","step","value"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"setSiteOptions",description:'The name of the step. Must be "setSiteOptions".'},options:{type:"object",additionalProperties:{},description:"The options to set on the site."}},required:["options","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"unzip"},zipFile:{$ref:"#/definitions/FileReference",description:"The zip file to extract"},zipPath:{type:"string",description:"The path of the zip file to extract",deprecated:"Use zipFile instead."},extractToPath:{type:"string",description:"The path to extract the zip file to"}},required:["extractToPath","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"updateUserMeta"},meta:{type:"object",additionalProperties:{},description:'An object of user meta values to set, e.g. { "first_name": "John" }'},userId:{type:"number",description:"User ID"}},required:["meta","step","userId"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"writeFile"},path:{type:"string",description:"The path of the file to write to"},data:{anyOf:[{$ref:"#/definitions/FileReference"},{type:"string"},{type:"object",properties:{BYTES_PER_ELEMENT:{type:"number"},buffer:{type:"object",properties:{byteLength:{type:"number"}},required:["byteLength"],additionalProperties:!1},byteLength:{type:"number"},byteOffset:{type:"number"},length:{type:"number"}},required:["BYTES_PER_ELEMENT","buffer","byteLength","byteOffset","length"],additionalProperties:{type:"number"}}],description:"The data to write"}},required:["data","path","step"]},{type:"object",additionalProperties:!1,properties:{progress:{type:"object",properties:{weight:{type:"number"},caption:{type:"string"}},additionalProperties:!1},step:{type:"string",const:"wp-cli",description:"The step identifier."},command:{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}],description:"The WP CLI command to run."},wpCliPath:{type:"string",description:"wp-cli.phar path"}},required:["command","step"]}]},InstallPluginOptions:{type:"object",properties:{activate:{type:"boolean",description:"Whether to activate the plugin after installing it."}},additionalProperties:!1},PHPRequest:{type:"object",properties:{method:{$ref:"#/definitions/HTTPMethod",description:"Request method. Default: `GET`."},url:{type:"string",description:"Request path or absolute URL."},headers:{$ref:"#/definitions/PHPRequestHeaders",description:"Request headers."},files:{type:"object",additionalProperties:{type:"object",properties:{size:{type:"number"},type:{type:"string"},lastModified:{type:"number"},name:{type:"string"},webkitRelativePath:{type:"string"}},required:["lastModified","name","size","type","webkitRelativePath"],additionalProperties:!1},description:"Uploaded files"},body:{type:"string",description:"Request body without the files."},formData:{type:"object",additionalProperties:{},description:"Form data. If set, the request body will be ignored and the content-type header will be set to `application/x-www-form-urlencoded`."}},required:["url"],additionalProperties:!1},HTTPMethod:{type:"string",enum:["GET","POST","HEAD","OPTIONS","PATCH","PUT","DELETE"]},PHPRequestHeaders:{type:"object",additionalProperties:{type:"string"}},PHPRunOptions:{type:"object",properties:{relativeUri:{type:"string",description:"Request path following the domain:port part."},scriptPath:{type:"string",description:"Path of the .php file to execute."},protocol:{type:"string",description:"Request protocol."},method:{$ref:"#/definitions/HTTPMethod",description:"Request method. Default: `GET`."},headers:{$ref:"#/definitions/PHPRequestHeaders",description:"Request headers."},body:{type:"string",description:"Request body without the files."},fileInfos:{type:"array",items:{$ref:"#/definitions/FileInfo"},description:"Uploaded files."},code:{type:"string",description:"The code snippet to eval instead of a php file."},throwOnError:{type:"boolean",description:"Whether to throw an error if the PHP process exits with a non-zero code or outputs to stderr."}},additionalProperties:!1},FileInfo:{type:"object",properties:{key:{type:"string"},name:{type:"string"},type:{type:"string"},data:{type:"object",properties:{BYTES_PER_ELEMENT:{type:"number"},buffer:{type:"object",properties:{byteLength:{type:"number"}},required:["byteLength"],additionalProperties:!1},byteLength:{type:"number"},byteOffset:{type:"number"},length:{type:"number"}},required:["BYTES_PER_ELEMENT","buffer","byteLength","byteOffset","length"],additionalProperties:{type:"number"}}},required:["key","name","type","data"],additionalProperties:!1},WordPressInstallationOptions:{type:"object",properties:{adminUsername:{type:"string"},adminPassword:{type:"string"}},additionalProperties:!1}},blueprintSchema={$schema:$schema,$ref:$ref,definitions:definitions},{wpCLI:wpCLI,...otherStepHandlers}=allStepHandlers,keyedStepHandlers={...otherStepHandlers,"wp-cli":wpCLI};function compileBlueprint(e,{progress:t=new ProgressTracker,semaphore:r=new Semaphore({concurrency:3}),onStepCompleted:n=(()=>{})}={}){var o,s,i,a,c;if((e={...e,steps:(e.steps||[]).filter(isStepDefinition)}).constants&&e.steps.unshift({step:"defineWpConfigConsts",consts:e.constants}),e.siteOptions&&e.steps.unshift({step:"setSiteOptions",options:e.siteOptions}),e.plugins){const t=e.plugins.map((e=>"string"==typeof e?e.startsWith("https://")?{resource:"url",url:e}:{resource:"wordpress.org/plugins",slug:e}:e)).map((e=>({step:"installPlugin",pluginZipFile:e})));e.steps.unshift(...t)}e.login&&e.steps.push({step:"login",...!0===e.login?{username:"admin",password:"password"}:e.login});const l=null==(o=e.steps)?void 0:o.findIndex((e=>"object"==typeof e&&"wp-cli"===(null==e?void 0:e.step)));void 0!==l&&l>-1&&(e.phpExtensionBundles||(e.phpExtensionBundles=[]),e.phpExtensionBundles.includes("kitchen-sink")||(e.phpExtensionBundles.push("kitchen-sink"),console.warn("The WP-CLI step used in your Blueprint requires the iconv and mbstring PHP extensions. However, you did not specify the kitchen-sink extension bundle. Playground will override your choice and load the kitchen-sink PHP extensions bundle to prevent the WP-CLI step from failing. ")),null==(s=e.steps)||s.splice(l,0,{step:"writeFile",data:{resource:"url",url:"https://playground.wordpress.net/wp-cli.phar"},path:"/tmp/wp-cli.phar"}));const{valid:d,errors:p}=validateBlueprint(e);if(!d){const e=new Error(`Invalid blueprint: ${p[0].message} at ${p[0].instancePath}`);throw e.errors=p,e}const u=e.steps||[],h=u.reduce(((e,t)=>{var r;return e+((null==(r=t.progress)?void 0:r.weight)||1)}),0),f=u.map((e=>compileStep(e,{semaphore:r,rootProgressTracker:t,totalProgressWeight:h})));return{versions:{php:compileVersion(null==(i=e.preferredVersions)?void 0:i.php,SupportedPHPVersions,LatestSupportedPHPVersion),wp:(null==(a=e.preferredVersions)?void 0:a.wp)||"latest"},phpExtensions:compilePHPExtensions([],e.phpExtensionBundles||[]),features:{networking:(null==(c=e.features)?void 0:c.networking)??!1},run:async r=>{try{for(const{resources:e}of f)for(const t of e)t.setPlayground(r),t.isAsync&&t.resolve();for(const[e,{run:t,step:s}]of Object.entries(f))try{const e=await t(r);n(e,s)}catch(o){throw console.error(o),new Error(`Error when executing the blueprint step #${e} (${JSON.stringify(s)}) ${o instanceof Error?`: ${o.message}`:o}`,{cause:o})}}finally{try{await r.goTo(e.landingPage||"/")}catch{}t.finish()}}}}const ajv=new Ajv({discriminator:!0});let blueprintValidator;function validateBlueprint(e){var t;blueprintValidator=ajv.compile(blueprintSchema);const r=blueprintValidator(e);if(r)return{valid:r};const n=new Set;for(const o of blueprintValidator.errors)o.schemaPath.startsWith("#/properties/steps/items/anyOf")||n.add(o.instancePath);return{valid:r,errors:null==(t=blueprintValidator.errors)?void 0:t.filter((e=>!(e.schemaPath.startsWith("#/properties/steps/items/anyOf")&&n.has(e.instancePath))))}}function compileVersion(e,t,r){return e&&t.includes(e)?e:r}function compilePHPExtensions(e,t){const r=SupportedPHPExtensionsList.filter((t=>e.includes(t))),n=t.flatMap((e=>e in SupportedPHPExtensionBundles?SupportedPHPExtensionBundles[e]:[]));return Array.from(new Set([...r,...n]))}function isStepDefinition(e){return!("object"!=typeof e||!e)}function compileStep(e,{semaphore:t,rootProgressTracker:r,totalProgressWeight:n}){var o;const s=r.stage(((null==(o=e.progress)?void 0:o.weight)||1)/n),i={};for(const d of Object.keys(e)){let r=e[d];isFileReference(r)&&(r=Resource.create(r,{semaphore:t})),i[d]=r}const a=getResources(i),c=getResources(i).filter((e=>e.isAsync)),l=1/(c.length+1);for(const d of c)d.progress=s.stage(l);return{run:async t=>{var r;try{return s.fillSlowly(),await keyedStepHandlers[e.step](t,await resolveArguments(i),{tracker:s,initialCaption:null==(r=e.progress)?void 0:r.caption})}finally{s.finish()}},step:e,resources:a}}function getResources(e){const t=[];for(const r in e){const n=e[r];n instanceof Resource&&t.push(n)}return t}async function resolveArguments(e){const t={};for(const r in e){const n=e[r];t[r]=n instanceof Resource?await n.resolve():n}return t}async function runBlueprintSteps(e,t){await e.run(t)}function setPluginProxyURL(){}const proxyMarker=Symbol("Comlink.proxy"),createEndpoint=Symbol("Comlink.endpoint"),releaseProxy=Symbol("Comlink.releaseProxy"),finalizer=Symbol("Comlink.finalizer"),throwMarker=Symbol("Comlink.thrown"),isObject=e=>"object"==typeof e&&null!==e||"function"==typeof e,proxyTransferHandler={canHandle:e=>isObject(e)&&e[proxyMarker],serialize(e){const{port1:t,port2:r}=new MessageChannel;return expose(e,t),[r,[r]]},deserialize:e=>(e.start(),wrap(e))},throwTransferHandler={canHandle:e=>isObject(e)&&throwMarker in e,serialize({value:e}){let t;return t=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[t,[]]},deserialize(e){throw e.isError?Object.assign(new Error(e.value.message),e.value):e.value}},transferHandlers=new Map([["proxy",proxyTransferHandler],["throw",throwTransferHandler]]);function isAllowedOrigin(e,t){for(const r of e)if(t===r||"*"===r||r instanceof RegExp&&r.test(t))return!0;return!1}function expose(e,t=globalThis,r=["*"]){t.addEventListener("message",(function n(o){if(!o||!o.data)return;if(!isAllowedOrigin(r,o.origin))return void console.warn(`Invalid origin '${o.origin}' for comlink proxy`);const{id:s,type:i,path:a}=Object.assign({path:[]},o.data),c=(o.data.argumentList||[]).map(fromWireValue);let l;try{const t=a.slice(0,-1).reduce(((e,t)=>e[t]),e),r=a.reduce(((e,t)=>e[t]),e);switch(i){case"GET":l=r;break;case"SET":t[a.slice(-1)[0]]=fromWireValue(o.data.value),l=!0;break;case"APPLY":l=r.apply(t,c);break;case"CONSTRUCT":l=proxy(new r(...c));break;case"ENDPOINT":{const{port1:t,port2:r}=new MessageChannel;expose(e,r),l=transfer(t,[t])}break;case"RELEASE":l=void 0;break;default:return}}catch(d){l={value:d,[throwMarker]:0}}Promise.resolve(l).catch((e=>({value:e,[throwMarker]:0}))).then((r=>{const[o,a]=toWireValue(r);t.postMessage(Object.assign(Object.assign({},o),{id:s}),a),"RELEASE"===i&&(t.removeEventListener("message",n),closeEndPoint(t),finalizer in e&&"function"==typeof e[finalizer]&&e[finalizer]())})).catch((e=>{const[r,n]=toWireValue({value:new TypeError("Unserializable return value"),[throwMarker]:0});t.postMessage(Object.assign(Object.assign({},r),{id:s}),n)}))})),t.start&&t.start()}function isMessagePort(e){return"MessagePort"===e.constructor.name}function closeEndPoint(e){isMessagePort(e)&&e.close()}function wrap(e,t){return createProxy(e,[],t)}function throwIfProxyReleased(e){if(e)throw new Error("Proxy has been released and is not useable")}function releaseEndpoint(e){return requestResponseMessage(e,{type:"RELEASE"}).then((()=>{closeEndPoint(e)}))}const proxyCounter=new WeakMap,proxyFinalizers="FinalizationRegistry"in globalThis&&new FinalizationRegistry((e=>{const t=(proxyCounter.get(e)||0)-1;proxyCounter.set(e,t),0===t&&releaseEndpoint(e)}));function registerProxy(e,t){const r=(proxyCounter.get(t)||0)+1;proxyCounter.set(t,r),proxyFinalizers&&proxyFinalizers.register(e,t,e)}function unregisterProxy(e){proxyFinalizers&&proxyFinalizers.unregister(e)}function createProxy(e,t=[],r=function(){}){let n=!1;const o=new Proxy(r,{get(r,s){if(throwIfProxyReleased(n),s===releaseProxy)return()=>{unregisterProxy(o),releaseEndpoint(e),n=!0};if("then"===s){if(0===t.length)return{then:()=>o};const r=requestResponseMessage(e,{type:"GET",path:t.map((e=>e.toString()))}).then(fromWireValue);return r.then.bind(r)}return createProxy(e,[...t,s])},set(r,o,s){throwIfProxyReleased(n);const[i,a]=toWireValue(s);return requestResponseMessage(e,{type:"SET",path:[...t,o].map((e=>e.toString())),value:i},a).then(fromWireValue)},apply(r,o,s){throwIfProxyReleased(n);const i=t[t.length-1];if(i===createEndpoint)return requestResponseMessage(e,{type:"ENDPOINT"}).then(fromWireValue);if("bind"===i)return createProxy(e,t.slice(0,-1));const[a,c]=processArguments(s);return requestResponseMessage(e,{type:"APPLY",path:t.map((e=>e.toString())),argumentList:a},c).then(fromWireValue)},construct(r,o){throwIfProxyReleased(n);const[s,i]=processArguments(o);return requestResponseMessage(e,{type:"CONSTRUCT",path:t.map((e=>e.toString())),argumentList:s},i).then(fromWireValue)}});return registerProxy(o,e),o}function myFlat(e){return Array.prototype.concat.apply([],e)}function processArguments(e){const t=e.map(toWireValue);return[t.map((e=>e[0])),myFlat(t.map((e=>e[1])))]}const transferCache=new WeakMap;function transfer(e,t){return transferCache.set(e,t),e}function proxy(e){return Object.assign(e,{[proxyMarker]:!0})}function windowEndpoint(e,t=globalThis,r="*"){return{postMessage:(t,n)=>e.postMessage(t,r,n),addEventListener:t.addEventListener.bind(t),removeEventListener:t.removeEventListener.bind(t)}}function toWireValue(e){for(const[t,r]of transferHandlers)if(r.canHandle(e)){const[n,o]=r.serialize(e);return[{type:"HANDLER",name:t,value:n},o]}return[{type:"RAW",value:e},transferCache.get(e)||[]]}function fromWireValue(e){switch(e.type){case"HANDLER":return transferHandlers.get(e.name).deserialize(e.value);case"RAW":return e.value}}function requestResponseMessage(e,t,r){return new Promise((n=>{const o=generateUUID();e.addEventListener("message",(function t(r){!r.data||!r.data.id||r.data.id!==o||(e.removeEventListener("message",t),n(r.data))})),e.start&&e.start(),e.postMessage(Object.assign({id:o},t),r)}))}function generateUUID(){return new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-")}function consumeAPI(e,t=void 0){setupTransferHandlers();const r=wrap(e instanceof Worker?e:windowEndpoint(e,t)),n=proxyClone(r);return new Proxy(n,{get:(e,t)=>"isConnected"===t?async()=>{for(;;)try{await runWithTimeout(r.isConnected(),200);break}catch{}}:r[t]})}async function runWithTimeout(e,t){return new Promise(((r,n)=>{setTimeout(n,t),e.then(r)}))}let isTransferHandlersSetup=!1;function setupTransferHandlers(){isTransferHandlersSetup||(isTransferHandlersSetup=!0,transferHandlers.set("EVENT",{canHandle:e=>e instanceof CustomEvent,serialize:e=>[{detail:e.detail},[]],deserialize:e=>e}),transferHandlers.set("FUNCTION",{canHandle:e=>"function"==typeof e,serialize(e){console.debug("[Comlink][Performance] Proxying a function");const{port1:t,port2:r}=new MessageChannel;return expose(e,t),[r,[r]]},deserialize:e=>(e.start(),wrap(e))}),transferHandlers.set("PHPResponse",{canHandle:e=>"object"==typeof e&&null!==e&&"headers"in e&&"bytes"in e&&"errors"in e&&"exitCode"in e&&"httpStatusCode"in e,serialize:e=>[e.toRawData(),[]],deserialize:e=>PHPResponse.fromRawData(e)}))}function proxyClone(e){return new Proxy(e,{get(e,t){switch(typeof e[t]){case"function":return(...r)=>e[t](...r);case"object":return null===e[t]?e[t]:proxyClone(e[t]);case"undefined":case"number":case"string":return e[t];default:return proxy(e[t])}}})}class Logger{constructor(e){this.LOG_PREFIX="Playground",this.windowConnected=!1,this.lastPHPLogLength=0,this.errorLogPath="/wordpress/wp-content/debug.log",e&&(this.errorLogPath=e)}async getRequestPhpErrorLog(e){return await e.fileExists(this.errorLogPath)?await e.readFileAsText(this.errorLogPath):""}logWindowError(e){this.log(`${e.message} in ${e.filename} on line ${e.lineno}:${e.colno}`,"fatal")}logUnhandledRejection(e){this.log(`${e.reason.stack}`,"fatal")}addWindowErrorListener(){this.windowConnected||typeof window>"u"||(window.addEventListener("error",this.logWindowError.bind(this)),window.addEventListener("unhandledrejection",this.logUnhandledRejection.bind(this)),window.addEventListener("rejectionhandled",this.logUnhandledRejection.bind(this)),this.windowConnected=!0)}addPlaygroundRequestEndListener(e){e.addEventListener("request.end",(async()=>{const t=await this.getRequestPhpErrorLog(e);t.length>this.lastPHPLogLength&&(this.logRaw(t.substring(this.lastPHPLogLength)),this.lastPHPLogLength=t.length)}))}formatLogDate(e){return new Intl.DateTimeFormat("en-GB",{year:"numeric",month:"short",day:"2-digit",timeZone:"UTC"}).format(e).replace(/ /g,"-")+" "+new Intl.DateTimeFormat("en-GB",{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1,timeZone:"UTC",timeZoneName:"short"}).format(e)}formatMessage(e,t){return`[${this.formatLogDate(new Date)}] ${this.LOG_PREFIX} ${t}: ${e}`}log(e,t){void 0===t&&(t="info");const r=this.formatMessage(e,t);this.logRaw(r)}logRaw(e){console.debug(e)}}const logger=new Logger;function collectPhpLogs(e,t){e.addPlaygroundRequestEndListener(t)}async function startPlaygroundWeb({iframe:e,blueprint:t,remoteUrl:r,progressTracker:n=new ProgressTracker,disableProgressBar:o,onBlueprintStepCompleted:s,sapiName:i}){if(assertValidRemote(r),allowStorageAccessByUserActivation(e),r=setQueryParams(r,{progressbar:!o}),n.setCaption("Preparing WordPress"),!t)return doStartPlaygroundWeb(e,r,n);const a=compileBlueprint(t,{progress:n.stage(.5),onStepCompleted:s}),c=await doStartPlaygroundWeb(e,setQueryParams(r,{php:a.versions.php,wp:a.versions.wp,"sapi-name":i,"php-extension":a.phpExtensions,networking:a.features.networking?"yes":"no"}),n);return collectPhpLogs(logger,c),await runBlueprintSteps(a,c),n.finish(),c}function allowStorageAccessByUserActivation(e){var t,r;null!=(t=e.sandbox)&&t.length&&(null==(r=e.sandbox)||!r.contains("allow-storage-access-by-user-activation"))&&e.sandbox.add("allow-storage-access-by-user-activation")}async function doStartPlaygroundWeb(e,t,r){await new Promise((r=>{e.src=t,e.addEventListener("load",r,!1)}));const n=consumeAPI(e.contentWindow,e.ownerDocument.defaultView);await n.isConnected(),r.pipe(n);const o=r.stage();return await n.onDownloadProgress(o.loadingListener),await n.isReady(),o.finish(),n}const officialRemoteOrigin="https://playground.wordpress.net";function assertValidRemote(e){const t=new URL(e,officialRemoteOrigin);if((t.origin===officialRemoteOrigin||"localhost"===t.hostname)&&"/remote.html"!==t.pathname)throw new Error(`Invalid remote URL: ${t}. Expected origin to be ${officialRemoteOrigin}/remote.html.`)}function setQueryParams(e,t){const r=new URL(e,officialRemoteOrigin),n=new URLSearchParams(r.search);for(const[o,s]of Object.entries(t))if(null!=s&&!1!==s)if(Array.isArray(s))for(const e of s)n.append(o,e.toString());else n.set(o,s.toString());return r.search=n.toString(),r.toString()}async function connectPlayground(e,t){if(console.warn("`connectPlayground` is deprecated and will be removed. Use `startPlayground` instead."),null!=t&&t.loadRemote)return startPlaygroundWeb({iframe:e,remoteUrl:t.loadRemote});const r=consumeAPI(e.contentWindow,e.ownerDocument.defaultView);return await r.isConnected(),r}}}]); \ No newline at end of file diff --git a/assets/js/23da3c05.70bf51d0.js b/assets/js/23da3c05.70bf51d0.js deleted file mode 100644 index c70574176..000000000 --- a/assets/js/23da3c05.70bf51d0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[20272],{57668:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/theme-options","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/25003e4f.317e2114.js b/assets/js/25003e4f.317e2114.js new file mode 100644 index 000000000..8b06a15b8 --- /dev/null +++ b/assets/js/25003e4f.317e2114.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[22838],{4351:e=>{e.exports=JSON.parse('{"archive":{"blogPosts":[{"id":"using-post-templates","metadata":{"permalink":"/blog/using-post-templates","source":"@site/blog/2024-03-28-using-post-templates.md","title":"Using post templates","description":"Explaining post templates and how to use them.","date":"2024-03-28T00:00:00.000Z","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"templates","permalink":"/blog/tags/templates"}],"readingTime":5.05,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"Using post templates","description":"Explaining post templates and how to use them.","slug":"using-post-templates","authors":"obradovic","date":"2024-03-28T00:00:00.000Z","tags":["eightshift","boilerplate","templates"],"hide_table_of_contents":false},"unlisted":false,"nextItem":{"title":"Using inner blocks","permalink":"/blog/using-inner-blocks"}},"content":"Sometimes you need your posts to follow a specific structure, or you simply want to provide a good starting point for the editors. This blog post will cover what post templates are, how to set them up, and what options they offer.\\n\x3c!--truncate--\x3e\\n\\nA simple use case of post templates can be a review or a testimonial. For example, if you want each review to be a separate post and to use a single Quote block.\\n\\nIf you don\u2019t have the new post type registered, you can refer to one of the previous blog posts which explains how to [register Custom Post Types](/blog/using-cpts-and-taxonomies). Once the new post type is registered, you can set the `template_lock` argument.\\n\\n## Template locking options\\n\\nThe best way to lock the template is by adding the `template_lock` argument into a `return` statement from the `getPostTypeArguments` method in your post type class.\\n\\n```php\\nreturn [\\n\\t// ...\\n\\t\'template_lock\' => \'all\',\\n];\\n```\\n\\nThere are a few ways of locking the template:\\n\\n- `all` - blocks can\u2019t be inserted, removed, or moved around. Content can be edited for existing blocks\\n- `insert` - you can\u2019t insert or remove blocks, but you can move them around\\n\\n:::note\\nIt\u2019s not mandatory to use `template_lock` if you\u2019re using post templates. You can leave it out and have it fully unlocked to give the editors the freedom to modify the proposed template.\\n:::\\n\\nAdditionally, you can lock each block separately by adding the following attributes:\\n```json\\n\\"lock\\": {\\n\\t\\"remove\\": true,\\n\\t\\"move\\": true,\\n}\\n```\\n\\n## Adding a template\\n\\nA recommended approach for adding a post template is to add a service class. For this example, the post type is **Review**, so the WP-CLI command for creating a new service class looks like this:\\n\\n```bash\\nwp boilerplate create service-example --folder=Templates --file_name=ReviewTemplate\\n```\\n\\nIf you\u2019re adding a template for another post type, create a separate class, but include it in the same namespace (folder). That way you\u2019ll have a much better overview of the templates in the project.\\n\\nHere\u2019s an example of how to add a single Quote block as a template:\\n\\n```php\\n/**\\n * Register Review Template.\\n *\\n * @return void\\n */\\npublic function registerReviewTemplate(): void\\n{\\n\\t$reviewPostType = \\\\get_post_type_object(ReviewPostType::POST_TYPE_SLUG);\\n\\n\\t$reviewPostType->template = [\\n\\t\\t[\\n\\t\\t\\t\'eightshift-boilerplate/quote\',\\n\\t\\t\\t[\\n\\t\\t\\t\\t\'wrapperSimple\' => true,\\n\\t\\t\\t\\t\'quoteQuoteParagraphContent\' => \'Content placeholder\',\\n\\t\\t\\t\\t\'quoteQuoteAuthorContent\' => \'Author name placeholder\',\\n\\t\\t\\t]\\n\\t\\t],\\n\\t];\\n}\\n```\\n\\nTo assign a post template, you need to get the post type object and then update the `template` property. Alternatively, you can also lock the post template in this method with the `template_lock` property, but it\u2019s much cleaner to do it during custom post type registration.\\n\\nDon\u2019t forget to register your method with `add_action`:\\n\\n```php\\n\\\\add_action(\'init\', [$this, \'registerReviewTemplate\'], 20);\\n```\\n\\n## Building complex layouts\\n\\nAs you can see from the previous example, you can set any attribute you want, including wrapper-related options. The easiest way to add a complex post template is by building it in the Gutenberg editor first, then switching to Code Editor and copying the content. This will have to be rewritten in PHP to make it work, and here\u2019s how to do it. Let\u2019s say the code for the blocks looks like this:\\n\\n```\\n\x3c!-- wp:eightshift-boilerplate/paragraph {\\"paragraphParagraphContent\\":\\"Placeholder text\\"} /--\x3e\\n\\n\x3c!-- wp:eightshift-boilerplate/cta-modal {\\"ctaModalButtonContent\\":\\"Apply now!\\",\\"ctaModalEndDateHide\\":true} --\x3e\\n\x3c!-- wp:eightshift-boilerplate/heading {\\"wrapperUseShowControl\\":false,\\"wrapperSimpleShowControl\\":false,\\"wrapperSimple\\":true,\\"wrapperAnchorId\\":\\"apply-now\\",\\"headingHeadingContent\\":\\"Application form\\",\\"headingHeadingSize\\":\\"h4:bold\\",\\"headingAlign\\":\\"center\\"} /--\x3e\\n\\n\x3c!-- wp:eightshift-forms/forms /--\x3e\\n\x3c!-- /wp:eightshift-boilerplate/cta-modal --\x3e\\n```\\n\\nThis is how it looks when you rewrite it in PHP.\\n\\n```php\\n$eventPostType->template = [ // array that holds all blocks.\\n\\t[ // array that holds a Paragraph block.\\n\\t\\t\'eightshift-boilerplate/paragraph\', // full block name.\\n\\t\\t[ // array that holds block attributes.\\n\\t\\t\\t\'paragraphParagraphContent\' => \'Placeholder text\',\\n\\t\\t]\\n\\t],\\n\\t[ // array that holds a CTA Modal block.\\n\\t\\t\'eightshift-boilerplate/cta-modal\',\\n\\t\\t[ // array that holds block attributes.\\n\\t\\t\\t\'ctaModalEndDateHide\' => true,\\n\\t\\t\\t\'ctaModalButtonContent\' => \'Apply now!\',\\n\\t\\t\\t\'ctaModalButtonAlign\' => \'center\',\\n\\t\\t],\\n\\t\\t[ // array of inner blocks for a CTA Modal block.\\n\\t\\t\\t[\\n\\t\\t\\t\\t\'eightshift-boilerplate/heading\',\\n\\t\\t\\t\\t[\\n\\t\\t\\t\\t\\t\'wrapperAnchorId\' => \'apply-now\',\\n\\t\\t\\t\\t\\t\'headingHeadingContent\' => \'Application form\',\\n\\t\\t\\t\\t\\t\'headingHeadingSize\' => \'h4:bold\',\\n\\t\\t\\t\\t\\t\'headingAlign\' => \'center\'\\n\\t\\t\\t\\t]\\n\\t\\t\\t],\\n\\t\\t\\t[\\n\\t\\t\\t\\t\'eightshift-forms/forms\',\\n\\t\\t\\t\\t[] // not passing any attributes, so we just include an empty array.\\n\\t\\t\\t]\\n\\t\\t]\\n\\t]\\n];\\n```\\n\\nThe comments were added above for an easier understanding of the structure. So, to summarize:\\n\\n- the `template` property is an array that holds all blocks\\n- each block is a separate array that accepts three values in the following order: block name (string), block attributes (array), and inner blocks (array)\\n- the process of adding inner blocks is the same as for adding blocks to the main content\\n\\n## Editor options for unlocking the templates\\n\\nEven though the templates can be locked, some blocks can still be unlocked. This can be done by selecting a block and clicking on a lock icon. When locking or unlocking a block in this way, you can toggle two options, the ones already mentioned at the end of the [Template locking options](#template-locking-options) section:\\n\\n- **Disable movement** - disable moving the block around\\n- **Prevent removal** - prevents the block from being deleted\\n\\nThat way, even if you lock the template, some modifications can still be made to the template. Please note, that once you remove a block from the locked template, you can\u2019t add it again because the button for adding blocks is disabled.\\n\\n## Suggestions for using post templates\\n\\nPost templates offer a great way to streamline the process of adding content for specific post types and making the look and feel of the same post types more uniform. There are lots of ways to use them, so here are some suggestions to give you ideas:\\n\\n**Posts/news articles** - a news article needs a title, an image, author information, and some content.\\n\\n**Events** - you can put the important information at the top with a few accordions, then follow up with some content and add a CTA button at the bottom that opens a modal with an application form.\\n\\n**Reviews** - use a single quote block for displaying user reviews. To make it work with the Featured Content block, you can modify the Featured Content block to render the Reviews CPT content directly, instead of rendering cards."},{"id":"using-inner-blocks","metadata":{"permalink":"/blog/using-inner-blocks","source":"@site/blog/2024-03-07-using-inner-blocks.md","title":"Using inner blocks","description":"Various tips and useful features for your project included in Eightshift DevKit.","date":"2024-03-07T00:00:00.000Z","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"inner blocks","permalink":"/blog/tags/inner-blocks"}],"readingTime":4.71,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"Using inner blocks","description":"Various tips and useful features for your project included in Eightshift DevKit.","slug":"using-inner-blocks","authors":"obradovic","date":"2024-03-07T00:00:00.000Z","tags":["eightshift","boilerplate","inner blocks"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"Using post templates","permalink":"/blog/using-post-templates"},"nextItem":{"title":"Tips & useful features","permalink":"/blog/tips-useful-features"}},"content":"InnerBlocks in WordPress enable the creation of nested block structures within the Gutenberg editor, allowing for the development of more complex and customizable content layouts.\\n\x3c!--truncate--\x3e\\n\\n## Why use inner blocks?\\n\\nUse of inner blocks allows for more flexibility when building content. Let\u2019s say you\u2019re building a simple two-column layout with image on one side and content on the other side. You can define the components that will be used (e.g. header, paragraph, list, button) and then just toggle the ones you don\u2019t need.\\n\\nThis approach works perfectly fine when you have a strict layout and don\u2019t need larger content structure variations. Using inner blocks may introduce a bit more complexity - both for developers and content editors, but ultimately gives the editors much more freedom.\\n\\nAnother example where inner blocks are used is the Carousel block. Using inner blocks allows you to add as many slides as you\'d like in your carousel. Let\u2019s not forget about Columns and Group blocks. These also use inner blocks.\\n\\n## Adding inner block support\\n\\nThe example used in this blog post is a two-column Card that was made for a project. First thing that needs to be updated is the ***manifest.json*** file. For the sake of simplicity and not having too much code, the parts that aren\u2019t related to the inner blocks have been removed.\\n\\n```json\\n{\\n\\t\\"hasInnerBlocks\\": true,\\n\\t\\"innerBlocksDependency\\": [\\n\\t\\t\\"heading\\",\\n\\t\\t\\"paragraph\\"\\n\\t],\\n\\t\\"attributes\\": {\\n\\t\\t\\"cardTwoColumnAllowedBlocks\\": {\\n\\t\\t\\t\\"type\\": \\"array\\",\\n\\t\\t\\t\\"items\\": {\\n\\t\\t\\t\\t\\"type\\": \\"string\\"\\n\\t\\t\\t},\\n\\t\\t\\t\\"default\\": [\\n\\t\\t\\t\\t\\"eightshift-boilerplate/paragraph\\",\\n\\t\\t\\t\\t\\"eightshift-boilerplate/heading\\",\\n\\t\\t\\t\\t\\"eightshift-boilerplate/button\\",\\n\\t\\t\\t\\t\\"eightshift-boilerplate/lists\\"\\n\\t\\t\\t]\\n\\t\\t}\\n\\t}\\n}\\n```\\n\\nThe `hasInnerBlocks` key defines that this block supports inner blocks. The `innerBlocksDependency` is generally used to output block dependencies when adding a block via CLI, but it can also be used to add inner blocks automatically. You can see an example of using it in the Columns block `editor.js` file.\\n\\nIn case we need to limit which blocks can be added inside inner blocks, we can do so with an attribute. Usually, the attribute is named `{blockName}AllowedBlocks`. Set the default value as an array of strings that represent block names you want to allow.\\n\\nPlease note that the block names must include the block namespace! (`eightshift-boilerplate` by default, check in Global manifest)\\n\\nNow you need to pass the allowed blocks attribute into the `InnerBlocks` component In the `{block-name}-editor.js` file. Here\u2019s an example of the code related only to the inner blocks:\\n\\n```jsx\\nimport { InnerBlocks } from \'@wordpress/block-editor\';\\nimport { BlockInserter } from \'@eightshift/frontend-libs/scripts\';\\n\\nexport const CardTwoColumnEditor = ({ attributes, setAttributes, clientId }) => {\\n\\n\\tconst {\\n\\t\\tcardTwoColumnAllowedBlocks,\\n\\t} = attributes;\\n\\n\\treturn (\\n\\t\\t<div className={contentClass}>\\n\\t\\t\\t<InnerBlocks\\n\\t\\t\\t\\tallowedBlocks={(typeof cardTwoColumnAllowedBlocks === \'undefined\') || cardTwoColumnAllowedBlocks}\\n\\t\\t\\t\\torientation=\'vertical\'\\n\\t\\t\\t\\trenderAppender={() => <BlockInserter clientId={clientId} />}\\n\\t\\t\\t/>\\n\\t\\t</div>\\n\\t);\\n};\\n```\\n\\nThe `InnerBlocks` component comes from Gutenberg. In order to limit the allowed blocks, we need to pass the list of allowed inner blocks to the `allowedBlocks` attribute. If your inner blocks should be laid out horizontally in the editor, instead of vertically, you can pass `orientation=\'horizontal\'`.\\n\\n`renderAppender` prop allows passing a custom block insert button. Due to relatively frequent changes in Gutenberg, a custom `BlockInserter` element is available in Frontend libs as a replacement, and can be passed to `InnerBlocks`.\\n\\nFinally, to render the inner blocks in PHP, you need to add the following:\\n\\n```php\\n<?php\\n// phpcs:ignore Eightshift.Security.ComponentsEscape.OutputNotEscaped\\necho $innerBlockContent;\\n?>\\n```\\n\\nAnd that\u2019s it! Your block now supports inner blocks.\\n\\n:::note\\nA block can have only one set of inner blocks.\\n:::\\n\\n## Overriding inner block attributes\\n\\nInner blocks behave like regular blocks, which means they also have a wrapper by default. This may not always be desired and manually removing wrapper or adding custom wrapper settings on each inner block can be tedious. That\u2019s why Eightshift DevKit offers few helpers that allow you to override inner block attributes.\\n\\nBoth of these helpers go to your `{block-name}-block.js` file.\\n\\n### overrideInnerBlockAttributes\\n\\nThis helper allows you to set the attributes on all inner blocks by passing them as a third parameter. The example below shows how to disable the wrapper and hide wrapper controls.\\n\\n```jsx\\nimport { useSelect } from \'@wordpress/data\';\\nimport { overrideInnerBlockAttributes } from \'@eightshift/frontend-libs/scripts\';\\n\\nexport const Accordion = (props) => {\\n\\t// Set these attributes to all inner blocks once inserted in DOM.\\n\\tuseSelect((select) => {\\n\\t\\toverrideInnerBlockAttributes(\\n\\t\\t\\tselect,\\n\\t\\t\\tprops.clientId,\\n\\t\\t\\t{\\n\\t\\t\\t\\twrapperUse: false,\\n\\t\\t\\t\\twrapperNoControls: true,\\n\\t\\t\\t},\\n\\t\\t);\\n\\t});\\n\\n\\treturn (\\n\\t\\t// ...\\n\\t);\\n};\\n```\\n\\nKeep in mind this helper allows you to set any attribute that the inner block supports, so you can even set a larger paragraph size and a different color, for example.\\n\\n### useBlockProps and useInnerBlocksProps\\n\\nIn case the default `InnerBlocks` limits your styling and/or layout options too much, you can opt into the newer block prop hooks to implement inner blocks as well!\\n\\nImport the `useBlockProps` and `useInnerBlocksProps` hooks, configure them just like regular InnerBlocks, and spread the params into an element of your choice (`div` is recommended).\\n\\nIn code, it looks something like this:\\n\\n```jsx\\nimport { useBlockProps, useInnerBlocksProps } from \'@wordpress/block-editor\';\\n\\nexport const DemoEditor = (props) => {\\n\\tconst blockProps = useBlockProps();\\n\\tconst innerBlocksProps = useInnerBlocksProps(blockProps, {\\n\\t\\tallowedBlocks: demoAllowedBlocks,\\n\\t\\trenderAppender: () => <BlockInserter clientId={clientId} />,\\n\\t});\\n\\n\\treturn (\\n\\t\\t<div {...innerBlocksProps} /> // Do whatever you want with this.\\n\\t);\\n};\\n```\\n\\n## Conclusion\\n\\nThe best way to understand how inner blocks work is to try to build your own block that supports inner blocks and try out various options and see what kind of results you\u2019ll get. If you ever get stuck, you can refer to the official [Eightshift DevKit documentation](https://eightshift.com/docs/welcome) or check the blocks that already have inner blocks support. These blocks are:\\n\\n- accordion\\n- accordion item\\n- columns\\n- column\\n- carousel\\n- group"},{"id":"tips-useful-features","metadata":{"permalink":"/blog/tips-useful-features","source":"@site/blog/2024-02-29-tips-useful-features.md","title":"Tips & useful features","description":"Various tips and useful features for your project included in Eightshift DevKit.","date":"2024-02-29T00:00:00.000Z","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"blocks","permalink":"/blog/tags/blocks"},{"label":"plugins","permalink":"/blog/tags/plugins"},{"label":"colors","permalink":"/blog/tags/colors"},{"label":"images","permalink":"/blog/tags/images"},{"label":"classes","permalink":"/blog/tags/classes"}],"readingTime":5.665,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"Tips & useful features","description":"Various tips and useful features for your project included in Eightshift DevKit.","slug":"tips-useful-features","authors":"obradovic","date":"2024-02-29T00:00:00.000Z","tags":["eightshift","boilerplate","blocks","plugins","colors","images","classes"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"Using inner blocks","permalink":"/blog/using-inner-blocks"},"nextItem":{"title":"Making your project multilingual","permalink":"/blog/making-your-project-multilingual"}},"content":"Eightshift DevKit has lots of features that can make your development experience easier. These are mostly minor features which can\u2019t be a blog post of its own, so they\u2019ll be listed here. This isn\u2019t a complete list, so there may be a part 2 in the future.\\n\x3c!--truncate--\x3e\\n\\n## Using only Eightshift blocks\\n\\nIf you want to remove the default Gutenberg blocks and use only Eightshift blocks, it\u2019s as easy as adding the following code in your **_src/Blocks/Blocks.php_** file:\\n\\n```php\\n// Limits the usage of only custom project blocks.\\n\\\\add_filter(\'allowed_block_types_all\', [$this, \'getAllBlocksList\'], 10, 2);\\n```\\n\\n## ModifyAdminAppearance class\\n\\nWhen you have multiple environments (local, staging, production ...), you may accidentally change something on the wrong environment if you mix up your tabs. The `ModifyAdminAppearance` class changes your WP Admin color scheme depending on the environment type defined with the `WP_ENVIRONMENT_TYPE` constant. That way it\u2019s much easier to differentiate on which environment you are when you\'re in WP Admin.\\n\\nNow when you get a call from the client asking you why the blog post they published isn\u2019t visible on the site, the first question you can ask is: \u201cWhat color is the admin area?\u201d \ud83d\ude04\\n\\nTo add it into your project, use the following WP-CLI command:\\n\\n```bash\\nwp boilerplate create modify-admin-appearance\\n```\\n\\nAfter adding this class to your project, all you have to do is define the proper environment type in the `WP_ENVIRONMENT_TYPE` constant in ***wp-config.php.***\\n\\nThe supported values are:\\n\\n- local\\n- development\\n- staging\\n- production\\n\\n![Different color schemes in WP Admin depending on the environment](/img/blog/modify-admin-appearance.webp)\\n\\nIf you want to change any of the colors, you can do so by modifying the values in `COLOR_SCHEMES` array inside `ModifyAdminAppearance` class. For the full list of available color schemes, you can navigate to **_wp-admin/css/colors_**. The subfolders here represent the color schemes you can use. For example, if you want to change production environment color scheme to `coffee`, you would do it like this:\\n\\n```php\\n/**\\n * List of admin color schemes.\\n *\\n * @var array<string, string>\\n */\\npublic const COLOR_SCHEMES = [\\n\\t\'development\' => \'fresh\',\\n\\t\'local\' => \'fresh\',\\n\\t\'staging\' => \'blue\',\\n\\t\'production\' => \'coffee\',\\n];\\n```\\n\\n## EscapedView class\\n\\nThis class can be used to define which tags and attributes are escaped or allowed in your project. To add the class into your project, use the following WP-CLI command:\\n\\n```bash\\nwp boilerplate create escaped-view\\n```\\n\\nHere\u2019s an example how to define the allowed tags so `wp_kses` doesn\u2019t remove them:\\n\\n```php\\n\\t/**\\n\\t * Add tags to allowed HTML list.\\n\\t *\\n\\t * @param array<string, array<mixed>> $tags Allowed tags.\\n\\t *\\n\\t * @return array<string, array<mixed>>\\n\\t */\\n\\tpublic function ksesAllowedHtml($tags): array\\n\\t{\\n\\t\\t$tags[\'source\'] = [\\n\\t\\t\\t\'src\' => [],\\n\\t\\t\\t\'type\' => [],\\n\\t\\t];\\n\\n\\t\\t$tags[\'video\'] = [\\n\\t\\t\\t\'muted\' => [],\\n\\t\\t\\t\'src\' => [],\\n\\t\\t\\t\'autoplay\' => [],\\n\\t\\t\\t// ...\\n\\t\\t];\\n\\n\\t\\t$tags[\'div\'][\'data-*\'] = true;\\n\\n\\t\\treturn \\\\array_merge(\\n\\t\\t\\t$tags,\\n\\t\\t\\tstatic::SVG,\\n\\t\\t\\tstatic::FORM,\\n\\t\\t\\tstatic::IFRAME\\n\\t\\t);\\n\\t}\\n```\\n\\n:::caution\\nPlease be wary of the attributes you allow, as this could expose your website to cross-site scripting (XSS) and similar attacks!\\n:::\\n\\nDon\u2019t forget to add this to the `register` method:\\n\\n```php\\n\\\\add_filter(\'wp_kses_allowed_html\', [$this, \'ksesAllowedHtml\'], 20, 1);\\n```\\n\\n## Media class\\n\\nTo add the Media class to your project, use the following WP-CLI command:\\n\\n```bash\\nwp boilerplate create media\\n```\\n\\nYou can use the Media class to define new media sizes or allow uploads of the mime types that are not allowed by default.\\n\\n```php\\n\\t/**\\n\\t * Allow additional types for uploads in media.\\n\\t *\\n\\t * @param array<string, string> $mimes Load all mimes types.\\n\\t *\\n\\t * @return array<string, string> Return original and updated.\\n\\t */\\n\\tpublic function enableMimeTypes(array $mimes): array\\n\\t{\\n\\t\\t$mimes[\'svg\'] = \'image/svg+xml\';\\n\\t\\t$mimes[\'zip\'] = \'application/zip\';\\n\\t\\t$mimes[\'json\'] = \'application/json\';\\n\\n\\t\\treturn $mimes;\\n\\t}\\n```\\n\\nAnd register the filter:\\n\\n```php\\n\\\\add_filter(\'upload_mimes\', [$this, \'enableMimeTypes\']);\\n```\\n\\nThis class also supports converting your media into **_WebP_** format, but more on that below.\\n\\n## Automatic WebP conversion\\n\\nThe WebP file format is becoming more and more popular, with its smaller file sizes and better compression, it is a preferred replacement for .jpg and .png formats. Eightshift DevKit supports converting your existing files to WebP format.\\n\\nIf you already have the Media class in your project, you need to run this WP-CLI command:\\n\\n```bash\\nwp boilerplate create webp-media-column\\n```\\n\\nThis command will add a new column in your ***List view*** in Media Library that shows if the media is converted to WebP or not.\\n\\n![WebP column in Media Library](/img/blog/webp-column.webp)\\n\\nTo enable and convert existing media to WebP, run the following commands:\\n\\n```bash\\nwp boilerplate run use-webp-media\\nwp boilerplate run regenerate-media\\n```\\n\\nAfter running these commands, you\u2019ll have your images converted to WebP. Some formats like `svg` will not be converted, this is intended.\\n\\nPlease note that the original files will not be deleted and you\u2019ll have to add additional logic to your Image component for replacing the URLs.\\n\\nHere\u2019s a simple example how to do it:\\n\\n```php\\n// Check if webP is used from admin.\\n$isWebPUsed = Components::isWebPMediaUsed();\\n\\n// If webP is used override the url for large.\\nif ($isWebPUsed) {\\n\\t$sourceWebPLarge = Components::getWebPMedia($imageUrl[\'large\'], Media::WEBP_ALLOWED_EXT);\\n\\n\\tif ($sourceWebPLarge) {\\n\\t\\t$imageUrl[\'large\'] = $sourceWebPLarge[\'src\'];\\n\\t}\\n}\\n```\\n\\n## Dynamic cookies for WP Rocket\\n\\nThis is quite useful when you have a GDPR plugin and you have to take the cookie value into consideration when serving the cached version of the site.\\n\\nTo add the GDPR cookie to the list of dynamic cookies, create a new class called Rocket with the following WP-CLI command:\\n\\n```bash\\nwp boilerplate create service-example --folder=Plugins/Rocket --file_name=Rocket\\n```\\n\\nAdd the following method to the Rocket class:\\n\\n```php\\n\\t/**\\n\\t * List all dynamic cookies that will create new cached version.\\n\\t *\\n\\t * @param array<string> $items Items from the admin.\\n\\t *\\n\\t * @return array<string>\\n\\t */\\n\\tpublic function dynamicCookiesList(array $items): array\\n\\t{\\n\\t\\t$items[] = \'gdpr\';\\n\\n\\t\\treturn $items;\\n\\t}\\n```\\n\\nFinally, add the following filter to the `register` method:\\n\\n```php\\n\\\\add_filter(\'rocket_cache_dynamic_cookies\', [$this, \'dynamicCookiesList\']);\\n```\\n\\n## Yoast SEO helper\\n\\nThe content generated by Eightshift blocks may be difficult for Yoast SEO to interpret, but there is a Yoast SEO helper included in our DevKit that fixes the issue and makes the content readable to Yoast SEO. By default, Yoast SEO can\'t read the content from custom dynamic blocks, so this helper tells it how to parse the content from the blocks.\\n\\nTo enable this, you have to add the following in **_src/Blocks/assets/scripts/application-blocks-editor.js_**:\\n\\n```jsx\\nimport { yoastSeo } from \'@eightshift/frontend-libs/scripts/plugins\';\\n\\n// ...\\n\\nyoastSeo();\\n```\\n\\n## Linters and Coding Standards checks\\n\\nEightshift DevKit includes coding standards checks that will help you improve your code quality.\\n\\nTo run these commands, you have to be in the theme root folder. Here\u2019s the list:\\n\\n- `npm run lintStyle` - check your CSS files with StyleLint\\n- `npm run lintJs` - check your JS files with ESLint\\n- `composer test:standards` - check PHP coding standards errors with PHPCS\\n- `composer test:types` - runs PHPStan static code analysis"},{"id":"making-your-project-multilingual","metadata":{"permalink":"/blog/making-your-project-multilingual","source":"@site/blog/2024-02-01-making-your-project-multilingual.md","title":"Making your project multilingual","description":"Examples of using I18n in a project","date":"2024-02-01T00:00:00.000Z","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"i18n","permalink":"/blog/tags/i-18-n"},{"label":"multilingual","permalink":"/blog/tags/multilingual"}],"readingTime":5.75,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"Making your project multilingual","description":"Examples of using I18n in a project","slug":"making-your-project-multilingual","authors":"obradovic","date":"2024-02-01T00:00:00.000Z","tags":["eightshift","boilerplate","i18n","multilingual"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"Tips & useful features","permalink":"/blog/tips-useful-features"},"nextItem":{"title":"How to use the Wrapper as a standalone component","permalink":"/blog/wrapper-as-a-standalone-component"}},"content":"Tools like Google Translate can automatically translate websites with reasonable quality. However, users will have a much better experience if you add support for multiple languages in your project and manage the translations yourself.\\n\x3c!--truncate--\x3e\\n\\n## Making strings translatable in PHP\\nA good practice is to use one of the I18n (internationalization) functions for your hardcoded strings, even if your website starts with a single language. This way, you can add multilingual support more easily later.\\n\\nIf you\'ve worked on a multilanguage-capable project, you most likely came across `__()` and `_e()` functions. The main difference between the `__()` and `_e()` is that `__()` returns the value, while `_e()` echoes it. Both functions take two arguments: the first one is the string to be translated, and the second one is the textdomain that identifies the translation file.\\n\\n> Textdomain is usually your project name written in kebab-case.\\n\\nWhile WordPress functions like `__()` and `_e()` will definitely do the job, it is much better to use the variants of these functions that also escape the output. These are `esc_html__()` and `esc_html_e()`. There are also a few more functions for I18n you can use, but to keep it simple, we\'ll just mention these two for now.\\n\\nHere is an example of using one of these functions:\\n```php\\n<?php echo esc_html__(\'Contact\', \'project-name\'); ?>\\n```\\n\\n## Making strings translatable in JS\\nTo translate the strings in the Block editor or options, you will first have to import the function from the `@wordpress/i18n` library.\\n```jsx\\nimport { __ } from \'@wordpress/i18n\';\\n```\\nTo output your string, simply use it like this:\\n```jsx\\n{__(\'Icon position\', \'project-name\')}\\n```\\n\\nAlternative functions you can use are:\\n- `_n` for singular/plural forms\\n- `_nx` for singular/plural forms with _gettext_ context\\n- `_x` for a translated string with a _gettext_ context\\n\\nYou can refer to the [block editor handbook](https://developer.wordpress.org/block-editor/reference-guides/packages/packages-i18n/) for more information on these functions.\\n\\n## The I18n class\\nThe easiest way to add I18n support to a project created with Eightshift boilerplate is by using the WP-CLI command:\\n```bash\\nwp boilerplate create i18n\\n```\\n\\nThis command generated a new class inside the `src/I18n` folder. This class instructs WordPress to look for translations in `src/I18n/languages` with the textdomain defined as your project name. The next step is generating .po and .mo files that are used for translation.\\n\\n## Generating .pot file\\nYou can create a `.pot` (_Portable object template_) file by using WP-CLI. Run the following command in your project root:\\n```bash\\nwp i18n make-pot\\n```\\n\\nAlternatively, you can use tools like [Poedit](https://poedit.net/) to generate a `.pot` file and generate translations from it later.\\n\\n## Translating with Poedit\\nOnce you have the `.pot` file, you can use Poedit to generate `.po` and `.mo` files that are used for translating hardcoded strings in your project. When generating the files, you can choose for which locale you\'re creating the translation for. For example, if you are creating a translation for the German language, your files should be named `de_DE.po` and `de_DE.mo`.\\n\\nAfter generating the files, go to **Translation -> Properties** and navigate to the **Sources Paths** tab. Set the _Base path_ to the theme folder path. In _Excluded paths_ you can add folders like `node_modules`, `vendor`, and `public` to exclude external packages.\\n\\nIn the _Sources keywords_ tab you can set additional functions for use in your project for translations. Commonly used functions are:\\n- `_e` for translating a string and echoing it\\n- `__` for returning a translated string\\n- `esc_html__` for returning a translated string which is escaped in a way it\'s safe to use within HTML\\n- `esc_html_e` for echoing a translated string which is escaped in a way it\'s safe to use within HTML\\n- `esc_attr__` for returning a translated string which is escaped in a way it\'s safe to use within an attribute\\n- `esc_html_x` for returning a translated string which is escaped in a way it\'s safe to use within HTML, with a _gettext_ context\\n- `_n` for returning a translated string in a singular or plural form, based on the supplied number\\n\\n> If you\'re missing a string in your `.po` file be sure to check which function is used for translation for that string, and that the function is added to _Sources keywords_.\\n\\nAfter updating the settings, click on _Update from source code_ option to get the updated list of strings to translate.\\n\\nThe translation process is simple. The left column represents the source text, and the right column the translation. When you have finished translating the strings, copy the `.po` and `.mo` files to the `src/I18n/languages` folder.\\n\\n## JS translations\\nThe process of translating strings in JS has a couple of extra steps.\\n\\nIn order to translate strings in JS (e.g. Block editor strings), you will have to generate translation file. To do this, navigate to your `src/I18n/languages` folder and use the following WP-CLI command:\\n```bash\\nwp i18n make-json <po-file> --no-purge\\n```\\n\\nThis will generate a `.json` file for each JS file present. The strings are extracted from `.po` files, so you\'ll already have the translations added. The `--no-purge` flag is used to keep the existing translations in the `.po` file.\\n\\nThe method used for setting the script translations is `setScriptTranslations()` from the `I18n` class.\\n\\nThe default way this works in Eightshift DevKit is that you need to have a single `.json` file with all the JS translations. If needed, you can either modify this method to read from multiple files, or just merge all the `.json` files into one.\\n\\nIf using the default setup (everything in one file) follow this naming structure: `{textdomain}-{locale}-{handle}.json`.\\n\\nFor example, if your _textdomain_ is `project-name` and your locale is `de_DE`, your file should be named `project-name-de_DE-project-name-block-editor-scripts.json`.\\n\\n> The block-related translations depend on the language the user has set in WP admin.\\n\\n## Enabling languages and content translation\\nIf the website itself needs to support content in multiple languages, a plugin is a good option.\\n\\n The most common multi-language plugins are:\\n- **WPML** - one of the most popular plugins on the market. It is a paid plugin, but offers a lot of advanced options.\\n- **Polylang** - a free plugin (also has a paid _Pro_ version).\\n\\n> Explore other options as well, you might find a plugin that is a better fit for your project than WPML or Polylang.\\n\\nMost of the translation work will be done through the editor, since you\'ll need to translate the content on posts and pages.\\n\\n## Additional resources\\nInternationalization (_I18n_) and Localization (_L10n_) are very broad topics, so it\'s impossible to cover everything in a single blog post.\\n\\nIf you wish to know about the core I18n functionalities, or a bit more about how it is used in the Eightshift DevKit, here are a few resources which you may find interesting:\\n- [WordPress Codex - I18n for WordPress Developers](https://codex.wordpress.org/I18n_for_WordPress_Developers)\\n- [Eightshift Development kit documentation - Tips & Tricks](https://eightshift.com/docs/basics/tips-tricks/#internationalization-i18n-and-localization-l10n)\\n- [Infinum WordPress Handbook - Localization](https://infinum.com/handbook/wordpress/translations/localization)"},{"id":"wrapper-as-a-standalone-component","metadata":{"permalink":"/blog/wrapper-as-a-standalone-component","source":"@site/blog/2023-09-05-wrapper-as-a-standalone-component.md","title":"How to use the Wrapper as a standalone component","description":"Explains the process of using the Wrapper component in WordPress templates.","date":"2023-09-05T00:00:00.000Z","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"wrapper","permalink":"/blog/tags/wrapper"},{"label":"components","permalink":"/blog/tags/components"}],"readingTime":3.205,"hasTruncateMarker":true,"authors":[{"name":"Ivan Kancijan","title":"WordPress Engineer","url":"https://github.com/kancijan","imageURL":"https://avatars.githubusercontent.com/u/135589039?v=4","key":"kancijan"}],"frontMatter":{"title":"How to use the Wrapper as a standalone component","description":"Explains the process of using the Wrapper component in WordPress templates.","slug":"wrapper-as-a-standalone-component","authors":"kancijan","date":"2023-09-05T00:00:00.000Z","tags":["eightshift","boilerplate","wrapper","components"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"Making your project multilingual","permalink":"/blog/making-your-project-multilingual"},"nextItem":{"title":"Working with custom queries","permalink":"/blog/working-with-custom-queries"}},"content":"As one of the most powerful features in the Eightshift DevKit, the Wrapper is a part of every Eightshift block in the Gutenberg editor, but what about WordPress templates?\\n\x3c!--truncate--\x3e\\n\\n:::note\\n[Wrapper](https://eightshift.com/docs/basics/blocks-wrapper/) is designed to be the ultimate top-level component that controls how your block behaves in the website layout. It is a sort of a \'section\' in traditional builders. By default, you can control a whole lot of stuff, but there is an option to add custom attributes and tailor the Wrapper to the needs of your project.\\n:::\\n\\n## What are WordPress templates?\\n\\nBefore the days of [Full Site Editing](https://developer.wordpress.org/block-editor/getting-started/full-site-editing/) in WordPress, we used [template files](https://developer.wordpress.org/themes/basics/template-hierarchy/) to add custom layouts to a blog page or post archives.\\n\\n:::note\\nWhile Full-site editing (FSE) _is_ supported in Eightshift Libs, a couple of modifications have to be done in your project to make it work.\\n:::\\n\\nDepending on your setup, you might still use those as they are still a core part of WordPress themes.\\n\\n## Usage in templates\\n\\nThanks to the `Components` helper, we can easily `render()` any component in our template. \\n\\n:::note\\nInterested in how to use components in a block? Take a look at [our docs](https://eightshift.com/docs/basics/blocks-component-in-block#i-have-a-component-that-i-want-to-use-manually).\\n:::\\n\\nFor this example, we\'ll use `index.php`, as you already have it in your theme. If not, use the code below:\\n\\n```php\\n<?php\\n\\n/**\\n * Display regular index/home page\\n *\\n * @package InfinumLibs\\n */\\n\\nuse InfinumLibsVendor\\\\EightshiftLibs\\\\Helpers\\\\Components;\\n\\nget_header();\\n\\nif (have_posts()) {\\n\\twhile (have_posts()) {\\n\\t\\tthe_post();\\n\\t\\tthe_title();\\n\\t\\tthe_content();\\n\\t}\\n}\\n\\nget_footer();\\n```\\n![No Wrapper](/img/blog/no-wrapper.png)\\n\\nAnd there it is, a bog-standard blog page that you can style only \\"the old way\\"... But not in our case!\\n\\n## Using the Wrapper component\\n\\nFirst, let\'s import our `Components` helper class. Make sure to use the namespace from your `composer.json`.\\n```php\\nuse InfinumLibsVendor\\\\EightshiftLibs\\\\Helpers\\\\Components;\\n```\\n\\nIf we look deeper into the `render` method, we\'ll see that for the `$component` parameter, we can pass the _component\'s name or the full path (ending with .php)_. We made it simple, so use `wrapper`.\\n\\n:::note\\nIf you are upgrading from an older version (supported since [Libs v6.5.7] (https://github.com/infinum/eightshift-libs/releases/tag/6.5.7) and [Frontend Libs v8.6.2](https://github.com/infinum/eightshift-frontend-libs/releases/tag/8.6.2)) copy code from [wrapper.php](https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/wrapper/wrapper.php) into your project.\\n:::\\n\\nWe have two required properties to add to the Wrappers `manifest.json`: `wrapperOnlyOutput` and `wrapperManualContent`.\\n\\n```json\\n\\"wrapperOnlyOutput\\": {\\n\\t\\"type\\": \\"boolean\\",\\n\\t\\"default\\": false\\n},\\n\\"wrapperManualContent\\": {\\n\\t\\"type\\": \\"string\\",\\n\\t\\"default\\": \\"\\"\\n}\\n```\\n\\n```php\\necho Components::render(\\n\\t\'wrapper\',\\n\\t[\\n\\t\\t\'wrapperOnlyOutput\' => true,\\n\\t\\t\'wrapperManualContent\' => \'\',\\n\\t],\\n\\t\'\',\\n\\ttrue\\n);\\n```\\n:::note\\nSetting the `$useComponentDefaults` to `true` will save you the trouble of setting a lot of additional properties by using default values defined in your manifest.\\n:::\\n\\n### Wrapper output\\n\\nNow that we have a working Wrapper component in our template, it\'s time to display posts in the loop.\\n\\nLet\'s use the [Card](https://infinum.github.io/eightshift-frontend-libs/storybook/?path=/story/components-card--editor) from the Frontend Libs as it\'s the perfect component to display post details and pass it to the `wrapperManualContent`.\\n\\nTo make the Card component look even better, we\'ll use some of the powerful properties the Wrapper component has to offer and add spacing between each item.\\n\\n```php\\n\'wrapperSpacingTopLarge\' => 50,\\n\'wrapperSpacingBottomLarge\' => 50,\\n```\\n\\n:::note\\nFor the list of all available properties, look at the Wrapper\'s `manifest.json`.\\n:::\\n\\n### Final result\\n\\n```php\\n<?php\\n\\n/**\\n * Display regular index/home page\\n *\\n * @package InfinumLibs\\n */\\n\\nuse InfinumLibsVendor\\\\EightshiftLibs\\\\Helpers\\\\Components;\\n\\nget_header();\\n\\nif (have_posts()) {\\n\\twhile (have_posts()) {\\n\\t\\tthe_post();\\n\\n\\t\\techo Components::render(\\n\\t\\t\\t\'wrapper.php\',\\n\\t\\t\\t[\\n\\t\\t\\t\\t\'wrapperOnlyOutput\' => true,\\n\\t\\t\\t\\t\'wrapperManualContent\' => Components::render(\'card\', [\\n\\t\\t\\t\\t\\t\'introContent\' => sprintf(__(\'On %1$s by %2$s\', \'eightshift\'), get_the_date(), get_the_author_meta(\'display_name\')),\\n\\t\\t\\t\\t\\t\'headingContent\' => get_the_title(),\\n\\t\\t\\t\\t\\t\'paragraphContent\' => apply_filters(\'the_content\', get_the_excerpt()),\\n\\t\\t\\t\\t\\t\'buttonContent\' => __(\'View more\', \'eightshift\'),\\n\\t\\t\\t\\t\\t\'buttonUrl\' => get_permalink(),\\n\\t\\t\\t\\t]),\\n\\t\\t\\t\\t\'wrapperSpacingTopLarge\' => 50,\\n\\t\\t\\t\\t\'wrapperSpacingBottomLarge\' => 50,\\n\\t\\t\\t],\\n\\t\\t\\t\'\',\\n\\t\\t\\ttrue\\n\\t\\t);\\n\\t}\\n}\\n\\nget_footer();\\n```\\n![Wrapper with content](/img/blog/wrapper-content.png)\\n\\n## Conclusion\\n\\nAlthough the Wrapper is (usually) not intended to be used as a standalone component, there is a nice benefit to having a time-saving, out-of-the-box solution for displaying content in a grid already defined in your project."},{"id":"working-with-custom-queries","metadata":{"permalink":"/blog/working-with-custom-queries","source":"@site/blog/2023-08-03-adding-custom-query.md","title":"Working with custom queries","description":"Explains the process of registering a new service class, adding a custom query and using it in a block.","date":"2023-08-01T00:00:00.000Z","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"service","permalink":"/blog/tags/service"},{"label":"class","permalink":"/blog/tags/class"},{"label":"query","permalink":"/blog/tags/query"}],"readingTime":3.995,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"Working with custom queries","description":"Explains the process of registering a new service class, adding a custom query and using it in a block.","slug":"working-with-custom-queries","authors":"obradovic","date":"2023-08-01T00:00:00.000Z","tags":["eightshift","boilerplate","service","class","query"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"How to use the Wrapper as a standalone component","permalink":"/blog/wrapper-as-a-standalone-component"},"nextItem":{"title":"Using multiple same components","permalink":"/blog/multiple-same-components"}},"content":"Eightshift DevKit offers some blocks with query logic out of the box, but what is the best approach when you need to add a custom query to a block you\u2019ve been working on?\\n\x3c!--truncate--\x3e\\n\\n## Usage in built-in blocks\\n\\nOne of the Eightshift blocks that already uses `WP_Query` is the ***Featured Content*** block. In that block, you can see the query logic is inside the block. However, there is a much better way to do it. The reason it was done like this was to simplify this block and to have an already functioning block available with one WP-CLI command.\\n\\nA much better approach would be to separate the query logic from the block. Other than following the MVC architecture more closely, this will also make the query logic more reusable. To do this, we\u2019re gonna create a service class.\\n\\n## What are Service classes?\\n\\n*Put simply, a Service is any PHP object that performs some sort of \\"global\\" task. - Symfony docs*\\n\\nIf you take a look at the `ServiceInterface` interface, you\u2019ll notice it only contains the `register()` method. This method holds action and filter hooks for that class. Other than hooking into existing actions and filters, this method can be used to register our own filters which can be used in blocks or other classes.\\n\\nBasically, whenever you need to hook into actions or filters, you should use a Service class for that.\\n\\n## Creating a new service class\\n\\nCreating a new service class in your project is as simple as using the following WP-CLI command:\\n\\n```bash\\nwp boilerplate create service-example --folder=CustomQuery --file_name=CustomQuery\\n```\\n\\nOnce this new class is generated, you can add a new public method that will contain the query logic. We want our method to accept three optional arguments:\\n\\n- ID of the category\\n- number of posts per page\\n- number of the current page\\n\\nHaving the category ID optional will allow for one more use case, and that is fetching the latest posts regardless of category. By default, WordPress sorts the posts by publish date, from newest to oldest.\\n\\n```php\\n/**\\n * Get posts by category ID.\\n *\\n * @param int $categoryId Category ID.\\n * @param int $postsPerPage Number of posts per page.\\n * @param int $currentPage Current page number.\\n *\\n * @return WP_Query Query object.\\n */\\npublic function getPostsByCategory($categoryId = null, $postsPerPage = 3, $currentPage = 1): WP_Query\\n{\\n\\t$postArgs = [\\n\\t\\t\'post_type\' => \'post\',\\n\\t\\t\'cat\' => $categoryId,\\n\\t\\t\'posts_per_page\' => $postsPerPage,\\n\\t\\t\'paged\' => $currentPage,\\n\\t];\\n\\n\\treturn new WP_Query($postArgs);\\n}\\n```\\n\\nTo use this method, we can add it as a filter. The filter name should be added as a constant for easier maintenance. Inside the `register()` method, add the following:\\n\\n```php\\n\\\\add_filter(self::GET_POSTS_BY_CATEGORY, [$this, \'getPostsByCategory\'], 10, 3);\\n```\\n\\n## Using the new filter\\n\\n:::note\\nEven if you register a filter for a method that doesn\u2019t accept any arguments, when calling `apply_filters`, you must pass at least 1 parameter. In those cases, simply add `null` as a parameter.\\n:::\\n\\nHere are some examples how you can use the filter:\\n\\n```php\\n// Get 3 latest posts, regardless of category.\\n$allLatestPosts = apply_filters(CustomQuery::GET_POSTS_BY_CATEGORY, null);\\n\\n// Get 10 latest posts from the News category. News category ID is 2.\\n$latestNews = apply_filters(CustomQuery::GET_POSTS_BY_CATEGORY, 2, 10);\\n\\n// Get another page of News category.\\n$pagedNews = apply_filters(CustomQuery::GET_POSTS_BY_CATEGORY, 2, 10, $currentPage);\\n```\\n\\nThe above example shows multiple use cases. The first two examples could be used in a simple block that displays only the selected number of the latest posts. The last example may be used in a REST route for a load more functionality or in a block with classic pagination.\\n\\nNow you can do a regular query loop in your block to display the posts:\\n\\n```php\\nif ($latestNews->have_posts()) {\\n\\twhile ($latestNews->have_posts()) {\\n\\t\\t$latestNews->the_post();\\n\\t\\t// render the card here with the Components::render helper.\\n\\t}\\n}\\nwp_reset_postdata();\\n```\\n\\n:::caution Important\\nDon\'t forget to add `wp_reset_postdata()` after looping through the custom query!\\n:::\\n\\n## Prepare only the data you need\\n\\nIf you would like to improve this even further, you can run the `have_posts()` loop inside the class and save only the data you need to render to an array. This makes the logic even more separated from the view and all you have to do in a block is loop through the array and populate the component attributes with the values from the array.\\n\\n```php\\n$postData = [];\\n\\nif ($queryData->have_posts()) {\\n\\twhile($queryData->have_posts()) {\\n\\t\\t$queryData->the_post();\\n\\n\\t\\t$postData[] = [\\n\\t\\t\\t\'id\' => get_the_ID(),\\n\\t\\t\\t\'title\' => get_the_title(),\\n\\t\\t\\t\'url\' => get_permalink(),\\n\\t\\t\\t\'image\' => get_the_post_thumbnail_url(),\\n\\t\\t\\t\'date\' => get_the_time(\'d.m.Y.\'),\\n\\t\\t\\t\'excerpt\' => get_the_excerpt(),\\n\\t\\t];\\n\\t}\\n}\\n\\nwp_reset_postdata();\\n\\nreturn $postData;\\n```\\n\\n## Best practices for queries\\n\\nIt\u2019s important to have query optimisation in mind. Some queries may be a lot slower and you have to see if there is any way to follow the [best practices for database queries](https://infinum.com/handbook/wordpress/coding-standards/php-coding-standards/database-queries)."},{"id":"multiple-same-components","metadata":{"permalink":"/blog/multiple-same-components","source":"@site/blog/2023-06-12-multiple-same-components.md","title":"Using multiple same components","description":"Explains how to use multiple same components inside","date":"2023-06-12T00:00:00.000Z","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"components","permalink":"/blog/tags/components"},{"label":"blocks","permalink":"/blog/tags/blocks"}],"readingTime":6.305,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"Using multiple same components","description":"Explains how to use multiple same components inside","slug":"multiple-same-components","authors":"obradovic","date":"2023-06-12T00:00:00.000Z","tags":["eightshift","boilerplate","components","blocks"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"Working with custom queries","permalink":"/blog/working-with-custom-queries"},"nextItem":{"title":"Block Patterns","permalink":"/blog/block-patterns"}},"content":"From time to time, you may need to create a block or a more complex component that uses more than one instance of the same component. In this blog post, we\'ll explain how this works in a bit more detail.\\n\x3c!--truncate--\x3e\\n\\nAn example of this use case is the Card component, which uses two heading components. You may get the general idea by just going through the code and trying to reverse-engineer it, but this example will give you a much better understanding of how it works and how to use it. First, let\'s cover some basics.\\n\\n## Manifest and attributes\\nThe way multiple same components work is by having a different key. Here is an example of the Card component:\\n\\n```json\\n\\"components\\": {\\n\\t\\"image\\": \\"image\\",\\n\\t\\"intro\\": \\"heading\\",\\n\\t\\"heading\\": \\"heading\\",\\n\\t\\"paragraph\\": \\"paragraph\\",\\n\\t\\"button\\": \\"button\\"\\n},\\n```\\nAs you can see, one heading component has the `intro` key, while the other one has the `heading` key. That way the **intro** heading component is being referred to as `intro` so there is no mixup with the attribute values between the two heading blocks. This can be seen when setting the default attributes:\\n\\n```json\\n\\"cardIntroSize\\": {\\n\\t\\"type\\": \\"string\\",\\n\\t\\"default\\": \\"tiny\\"\\n},\\n\\"cardHeadingSize\\": {\\n\\t\\"type\\": \\"string\\",\\n\\t\\"default\\": \\"big\\"\\n}\\n```\\n\\n## The \\"props\\" Helper\\nThis method does all the heavy lifting for us. It replaces the default attribute names with the ones we provide. There is both the PHP and JS version of it.\\n\\n```php\\nComponents::render(\'heading\', Components::props(\'intro\', $attributes, [\\n\\t\'selectorClass\' => \'intro\',\\n\\t\'blockClass\' => $componentClass\\n]))\\n```\\n\\n```js\\n\\n<HeadingEditor\\n\\t{...props(\'intro\', attributes, {\\n\\t\\tselectorClass: \'intro\',\\n\\t\\tblockClass: componentClass,\\n\\t})}\\n/>\\n\\n```\\n\\nIf you `var_dump` the props helper, you\u2019ll notice the `prefix` key, which is built from the names of the blocks and components used hierarchically. For example, when looking at a regular Heading component in the Card block, the prefix will be:\\n\\n`cardCardHeading` - first is the Card block name, then the Card component name and finally Heading component name.\\n\\nThe Heading component that is called Intro then has the prefix `cardCardIntro`. This prefix is then added to the attribute name, which then finally results in `cardCardHeadingSize` and `cardCardIntroSize` attributes, for example.\\n\\nWhile at first glance it seems strange to have this naming scheme, it actually allows us to figure out the hierarchy just by looking at the attribute name.\\n\\n## A step-by-step example\\n\\nThe block we\'ll be creating as an example will be a block which we can use for some sort of comparison or listing pros and cons. To create it, we will need the following:\\n- two `Heading` components\\n- two `List` components\\n\\nThe easiest way to create a new block is by using the boilerplate command\\n\\n`wp boilerplate blocks use-block --name=example`\\n\\nOnce the new block is added to your project, rename it. Also, don\u2019t forget to update all file names and imports in JS.\\n\\nWe should start with `manifest.json`, where we define the components we\'ll use and set the default attributes. For now, just define the components and their keys:\\n\\n```json\\n\\"components\\": {\\n\\t\\"heading\\": \\"heading\\",\\n\\t\\"lists\\": \\"lists\\",\\n\\t\\"secondaryHeading\\": \\"heading\\",\\n\\t\\"secondaryLists\\": \\"lists\\"\\n}\\n```\\n\\nThe first section has the default key names, while the \\"duplicates\\" have different key names.\\n\\nAfter manifest, we can move to the JS part. As this is a fairly simple block without any advanced options or layouts, we need to add two `HeadingEditor` components and two `ListsEditor` components. To make styling easier, we can separate them in two `div` elements. When you\u2019re finished, your code should look like this:\\n\\n```jsx\\nimport React from \'react\';\\nimport { __ } from \'@wordpress/i18n\';\\nimport { HeadingEditor } from \'../../../components/heading/components/heading-editor\';\\nimport { ListsEditor } from \'../../../components/lists/components/lists-editor\';\\n\\nimport { props, selector } from \'@eightshift/frontend-libs/scripts\';\\n\\nexport const ComparisonEditor = ({ attributes, setAttributes }) => {\\n\\tconst {\\n\\t\\tblockClass,\\n\\t} = attributes;\\n\\n\\tconst comparisonPrimaryClass = selector(blockClass, blockClass, \'primary\');\\n\\n\\tconst comparisonSecondaryClass = selector(blockClass, blockClass, \'secondary\');\\n\\n\\treturn (\\n\\t\\t<div className={blockClass}>\\n\\t\\t\\t<div className={comparisonPrimaryClass}>\\n\\t\\t\\t\\t<HeadingEditor\\n\\t\\t\\t\\t\\t{...props(\'heading\', attributes, {\\n\\t\\t\\t\\t\\t\\tblockClass: blockClass,\\n\\t\\t\\t\\t\\t\\tsetAttributes: setAttributes,\\n\\t\\t\\t\\t\\t})}\\n\\t\\t\\t\\t/>\\n\\n\\t\\t\\t\\t<ListsEditor\\n\\t\\t\\t\\t\\t{...props(\'lists\', attributes, {\\n\\t\\t\\t\\t\\t\\tblockClass: blockClass,\\n\\t\\t\\t\\t\\t\\tsetAttributes: setAttributes,\\n\\t\\t\\t\\t\\t})}\\n\\t\\t\\t\\t/>\\n\\t\\t\\t</div>\\n\\t\\t\\t<div className={comparisonSecondaryClass}>\\n\\t\\t\\t\\t<HeadingEditor\\n\\t\\t\\t\\t\\t{...props(\'secondaryHeading\', attributes, {\\n\\t\\t\\t\\t\\t\\tselectorClass: \'secondary-heading\',\\n\\t\\t\\t\\t\\t\\tblockClass: blockClass,\\n\\t\\t\\t\\t\\t\\tsetAttributes: setAttributes,\\n\\t\\t\\t\\t\\t})}\\n\\t\\t\\t\\t/>\\n\\n\\t\\t\\t\\t<ListsEditor\\n\\t\\t\\t\\t\\t{...props(\'secondaryLists\', attributes, {\\n\\t\\t\\t\\t\\t\\tselectorClass: \'secondary-lists\',\\n\\t\\t\\t\\t\\t\\tblockClass: blockClass,\\n\\t\\t\\t\\t\\t\\tsetAttributes: setAttributes,\\n\\t\\t\\t\\t\\t})}\\n\\t\\t\\t\\t/>\\n\\t\\t\\t</div>\\n\\t\\t</div>\\n\\t);\\n};\\n```\\n\\nNote how we defined the different names with the `props` helper. Additionally, we set the selector class for easier targeting of components when styling.\\n\\nNext, we can add the options. Again, the `props` helper does all the heavy lifting for us. This is how the code should look after adding all component options:\\n\\n```jsx\\nimport React from \'react\';\\nimport { __ } from \'@wordpress/i18n\';\\nimport { props, getOptions } from \'@eightshift/frontend-libs/scripts\';\\nimport { HeadingOptions } from \'../../../components/heading/components/heading-options\';\\nimport { ListsOptions } from \'../../../components/lists/components/lists-options\';\\nimport { PanelBody } from \'@wordpress/components\';\\nimport manifest from \'../manifest.json\';\\n\\nexport const ComparisonOptions = ({ attributes, setAttributes }) => {\\n\\treturn (\\n\\t\\t<PanelBody title={__(\'Comparison\', \'eightshift\')}>\\n\\t\\t\\t<HeadingOptions\\n\\t\\t\\t\\t{...props(\'heading\', attributes, {\\n\\t\\t\\t\\t\\tsetAttributes,\\n\\t\\t\\t\\t\\toptions: getOptions(attributes, manifest)\\n\\t\\t\\t\\t})}\\n\\t\\t\\t\\treducedBottomSpacing\\n\\t\\t\\t/>\\n\\n\\t\\t\\t<ListsOptions\\n\\t\\t\\t\\t{...props(\'lists\', attributes, {\\n\\t\\t\\t\\t\\tsetAttributes,\\n\\t\\t\\t\\t\\toptions: getOptions(attributes, manifest)\\n\\t\\t\\t\\t})}\\n\\t\\t\\t\\treducedBottomSpacing\\n\\t\\t\\t/>\\n\\n\\t\\t\\t<HeadingOptions\\n\\t\\t\\t\\t{...props(\'secondaryHeading\', attributes, {\\n\\t\\t\\t\\t\\tsetAttributes,\\n\\t\\t\\t\\t\\toptions: getOptions(attributes, manifest)\\n\\t\\t\\t\\t})}\\n\\t\\t\\t\\tlabel={__(\'Secondary Heading\', \'eightshift\')}\\n\\t\\t\\t\\treducedBottomSpacing\\n\\t\\t\\t/>\\n\\n\\t\\t\\t<ListsOptions\\n\\t\\t\\t\\t{...props(\'secondaryLists\', attributes, {\\n\\t\\t\\t\\t\\tsetAttributes,\\n\\t\\t\\t\\t\\toptions: getOptions(attributes, manifest)\\n\\t\\t\\t\\t})}\\n\\t\\t\\t\\tlabel={__(\'Secondary Lists\', \'eightshift\')}\\n\\t\\t\\t\\treducedBottomSpacing\\n\\t\\t\\t/>\\n\\t\\t</PanelBody>\\n\\t);\\n};\\n```\\n\\nAdding the PHP part should be simple, but here is the code for reference:\\n\\n```php\\n<?php\\n\\n/**\\n * Template for the Comparison Block view.\\n *\\n * @package Eightshift\\n */\\n\\nuse EightshiftVendor\\\\EightshiftLibs\\\\Helpers\\\\Components;\\n\\n$globalManifest = Components::getManifest(dirname(__DIR__, 2));\\n$manifest = Components::getManifest(__DIR__);\\n\\n$blockClass = $attributes[\'blockClass\'] ?? \'\';\\n\\n$comparisonPrimaryClass = Components::selector($blockClass, $blockClass, \'primary\');\\n\\n$comparisonSecondaryClass = Components::selector($blockClass, $blockClass, \'secondary\');\\n\\n$unique = Components::getUnique();\\n\\n?>\\n\\n<div class=\\"<?php echo esc_attr($blockClass); ?>\\">\\n\\t<?php echo Components::outputCssVariables($attributes, $manifest, $unique, $globalManifest); ?>\\n\\t<div class=\\"<?php echo esc_attr($comparisonPrimaryClass); ?>\\">\\n\\t\\t<?php\\n\\t\\t\\techo Components::render(\'heading\', Components::props(\'heading\', $attributes)),\\n\\t\\t\\tComponents::render(\'lists\', Components::props(\'lists\', $attributes));\\n\\t\\t?>\\n\\t</div>\\n\\t<div class=\\"<?php echo esc_attr($comparisonSecondaryClass); ?>\\">\\n\\t\\t<?php\\n\\t\\t\\techo Components::render(\'heading\', Components::props(\'secondaryHeading\', $attributes)),\\n\\t\\t\\tComponents::render(\'lists\', Components::props(\'secondaryLists\', $attributes));\\n\\t\\t?>\\n\\t</div>\\n</div>\\n```\\n\\nThe block should work properly now, but the two lists look the same. To make a difference between the two, we can change the default list colors in the manifest. If we don\u2019t have the colors we want already available in the project, first we need to add them to the global manifest.\\n\\nFor a detailed explanation on how to add new colors to your project, you can read a previous blog post about [modifying blocks](/blog/modifying-blocks-color-theme#adding-new-colors-to-your-project).\\n\\nNow we have to add these new colors to the Lists component `manifest.json`. In `options` key, find the `listsColor` and add your new colors.\\n\\nWhen the new colors are added to the Lists component, we can set these new colors as defaults by adding the following attributes in `manifest.json` of our Comparison block:\\n\\n```json\\n\\"comparisonListsColor\\": {\\n\\t\\"type\\": \\"string\\",\\n\\t\\"default\\": \\"green-haze\\"\\n},\\n\\"comparisonSecondaryListsColor\\": {\\n\\t\\"type\\": \\"string\\",\\n\\t\\"default\\": \\"milano-red\\"\\n}\\n```\\n\\nThe first list will now have green bullet points, and the second one will have red bullet points.\\n\\n![Comparison block](/img/blog/comparison-block.webp)\\n\\nNotice again how the attribute name is structured - current block name (**comparison**), component name (**Lists** or **SecondaryLists**), attribute (**Color**).\\n\\nIf you\u2019re ever in doubt of what is the exact attribute name, you can always `var_dump` the `props` helper for that component and you will see the full attribute names as the keys.\\n\\n```\\nArray\\n(\\n [prefix] => comparisonSecondaryLists\\n // ...\\n [comparisonSecondaryListsOrdered] => ul\\n [comparisonSecondaryListsSize] => body:regular\\n [comparisonSecondaryListsColor] => milano-red\\n [comparisonSecondaryListsColorOnlyMarker] =>\\n [comparisonSecondaryListsUse] => 1\\n // ...\\n)\\n```\\n\\n### Conclusion\\n\\nAlthough this was a simple example, we covered the most important things to have in mind when using multiple same components in a block. For additional practice, you can add some more attributes or go through some of our pre-made blocks which use multiple same components. Some components/blocks you can look into are `Card` and `Quote`."},{"id":"block-patterns","metadata":{"permalink":"/blog/block-patterns","source":"@site/blog/2022-12-22-block-patterns.md","title":"Block Patterns","description":"Intro to block patterns and examples how to use them","date":"2023-03-01T00:00:00.000Z","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"block","permalink":"/blog/tags/block"},{"label":"patterns","permalink":"/blog/tags/patterns"}],"readingTime":3.95,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"Block Patterns","description":"Intro to block patterns and examples how to use them","slug":"block-patterns","authors":"obradovic","date":"2023-03-01T00:00:00.000Z","tags":["eightshift","boilerplate","block","patterns"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"Using multiple same components","permalink":"/blog/multiple-same-components"},"nextItem":{"title":"Using Custom Post Types and Taxonomies","permalink":"/blog/using-cpts-and-taxonomies"}},"content":"Although Block Patterns may be similar to Block Variations, there are some differences between the two. This blog post will cover what Block Patterns are and how to use them.\\n\x3c!--truncate--\x3e\\n\\n## What are Block Patterns and why use them?\\nBlock Patterns are predefined block layouts which allow you to add content faster and make it look more consistent. The basic idea is to have a ready-made template which consists of multiple blocks, that have options predefined, and all you have to do is add content to these blocks.\\n\\nThey can be used in multiple ways. You can create sections composed of few blocks which you can then easily insert anywhere on the site. You can also create complex page layouts which could be used for writing blog posts, for example.\\n\\n## Technical differences\\nAs explained in the [Eightshift Development kit documentation](https://eightshift.com/docs/basics/blocks-patterns), the main difference between variations and patterns are:\\n- variations provide data using `manifest.json`, while patterns are registered using PHP\\n- variations appear in the editor in the same tab as blocks, while patterns appear in their own tab\\n\\n\\n## Registering Block Patterns\\nTo make registering new block patterns easier, there is a WP-CLI command which will help you create a new block pattern. For this example, the block pattern we\'re making is called **Intro**. To get started, run this WP-CLI command:\\n```shell\\nwp boilerplate blocks create-block-pattern --title=intro\\n```\\n\\nAfter generating the block pattern class, there are a few more adjustments you should make to it. For starters, you should update these methods:\\n- `getName()` - change the return value to `eightshift-boilerplate/intro-pattern`\\n- `getDescription()` - add any description you like\\n\\nOnce these values are updated, you can make the layout you\'ll use as a Block Pattern. The easiest way to do it is to build your layout in the editor, switch to `Code Editor`, copy the code and paste in inside your `getContent()` method. Your pattern should now be available to use. For this example, we can create a simple pattern which consists of a Heading block and a Paragraph block.\\n\\n![Option to switch to Code Editor](/img/blog/code-editor.webp)\\n\\n```php\\nprotected function getContent(): string\\n{\\n\\treturn \'\x3c!-- wp:eightshift-boilerplate/heading {\\"headingHeadingContent\\":\\"Post title goes here\\",\\"headingHeadingSize\\":\\"big\\"} /--\x3e\\n\\t\x3c!-- wp:eightshift-boilerplate/paragraph {\\"paragraphParagraphContent\\":\\"\\\\u003cem\\\\u003ePost intro goes here\\\\u003c/em\\\\u003e\\"} /--\x3e\';\\n}\\n```\\n\\n### Managing Pattern Categories\\n\\nTo make managing block patterns easier, we can group them into categories. To start, we need a service class. This class will be used to register our custom categories and remove core categories. The fastest way to add it to our project is by using the following WP-CLI command:\\n```shell\\nwp boilerplate create service-example --folder=BlockPatterns --file_name=ManagePatternCategories\\n```\\n\\nNow that we have our service class, we\'ll add methods for removing core patterns and pattern categories. First, the method for removing core categories.\\n```php\\n/**\\n * Unregisters core block pattern categories.\\n *\\n * @return void\\n */\\npublic function removeCoreCategories()\\n{\\n\\t\\\\unregister_block_pattern_category(\'buttons\');\\n\\t\\\\unregister_block_pattern_category(\'columns\');\\n\\t\\\\unregister_block_pattern_category(\'gallery\');\\n\\t\\\\unregister_block_pattern_category(\'header\');\\n\\t\\\\unregister_block_pattern_category(\'text\');\\n}\\n```\\nThe second method will remove all core patterns\\n\\n```php\\n/**\\n * Removes support for core block patterns.\\n *\\n * @return void\\n */\\npublic function removeBlockPatternsCore()\\n{\\n\\t\\\\remove_theme_support(\'core-block-patterns\');\\n}\\n```\\n\\nFor these methods to work, we need to add them to the `register()` method of our service class. Add the following actions:\\n```php\\n\\\\add_action(\'init\', [$this, \'removeCoreCategories\'], 40);\\n\\\\add_action(\'after_setup_theme\', [$this, \'removeBlockPatternsCore\'], 20);\\n```\\n\\nIf you try searching for patterns in your editor, you\'ll notice they are no longer available. Now we can move on to adding our block pattern categories. The best approach is to define the pattern category names as constants inside your class. In this example, we will add two categories: **Templates** and **Sections**. We can add the following code inside our class:\\n```php\\nclass ManagePatternCategories implements ServiceInterface\\n{\\n\\tpublic const TEMPLATES_CATEGORY = \'templates-category\';\\n\\tpublic const SECTIONS_CATEGORY = \'sections-category\';\\n\\n\\t// Removed parts of code for better readability.\\n\\n\\t/**\\n\\t * Registers new pattern categories.\\n\\t *\\n\\t * @return void\\n\\t */\\n\\tpublic function addCategories()\\n\\t{\\n\\t\\t\\\\register_block_pattern_category(self::TEMPLATES_CATEGORY, [\\n\\t\\t\\t\'label\' => \\\\esc_html__(\'Templates\', \'es-blog\'),\\n\\t\\t]);\\n\\n\\t\\t\\\\register_block_pattern_category(self::SECTIONS_CATEGORY, [\\n\\t\\t\\t\'label\' => \\\\esc_html__(\'Sections\', \'es-blog\'),\\n\\t\\t]);\\n\\t}\\n}\\n```\\n\\nFinally, return to your Intro Pattern class and update the `getCategories()` method:\\n```php\\nprotected function getCategories(): array\\n{\\n\\treturn [\\n\\t\\tManagePatternCategories::SECTIONS_CATEGORY\\n\\t];\\n}\\n```\\n\\nIn editor, in the Pattern tab, you should now see your new pattern category and the Intro Pattern.\\n\\n![New pattern category and block pattern](/img/blog/block-pattern-example.webp)\\n\\n## Things to keep in mind\\nBlock patterns add layout and content which you can then modify at will per instance. These instances are not synchronised with the codebase so it becomes an issue if you\'ve already used a pattern on multiple places on the site and then notice you\'ve missed something in the pattern configuration phase. Fixing the pattern in the codebase will apply the changes on all newly added instances, but you will have to fix the misconfigured instances manually."},{"id":"using-cpts-and-taxonomies","metadata":{"permalink":"/blog/using-cpts-and-taxonomies","source":"@site/blog/2022-12-13-using-cpts-and-taxonomies.md","title":"Using Custom Post Types and Taxonomies","description":"How to register and use custom post types and taxonomies with Eightshift Dev Kit","date":"2022-12-13T00:00:00.000Z","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"cpt","permalink":"/blog/tags/cpt"},{"label":"custom post type","permalink":"/blog/tags/custom-post-type"},{"label":"taxonomy","permalink":"/blog/tags/taxonomy"},{"label":"taxonomies","permalink":"/blog/tags/taxonomies"},{"label":"terms","permalink":"/blog/tags/terms"}],"readingTime":4.115,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"Using Custom Post Types and Taxonomies","description":"How to register and use custom post types and taxonomies with Eightshift Dev Kit","slug":"using-cpts-and-taxonomies","authors":"obradovic","date":"2022-12-13T00:00:00.000Z","tags":["eightshift","boilerplate","cpt","custom post type","taxonomy","taxonomies","terms"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"Block Patterns","permalink":"/blog/block-patterns"},"nextItem":{"title":"Block Variations","permalink":"/blog/block-variations"}},"content":"WordPress offers two default ways to group content by content type - using posts or pages. Posts and pages are registered as default post types in the WordPress app. But sometimes, that is not enough. That\'s where custom post types (CPT) and custom taxonomies come in. This blog post will cover the basics of registering CPTs and taxonomies using Eightshift Dev Kit.\\n\\n\x3c!--truncate--\x3e\\n## Why should you use CPTs?\\nThe great thing about WordPress is how extensible it is. With projects becoming more complex, the need for additional post types and taxonomies increases. Sure, you can cram everything into default posts or pages, but this can become very chaotic. Using custom post types allows you to manage your content much better. You can separate events and projects from news articles for instance.\\n\\nPost `category` and `tag` are taxonomies - a grouping you can further separate by terms belonging to that taxonomy. WordPress, since version 2.3.0 offers a way to register your own, custom taxonomies.\\n\\n## Registering Custom Post Types\\nFor this exercise, we\'ll create a new post type called `Projects`. To make the process of registering new CPTs as easy as possible, we\'ll use a WP-CLI command to create our CPT with the following command:\\n\\n```bash\\nwp boilerplate create post-type --label=\'Project\' --plural_label=\'Projects\' --slug=\'project\' --rewrite_url=\'project\' --rest_endpoint_slug=\'projects\'\\n```\\n\\n:::tip\\nIf your new CPT is not working, try flushing rewrite rules by re-saving the settings in **Settings -> Permalinks** or by using `wp cache flush` CLI command\\n:::\\n\\nYour new post type is registered and ready to use! Easy, right?\\n\\nSometimes all these parameters can be a bit confusing, so here\'s a quick reference of best practices when setting these parameters:\\n\\n| Parameter | Singular/Plural | Writing style | Example |\\n|--------------------|-----------------|---------------|----------|\\n| label | Singular | Regular | Project |\\n| plural_label | Plural | Regular | Projects |\\n| slug | Singular | kebab-case | project |\\n| rewrite_url | Singular | kebab-case | project |\\n| rest_endpoint_slug | Plural | kebab-case | projects |\\n\\nThere is a reason for this naming convention. For example:\\n- `slug` is attached to a single custom post type in the database, which is why it is written in singular\\n- `rest_endpoint_slug` is used to fetch a collection of posts from that custom post type, which is why it should be written in plural\\n\\n## Registering Taxonomies\\nNow that we have the new custom post type, we need a way to group the projects. We\'ll create a custom taxonomy called `Project Technology`. As with the CPT registration, the easiest way to register taxonomies is by using the following WP-CLI command:\\n\\n```bash\\nwp boilerplate create taxonomy --label=\'Project Technology\' --plural_label=\'Project Technologies\' --slug=\'project-technology\' --rest_endpoint_slug=\'project-technologies\' --post_type_slug=\'project\'\\n```\\n\\nSimilar suggestions apply to the parameters when naming taxonomies as well. Be sure to write the correct post type slug for which you are registering this new taxonomy!\\n\\n## Structure\\nWhen checking your codebase after adding these new custom post types and taxonomies, you\'ll notice the post types are located inside the `src/CustomPostType` folder, and the taxonomies are located inside the `src/CustomTaxonomy` folder. Following the **Single Responsibility Principle**, each post type or taxonomy is in a separate class.\\n\\n## Modifying options\\nOur custom post type and taxonomy are ready to use, but we still want to make some changes. For starters, we want another icon and for the Projects to be located below the Posts in the WordPress admin menu. In `src/CustomPostType/ProjectPostType.php`, find the `MENU_POSITION` constant and change it to `5`. The lower the number, the higher it will be in the menu.\\n\\nNext, we want to update the icon representing the new post type in the menu. These icons are named dashicons. Change the `MENU_ICON` constant to `dashicons-clipboard`. If you want another icon for your CPT, here is the list of [available dashicons](https://developer.wordpress.org/resource/dashicons/). Finally, we want to remove the author and comments. In `getPostTypeArguments()` method, find the key `supports` in the return value and remove `author` and `comments` from the array.\\n\\n## Clashing slugs\\nSomething that can happen when working on your project is that you have the same slugs for your custom post type and your page, for example. Let\'s say you have a page with a slug `project`, and a custom post type with a slug `project`. When trying to access the page, you\'ll keep getting the Project CPT archive. To fix it, you have to change one of the slugs or write a custom redirection rule (which we don\'t recommend, as the redirections are tricky to handle in WordPress).\\n\\n## Further reading\\nFor the best overview of all the options you have when registering your custom post type or taxonomy, we recommend checking the official WordPress docs for the [register_post_type()](https://developer.wordpress.org/reference/functions/register_post_type/) and [register_taxonomy()](https://developer.wordpress.org/reference/functions/register_taxonomy/) functions.\\n\\nIf you would like to know more about taxonomies and terms, along with how they are stored in the database, you can read more about it in the [Categories, Tags, & Custom Taxonomies](https://developer.wordpress.org/themes/basics/categories-tags-custom-taxonomies/) page of the WordPress docs."},{"id":"block-variations","metadata":{"permalink":"/blog/block-variations","source":"@site/blog/2022-09-07-block-variations.md","title":"Block Variations","description":"Intro to block variations and examples of how to use them","date":"2022-09-07T00:00:00.000Z","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"block","permalink":"/blog/tags/block"},{"label":"variations","permalink":"/blog/tags/variations"}],"readingTime":3.035,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"Block Variations","description":"Intro to block variations and examples of how to use them","slug":"block-variations","authors":"obradovic","date":"2022-09-07T00:00:00.000Z","tags":["eightshift","boilerplate","block","variations"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"Using Custom Post Types and Taxonomies","permalink":"/blog/using-cpts-and-taxonomies"},"nextItem":{"title":"How to use ACF in your project","permalink":"/blog/acf-in-a-project"}},"content":"Let\'s picture the following scenario: You just created a block with many options and now you want multiple versions of that block available with pre-set options. That\'s where variations come in handy!\\n\x3c!--truncate--\x3e\\n\\n## What are variations?\\n\\nBlock variations allow us to override default block attributes. We can select a variation from the block list with all preset options instead of manually setting them.\\n\\n:::note\\nYou cannot add new attributes in variations. Only attributes that exist in the parent block can be used.\\n:::\\n\\nFor example, we have a `Card` block. If we want to use it for something like downloading PDF files, we may not need image or paragraph components. A simple text that describes type of the file, title of the file and a download button are all we need in this case.\\n\\nOur new card should consist of the following components:\\n- intro\\n- heading\\n- button\\n\\n## How to register a block variation?\\n\\nThe process of registering block variations is fairly simple. In order to register a block variation, go to **src/Blocks/variations**, add a new folder, and let\'s call it `card-resource`. Inside that folder, all you need to do is add a `manifest.json` file. It is also recommended to add a `docs` folder in which you can add a readme file and storybook file.\\n\\nInside your `manifest.json` file, add the attributes to define the new default attributes for this variation. Here is an example:\\n\\n```json\\n{\\n\\t\\"$schema\\": \\"https://raw.githubusercontent.com/infinum/eightshift-frontend-libs/develop/schemas/variation.json\\",\\n\\t\\"parentName\\": \\"card\\",\\n\\t\\"name\\": \\"card-resource\\",\\n\\t\\"title\\": \\"Card Resource\\",\\n\\t\\"description\\" : \\"Card variation without image and paragraph\\",\\n\\t\\"icon\\": {\\n\\t\\t\\"src\\": \\"es-card\\"\\n\\t},\\n\\t\\"attributes\\": {\\n\\t\\t\\"cardCardImageUse\\": false,\\n\\t\\t\\"cardCardParagraphUse\\": false,\\n\\t\\t\\"cardCardHeadingSize\\": \\"regular\\",\\n\\t\\t\\"cardCardButtonColor\\": \\"blue\\"\\n\\t},\\n\\t\\"scope\\": [\\n\\t\\t\\"inserter\\"\\n\\t]\\n}\\n```\\n\\nAfter adding this code, your new block variation should now be visible in the block list. It\'s that easy!\\n\\n![Variation of the Card block](/img/blog/card-resource.webp)\\n\\n## Providing inner block data\\nOther than overriding default attributes with variations, you can do much more with Eightshift Development kit. If you have a block that uses inner blocks, you can even provide inner block data.\\n\\nThe following example is very basic, but it will give you an idea of how to provide inner block data. It can easily be reproduced with our `Carousel` block if you want to try it yourself.\\n\\n:::note\\nIf you don\'t have Carousel block in your project yet, you can add it with the following WP-CLI command: `wp boilerplate blocks use-block --name=\\"carousel\\"`\\n:::\\n\\nOnce you have the `Carousel` block up and running, create a variation called `Carousel Loop`. For this variation, we want the following:\\n- loop\\n- pagination\\n- two images per slide\\n\\nWe will also add some placeholder images so you can immediately test the Carousel block variation. Here is the code you can add to the `manifest.json` file for that variation.\\n```json\\n{\\n\\t\\"$schema\\": \\"https://raw.githubusercontent.com/infinum/eightshift-frontend-libs/develop/schemas/variation.json\\",\\n\\t\\"parentName\\": \\"carousel\\",\\n\\t\\"name\\": \\"carousel-loop\\",\\n\\t\\"title\\": \\"Carousel Loop\\",\\n\\t\\"description\\" : \\"Carousel block variation with loop and pagination enabled, along with multiple image blocks with placeholders. Displays two images per slide.\\",\\n\\t\\"icon\\": {\\n\\t\\t\\"src\\": \\"es-card\\"\\n\\t},\\n\\t\\"attributes\\": {\\n\\t\\t\\"carouselIsLoop\\": true,\\n\\t\\t\\"carouselShowPagination\\": true,\\n\\t\\t\\"carouselShowItems\\": 2\\n\\t},\\n\\t\\"innerBlocks\\": [\\n\\t\\t{\\n\\t\\t\\t\\"name\\": \\"eightshift-boilerplate/image\\",\\n\\t\\t\\t\\"attributes\\": {\\n\\t\\t\\t\\t\\"imageImageFull\\":true,\\n\\t\\t\\t\\t\\"imageImageUrl\\": \\"https://loremflickr.com/400/400\\"\\n\\t\\t\\t}\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\t\\"name\\": \\"eightshift-boilerplate/image\\",\\n\\t\\t\\t\\"attributes\\": {\\n\\t\\t\\t\\t\\"imageImageFull\\":true,\\n\\t\\t\\t\\t\\"imageImageUrl\\": \\"https://loremflickr.com/400/400\\"\\n\\t\\t\\t}\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\t\\"name\\": \\"eightshift-boilerplate/image\\",\\n\\t\\t\\t\\"attributes\\": {\\n\\t\\t\\t\\t\\"imageImageFull\\":true,\\n\\t\\t\\t\\t\\"imageImageUrl\\": \\"https://loremflickr.com/400/400\\"\\n\\t\\t\\t}\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\t\\"name\\": \\"eightshift-boilerplate/image\\",\\n\\t\\t\\t\\"attributes\\": {\\n\\t\\t\\t\\t\\"imageImageFull\\":true,\\n\\t\\t\\t\\t\\"imageImageUrl\\": \\"https://loremflickr.com/400/400\\"\\n\\t\\t\\t}\\n\\t\\t}\\n\\t],\\n\\t\\"scope\\": [\\n\\t\\t\\"inserter\\"\\n\\t]\\n}\\n```\\n\\nAfter adding this code, you should see the `Carousel Loop` variation in your block list. After adding it in the editor, the `Carousel` attributes will be already set to the ones you provided, as well as two images that are added as inner blocks.\\n\\n![Block list with variations](/img/blog/block-list-variations.webp)"},{"id":"acf-in-a-project","metadata":{"permalink":"/blog/acf-in-a-project","source":"@site/blog/2022-05-10-acf-in-a-project.md","title":"How to use ACF in your project","description":"Example of using ACF plugin in your project","date":"2022-05-17T00:00:00.000Z","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"acf","permalink":"/blog/tags/acf"},{"label":"advanced custom fields","permalink":"/blog/tags/advanced-custom-fields"},{"label":"theme options","permalink":"/blog/tags/theme-options"}],"readingTime":5.485,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"How to use ACF in your project","description":"Example of using ACF plugin in your project","slug":"acf-in-a-project","authors":"obradovic","date":"2022-05-17T00:00:00.000Z","tags":["eightshift","boilerplate","acf","advanced custom fields","theme options"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"Block Variations","permalink":"/blog/block-variations"},"nextItem":{"title":"Using assets in a project","permalink":"/blog/using-assets"}},"content":"If you\'ve worked with WordPress for a long time, you\'ve heard of the **_Advanced Custom Fields_** plugin (**_ACF_** for short). While the use of blocks has simplified content editing, thus making meta fields less of a necessity, there are still cases in which meta fields are very useful.\\n\x3c!--truncate--\x3e\\n\\n## Ways of registering ACF fields\\n\\nThere are multiple approaches to ACF field registration. The easiest way to register fields is using the WP admin interface, but this approach has a few drawbacks. If you have many fields, this can impact performance because you are registering fields dynamically (information about registered fields is stored in the database). Another drawback is if you have multiple environments (e.g. local, staging, production), you\'ll have to export the fields and import them to other environments.\\n\\nOther ways of registering ACF fields are either via PHP (code) or by reading from a JSON file. We prefer to use PHP because you can use OPcache to speed up field registration even more. If you are using Git, this approach is even better because you can commit the PHP code used for registering fields for easier portability across different environments. For that reason, Eightshift Development kit already has some goodies which will make field registration a breeze.\\n\\n## Exporting PHP code\\n\\nThe approach we use for registering ACF fields is by adding those fields first through the WP Admin ACF interface. As an example, We\'ll add a field group called **_Intro_**, which will contain one text field of the same name. That field group will be displayed only on posts. You can add a few more fields, but for the sake of simplicity, we\'ll only use one field.\\n\\nWhen you define all the fields you need, save them and go to `Custom Fields -> Tools`. Here you will see an option to **_Export Field Groups_**. Simply select the field groups which you want to export and select **_Generate PHP_**.\\n\\n![ACF PHP code export](/img/blog/acf-generate-php.webp)\\n\\nThis will generate a PHP code snippet that you can use in your theme. Now you may be wondering, where exactly should that code go?\\n\\n## CustomMeta class\\n\\nThose ACF goodies in Eightshift Development kit we talked about earlier? Let us introduce you to one of them. We have a WP CLI command which we can use to generate a CustomMeta class where we can add our field groups. The command is `wp boilerplate create acf-meta`. This command has one required parameter, and that is `name`. To create a class that we will use for registering our custom fields, we\'ll use the following command:\\n\\n```bash\\nwp boilerplate create acf-meta --name=intro\\n```\\n\\nThis command will generate a **_CustomMeta_** folder inside **_src_** folder and add a new file called **_IntroAcfMeta.php_**. Inside that file, you should see the following method:\\n```php\\npublic function fields(): void\\n{\\n\\tif (function_exists(\'acf_add_local_field_group\')) {\\n\\t\\t\\\\acf_add_local_field_group([]);\\n\\t}\\n}\\n```\\n\\nGo back to your PHP code export for ACF fields and select everything inside the `acf_add_local_field_group()` function and paste it into your function. To make it in line with our coding standards, we have to do the following:\\n- replace `array()` with `[]`\\n- make every label translatable and escaped - use `esc_html__()`\\n- instead of hardcoding the field name, replace it with a class constant\\n\\nAfter all these changes, your code should look like this:\\n\\n```php\\nclass IntroAcfMeta extends AbstractAcfMeta\\n{\\n\\n\\t/**\\n\\t * Intro field name.\\n\\t */\\n\\tpublic const INTRO_FIELD_NAME = \'intro\';\\n\\n\\t/**\\n\\t * Render acf fields.\\n\\t *\\n\\t * @return void\\n\\t */\\n\\tpublic function fields(): void\\n\\t{\\n\\t\\tif (function_exists(\'acf_add_local_field_group\')) {\\n\\t\\t\\t\\\\acf_add_local_field_group([\\n\\t\\t\\t\\t\'key\' => \'group_6269300acefda\',\\n\\t\\t\\t\\t\'title\' => \\\\esc_html__(\'Intro\', \'eightshift-theme\'),\\n\\t\\t\\t\\t\'fields\' => [\\n\\t\\t\\t\\t\\t[\\n\\t\\t\\t\\t\\t\\t\'key\' => \'field_6269300f8029b\',\\n\\t\\t\\t\\t\\t\\t\'label\' => \\\\esc_html__(\'Intro\', \'eightshift-theme\'),\\n\\t\\t\\t\\t\\t\\t\'name\' => self::INTRO_FIELD_NAME,\\n\\t\\t\\t\\t\\t\\t\'type\' => \'text\',\\n\\t\\t\\t\\t\\t\\t// ...\\n\\t\\t\\t\\t\\t]\\n\\t\\t\\t\\t]\\n\\t\\t\\t\\t// ...\\n\\t\\t\\t]);\\n\\t\\t}\\n\\t}\\n}\\n```\\n\\nThe final step is to go back to the Custom Fields in WP admin and either delete or deactivate your field group from there, to prevent registering the fields twice. After adding field definitions in PHP and removing them in WP admin, your field should be visible when editing posts.\\n\\n## Using get_field()\\n\\nTo fetch the saved meta value, we use ACF\'s `get_field()` function, but here are a few tips that could improve your code quality. First, you should check if that function exists. That way, if ACF is deactivated on your site for whatever reason, your site won\'t break. The second tip is to use a class constant instead of hardcoding the field name. With these practices in mind, your code should look like this:\\n\\n```php\\nuse YourNamespace\\\\CustomMeta\\\\IntroAcfMeta;\\n\\n// ...\\n\\nif (function_exists(\'get_field\')) {\\n\\t$introText = get_field(IntroAcfMeta::INTRO_FIELD_NAME, $postId);\\n}\\n```\\n\\n:::tip\\nIt\'s better to use class constants because if you decide to change the field name, you will have to change it only in one place.\\n:::\\n\\n## Theme Options\\n\\nACF\'s Options page has a wide array of uses and it\'s very likely that you\'ll need some sort of Theme Options in your project. To make the implementation of Theme Options a bit easier, we have a CLI command which generates the `ThemeOptions` class in your project. Just use the following command:\\n\\n```bash\\nwp boilerplate create theme-options\\n```\\n\\nThis command generates a class with two methods. The first one, `createThemeOptionsPage()` creates a Theme Options page and adds it to the WP Admin sidebar. The second one, `registerThemeOptions()`, is what registers the fields you will have in Theme Options. Here is an example how Theme Options look after being created using `wp boilerplate`:\\n\\n![ACF Theme Options](/img/blog/acf-theme-options.webp)\\n\\nTo add fields to your Theme Options, follow the steps from the **_Exporting PHP code_** section of this post and add the fields inside the `\'fields\' => []` array.\\n## Tip - create a helper class\\n\\nIn this blog post, we covered the whole process of registering and using ACF fields in your project. But, if you are using a lot of ACF fields, wrapping each `get_field()` function with a `function_exists()` conditional may become tedious at some point. For that reason, it may be a good idea to create a helper class that you can use for ACF functions.\\n\\nI won\'t cover the whole process in detail, but I\'ll give you some general pointers.\\n\\n- when registering plugin-related classes, use the `Plugins` namespace. In this case, you should have namespace `YourNamespace\\\\Plugins\\\\Acf`\\n- inside that namespace, you can create a class called `AcfHelper`\\n- add a method `getField` which accepts the same arguments as the `get_field()` function\\n- add a method `getThemeOption` which only accepts one argument, the field name, and the second argument is hardcoded\\n- use early returns in your methods\\n```php\\nif (!function_exists(\'get_field\')) {\\n\\treturn \'\';\\n}\\n```"},{"id":"using-assets","metadata":{"permalink":"/blog/using-assets","source":"@site/blog/2022-04-25-using-assets.md","title":"Using assets in a project","description":"Step-by-step guide on how to add assets like images or icons to your theme.","date":"2022-04-28T00:00:00.000Z","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"assets","permalink":"/blog/tags/assets"},{"label":"images","permalink":"/blog/tags/images"},{"label":"icons","permalink":"/blog/tags/icons"}],"readingTime":3.945,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"Using assets in a project","description":"Step-by-step guide on how to add assets like images or icons to your theme.","slug":"using-assets","authors":"obradovic","date":"2022-04-28T00:00:00.000Z","tags":["eightshift","boilerplate","assets","images","icons"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"How to use ACF in your project","permalink":"/blog/acf-in-a-project"},"nextItem":{"title":"Adding fonts","permalink":"/blog/adding-fonts"}},"content":"Previously, we went through the process of adding fonts to your project. While the process of adding additional assets like images or icons has some similarities to adding fonts, it also has its unique steps. In this post, we\'ll cover multiple ways of adding assets and using them on your site.\\n\x3c!--truncate--\x3e\\n\\n## Adding images\\n\\nSimilar to fonts, there is also a dedicated folder for adding images that will be used in a theme. The location of this folder is **_assets/images_**. The procedure to add images is even simpler than fonts, which you can read about in [Adding fonts](/blog/adding-fonts) blog post. Just follow these steps to add a new image:\\n- add the image in inside **_assets/images_** folder\\n- include it in **_assets/images/index.js_**\\n- run `npm start` to rebuild assets\\n\\nThe new image will now be available in the **_public_** folder. The use case for this is adding a favicon or a logo to your project. To use this image in one of your templates or blocks, you have to add the following in your **_php_** file:\\n\\n```php\\nuse YourNamespace\\\\Manifest\\\\Manifest;\\n// ...\\n\\napply_filters(Manifest::MANIFEST_ITEM, \'logo.svg\');\\n```\\n\\nThe filter we are using is called `manifest-item` and we use it to get the URL of the asset from the **_public_** folder. You can read more about this in [our documentation](/docs/basics/manifest).\\n\\nYou can see how this is being used for rendering both favicon and header logo in your theme\'s **_header.php_** file.\\n\\n:::tip\\nDon\'t hardcode the filter name in the `apply_filters` function. Always call it via class constants.\\n:::\\n\\nFor better organization, you can add additional folders (e.g. **_icons_**, **_placeholders_**) inside the **_assets/images_** folder. Here\'s an example of how to include them:\\n\\n```js\\n// Icons\\nimport \'./icons/upload.svg\';\\n\\n// Placeholders\\nimport \'./placeholders/post.png\';\\nimport \'./placeholders/page.png\';\\n```\\n\\n## Using SVG files from manifest\\n\\nIf you recall from a previous blog post about [Modifying Blocks](/blog/modifying-blocks-color-theme), you might have already seen an alternative approach to including SVG files in your block or component.\\n\\n:::info :es-hide-title:\\nIf you don\'t have it in your project, be sure to read our blog post about adding blocks and components by using [WP CLI](/blog/adding-blocks-wpcli).\\n:::\\n\\nOpen **_src/Blocks/components/quote/manifest.json_** and you\'ll see that the icon used by the component is defined inside `resources` as a key-value pair. Key represents the name that we will use to fetch the icon, while the value is SVG code.\\n\\n```json\\n\\"resources\\": {\\n\\t\\"icon\\": \\"<svg fill=\'none\' height=\'24\' viewBox=\'0 0 24 24\' width=\'24\' xmlns=\'http://www.w3.org/2000/svg\'>...</svg>\\"\\n}\\n```\\n\\nIn order to make the minification of SVG files as easy as possible, our teammate Goran made an awesome tool called [SVG2WP](https://svg-2-wp.goranalkovic.com/). Some of the options include making attributes JSX compatible, or replacing the color value with `currentColor`, which can then be used to change the SVG color through CSS.\\n\\nYou\'ve already seen the use of `currentColor` in the above-mentioned blog post, where we\'ve modified the color of the SVG.\\n\\nThe output of the icon on frontend is very simple. In the Quote component, it was done the following way:\\n```php\\n<?php $manifest = Components::getManifest(__DIR__); ?>\\n\\n<i class=\\"<?php echo \\\\esc_attr(\\"{$componentClass}__icon\\"); ?>\\">\\n\\t<?php echo $manifest[\'resources\'][\'icon\']; // phpcs:ignore Eightshift.Security.ComponentsEscape.OutputNotEscaped ?>\\n</i>\\n```\\n\\nAn excellent example, where you can see in even more detail how SVGs are being used, is our `icon` component. It isn\'t included in Eightshift theme by default, so you have to add it to your project with WP CLI. To include it in your project, use the following command:\\n\\n```bash\\nwp boilerplate blocks use-component --name=icon\\n```\\n\\nIf you include the Icon component inside a block, you will have the option to choose between multiple icons defined in the manifest. Another way to render SVGs from the Icon component is by using the `Components::render` helper method:\\n\\n```php\\necho Components::render(\\n\\t\'icon\',\\n\\t[\\n\\t\\t\'blockClass\' => $componentClass,\\n\\t\\t\'iconName\' => \'download\',\\n\\t]\\n);\\n```\\n\\nHere are some examples of icons available out-of-the-box in our Icon component:\\n\\n![Icon component](/img/blog/icon-component.webp)\\n\\n## Using icons for editor and block options\\n\\nWhen developing your blocks and adding new options, you may need to add icons to improve the user experience. We have many icons already available for use. You can see the full list in our [Storybook](/devkit-components) under `UI icons` and `Block icons` section. We already added the icon when adding a new Color Theme option for the Quote block. Here is the simplified version:\\n```jsx\\nimport { ColorPaletteCustom, IconLabel, icons } from \'@eightshift/frontend-libs/scripts\';\\n\\nreturn (\\n\\t<ColorPaletteCustom\\n\\t\\tlabel={<IconLabel icon={icons.color} label={__(\'Color Theme\', \'es-theme\')} />}\\n\\t\\t// ...\\n\\t/>\\n);\\n```\\n\\nThis was the end result when we were adding a new option in our Quote block:\\n\\n![Color Theme Options](/img/blog/color-theme-options.webp)\\n\\n## Conclusion\\n\\nAs you could see in this blog post, there are multiple ways of adding assets to a project. It all depends on how these will be used and what the scope of their use will be."},{"id":"adding-fonts","metadata":{"permalink":"/blog/adding-fonts","source":"@site/blog/2022-04-08-adding-fonts.md","title":"Adding fonts","description":"An intro to adding fonts to your project.","date":"2022-04-12T00:00:00.000Z","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"fonts","permalink":"/blog/tags/fonts"}],"readingTime":6.005,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"Adding fonts","description":"An intro to adding fonts to your project.","slug":"adding-fonts","authors":"obradovic","date":"2022-04-12T00:00:00.000Z","tags":["eightshift","boilerplate","fonts"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"Using assets in a project","permalink":"/blog/using-assets"},"nextItem":{"title":"Modifying blocks - Color Theme","permalink":"/blog/modifying-blocks-color-theme"}},"content":"Every project is unique. Logo, colors, fonts, etc. are what define the visual identity of your website. In this post, we\'ll cover adding fonts to a project.\\n\x3c!--truncate--\x3e\\n\\n## Importing fonts into your project\\n[Our documentation](/docs/basics/fonts) covers the necessary steps to add a font to your project, but here we\'ll cover the process in a bit more detail. To start, we need a font (or two). For this example, I\'ll use **_Source Sans Pro_** and **_Noto Serif_** which I\'ve downloaded from [Google Fonts](https://fonts.google.com/). They are in the `.ttf` format (you may find some which are `.otf`, which will work in the same way), so you need to convert them to `.woff` and `.woff2`. Whatever approach you use is okay - we recommend the following tools:\\n- [Convertio](https://convertio.co/ttf-woff/)\\n- [Cloud Convert](https://cloudconvert.com/ttf-to-woff)\\n- [Everything Fonts](https://everythingfonts.com/ttf-to-woff)\\n- [Transfonter](https://transfonter.org/)\\n\\n:::caution Warning\\nMake sure you have the proper license for the fonts you are converting.\\n:::\\n\\nFonts should go inside your theme\'s **_/assets/fonts_** folder. Copy the fonts you want to use there. You will also notice that this folder contains an **_index.js_** file, used to import fonts into your project. Here\'s an example of how I imported my fonts:\\n```js\\n// SourceSansPro WOFF\\nimport \'./SourceSansPro-Bold.woff\';\\nimport \'./SourceSansPro-BoldItalic.woff\';\\nimport \'./SourceSansPro-Italic.woff\';\\nimport \'./SourceSansPro-Regular.woff\';\\nimport \'./SourceSansPro-Light.woff\';\\nimport \'./SourceSansPro-LightItalic.woff\';\\n\\n// SourceSansPro WOFF2\\nimport \'./SourceSansPro-Bold.woff2\';\\nimport \'./SourceSansPro-BoldItalic.woff2\';\\nimport \'./SourceSansPro-Italic.woff2\';\\nimport \'./SourceSansPro-Regular.woff2\';\\nimport \'./SourceSansPro-Light.woff2\';\\nimport \'./SourceSansPro-LightItalic.woff2\';\\n\\n// NotoSerif WOFF\\nimport \'./NotoSerif-Bold.woff\';\\nimport \'./NotoSerif-BoldItalic.woff\';\\nimport \'./NotoSerif-Italic.woff\';\\nimport \'./NotoSerif-Regular.woff\';\\n\\n// NotoSerif WOFF2\\nimport \'./NotoSerif-Bold.woff2\';\\nimport \'./NotoSerif-BoldItalic.woff2\';\\nimport \'./NotoSerif-Italic.woff2\';\\nimport \'./NotoSerif-Regular.woff2\';\\n```\\n\\n:::tip\\nIf you don\'t need to support IE11, don\'t include `.woff` files. This will save you some bandwidth.\\n:::\\n\\nTo add these fonts as your base font and secondary font, go to the global manifest located in **_/src/Blocks_** and add the following inside `globalVariables`:\\n```json\\n\\"globalVariables\\": {\\n\\t// ...\\n\\t\\"baseFont\\": \\"SourceSansPro\\",\\n\\t\\"secondaryFont\\": \\"NotoSerif\\",\\n\\t// ...\\n}\\n```\\n\\nNext, you can create a new file called **__typography.scss_** inside your **_/assets/styles/parts/utils/_** folder and add the following:\\n\\n```scss\\n@include font-face(global-settings(baseFont), \'SourceSansPro-Light\', 300);\\n@include font-face(global-settings(baseFont), \'SourceSansPro-LightItalic\', 300, italic);\\n@include font-face(global-settings(baseFont), \'SourceSansPro-Regular\', 400);\\n@include font-face(global-settings(baseFont), \'SourceSansPro-Italic\', 400, italic);\\n@include font-face(global-settings(baseFont), \'SourceSansPro-Bold\', 700);\\n@include font-face(global-settings(baseFont), \'SourceSansPro-BoldItalic\', 700, italic);\\n\\n@include font-face(global-settings(secondaryFont), \'NotoSerif-Bold\', 700);\\n@include font-face(global-settings(secondaryFont), \'NotoSerif-BoldItalic\', 700, italic);\\n@include font-face(global-settings(secondaryFont), \'NotoSerif-Italic\', 400, italic);\\n@include font-face(global-settings(secondaryFont), \'NotoSerif-Regular\', 400);\\n```\\nIf you would like to know more about the `font-face` mixin, you can take a look at our [Sass documentation](/docs/basics/library).\\n\\nBecause this is a new file, we have to include it. You can do that inside **_/assets/styles/parts/\\\\_shared.scss_** file:\\n```scss\\n// Project specific.\\n@import \'utils/shared-variables\';\\n@import \'utils/typography\';\\n```\\n\\nRun `npm start` to rebuild your **_public_** folder and assets. If you did everything correctly, your build should pass and you will see your fonts inside the **_public_** folder.\\n\\n## Using only one font in a block\\n\\nThere are multiple ways of using fonts in a block. The simplest use case is if you have only one font you want to use for that specific block. In this case, we want the Heading block to only use _Noto Serif_.\\n\\nTo make our secondary font available for use, we need to first define it as a CSS variable. We can do that in **_/assets/styles/parts/utils/\\\\_shared-variables.scss_**. The base font is already defined there, so all we need to do is add our secondary font definition below it.\\n\\nTo make things a bit more consistent, we may also want to rename `--global-font-family` CSS variable to `--base-font-family`. Just don\'t forget to search/replace this new variable name across your project! Please note that the fallbacks for the fonts can be anything, this is just an example. Once we\'re done, it should look like this:\\n```scss\\n\\t--base-font-family: var(--global-base-font), -apple-system, BlinkMacSystemFont, \'Segoe UI\', Roboto, Helvetica,\\n\\t\\tArial, sans-serif, \'Apple Color Emoji\', \'Segoe UI Emoji\', \'Segoe UI Symbol\';\\n\\n\\t--secondary-font-family: var(--global-secondary-font), -apple-system, BlinkMacSystemFont, \'Segoe UI\', Roboto, Helvetica,\\n\\t\\tArial, sans-serif, \'Apple Color Emoji\', \'Segoe UI Emoji\', \'Segoe UI Symbol\';\\n```\\nAfter defining the `--secondary-font-family` CSS variable, we can go to **_/src/Blocks/components/heading/heading-style.scss_** and add the following rule to the `.heading` class:\\n```scss\\n\\tfont-family: var(--secondary-font-family);\\n```\\n\\nAnd that\'s it! The Heading block will now use the _Noto Serif_ font.\\n\\n## Adding a font picker\\n\\nIn some cases, you may want to give users the option to choose between fonts that they want to use in their block. For this example, we\'ll use the `paragraph` block where we want users to have both _Source Sans Pro_ and _Noto Serif_ available.\\n\\nFirst step is to add a new attribute, options and CSS variable values in **_/src/Blocks/components/paragraph/manifest.json_**:\\n```json\\n// ...\\n\\t\\"attributes\\": {\\n\\t\\t// ...\\n\\t\\t\\"paragraphFontFamily\\": {\\n\\t\\t\\t\\"type\\": \\"string\\",\\n\\t\\t\\t\\"default\\": \\"base\\"\\n\\t\\t}\\n\\t},\\n\\t\\"options\\": {\\n\\t\\t// ...\\n\\t\\t\\"paragraphFontFamily\\": [\\n\\t\\t\\t{\\n\\t\\t\\t\\t\\"label\\": \\"SourceSansPro\\",\\n\\t\\t\\t\\t\\"value\\": \\"base\\"\\n\\t\\t\\t},\\n\\t\\t\\t{\\n\\t\\t\\t\\t\\"label\\": \\"NotoSerif\\",\\n\\t\\t\\t\\t\\"value\\": \\"secondary\\"\\n\\t\\t\\t}\\n\\t\\t],\\n\\t\\t// ...\\n\\t}\\n```\\n\\nAfter defining the new attribute and options for the font family, we now have to add a variable to **_manifest.json_**. We can add it to the `variables` object. This approach is slightly different from the one explained in the [Modifying blocks](/blog/modifying-blocks-color-theme) blog post. Here we can use `%value%` wildcard to dynamically add the selected value to our CSS variable.\\n```json\\n\\"paragraphFontFamily\\": [\\n\\t{\\n\\t\\t\\"variable\\": {\\n\\t\\t\\t\\"paragraph-font-family\\": \\"var(--%value%-font-family)\\"\\n\\t\\t}\\n\\t}\\n]\\n```\\n\\nThe next step is to go to **_/src/Blocks/components/paragraph/components/paragraph-options.js_** and add a control for the new font family option. The first thing we can add is a new attribute that will allow us to toggle showing the Paragraph font family option on other blocks which are using the Paragraph component. There might be a case where we want only one font family, so this option may come in handy in some other blocks.\\n```js\\nconst {\\n\\t\\tsetAttributes,\\n\\t\\t//...\\n\\t\\tshowParagraphFontFamily = true,\\n\\t} = attributes;\\n```\\n\\nAfter that, we need to fetch either the saved attribute value or get the default one from the manifest. We can do that with the `checkAttr` helper, adding it just below `paragraphColor` and `paragraphSize`.\\n```js\\n\\tconst paragraphFontFamily = checkAttr(\'paragraphFontFamily\', attributes, manifest);\\n```\\n\\nNow we have to add an actual control to the options panel which will allow us to choose between fonts.\\n```js\\n\\treturn (\\n\\t\\t// ...\\n\\t\\t{showParagraphFontFamily &&\\n\\t\\t\\t<CustomSelect\\n\\t\\t\\t\\tlabel={<IconLabel icon={icons.fontFamily} label={__(\'Font Family\', \'eightshift-theme\')} />}\\n\\t\\t\\t\\tvalue={paragraphFontFamily}\\n\\t\\t\\t\\toptions={getOption(\'paragraphFontFamily\', attributes, manifest)}\\n\\t\\t\\t\\tonChange={(value) => setAttributes({ [getAttrKey(\'paragraphFontFamily\', attributes, manifest)]: value })}\\n\\t\\t\\t\\tisClearable={false}\\n\\t\\t\\t\\tisSearchable={false}\\n\\t\\t\\t\\tsimpleValue\\n\\t\\t\\t/>\\n\\t\\t}\\n\\t\\t// ...\\n\\t);\\n```\\n\\nThe control for selecting a font should now be available under Paragraph options. Saving the choice now works, but the font stays the same both in the editor and on the frontend.\\n\\n![Font Picker](/img/blog/font-picker.webp)\\n\\nThe final step we need to make this work is to add a CSS rule that consumes our variable to **_/src/Blocks/components/paragraph/paragraph-style.scss_**:\\n```scss\\n.paragraph {\\n\\t// ...\\n\\tfont-family: var(--paragraph-font-family, var(--base-font-family));\\n\\t// ...\\n}\\n```\\n\\nAfter adding this single line of CSS code, your new option for selecting fonts will now be fully functional.\\n\\n## Closing thoughts\\nAdding fonts to a project is something you will usually only do when setting up a new project and then forget about it. As you could see in this blog post, this isn\'t a complicated process, but it has a specific set of steps that have to be taken in order for custom fonts to work in your project.\\n\\nOf course, there are other ways to include fonts in your project, but the described process is what we recommend and use. This is the (Eightshift) Way."},{"id":"modifying-blocks-color-theme","metadata":{"permalink":"/blog/modifying-blocks-color-theme","source":"@site/blog/2022-03-04-modifying-blocks.md","title":"Modifying blocks - Color Theme","description":"Step-by-step guide on how to modify and expand the functionality of existing blocks.","date":"2022-03-22T00:00:00.000Z","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"components","permalink":"/blog/tags/components"},{"label":"blocks","permalink":"/blog/tags/blocks"}],"readingTime":8.465,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"Modifying blocks - Color Theme","description":"Step-by-step guide on how to modify and expand the functionality of existing blocks.","slug":"modifying-blocks-color-theme","authors":"obradovic","date":"2022-03-22T00:00:00.000Z","tags":["eightshift","boilerplate","components","blocks"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"Adding fonts","permalink":"/blog/adding-fonts"},"nextItem":{"title":"Adding components and blocks with WP-CLI","permalink":"/blog/adding-blocks-wpcli"}},"content":"In our previous post, we covered how to use Storybook and WP-CLI to add additional blocks to your project. This post will walk you through modifying an existing block step-by-step.\\n\x3c!--truncate--\x3e\\n\\nSince Eightshift Development kit is a starter theme, made for developers to jumpstart and speed up their development, you\'re welcome to modify files in it directly. There is no need to create a child theme to protect changes from updates.\\n\\n## Modifying a block or a component?\\nBecause we used the Quote block in our previous post, we will continue using it as an example as it\'s a fairly simple one. One of the first questions you may ask yourself could be: \\"Should I modify a component or a block?\\". And the answer is - it depends.\\n\\nIf you compare **_components/quote/quote.php_** (component) and **_custom/quote/quote.php_** (block), you\'ll notice that most of the HTML code is inside the component, while the block pretty much only renders the Quote component inside a wrapper. This example will walk you through the whole process of adding a new attribute and its options to a block.\\n\\n## What will we do?\\n\\nWe want to style the block and add a new feature. An option to choose a color theme for the Quote block. These are the specs:\\n- each Quote block has a background with rounded corners\\n- option for three color themes: blue, green, yellow\\n- the background has a lighter shade of the selected color\\n- quote icon has a stronger shade of the selected color\\n\\nTo better help you visualize, this is how the Quote block should look like after making these changes, showcasing all three color theme variations:\\n![Color Theme Examples](/img/blog/color-theme-examples.webp)\\n\\n## Adding background\\n\\nInitial background styling is fairly straightforward. Navigate to **_src/Blocks/components/quote/quote-style.scss_** and paste the following code inside `.quote` class:\\n\\n```css\\npadding: calc(var(--base-font-size) * 1.6rem);\\nborder-radius: calc(var(--base-font-size) * 2rem);\\nbackground-color: global-settings(colors, light);\\n```\\nYou may notice we\'re using `calc` instead of directly writing values in rems. This way makes it much easier to calculate pixel size since `calc(var(--base-font-size) * 1.6rem)` equals `16px`.\\n\\nFor now, we will add a simple light grey background to see how it looks. We\'ll replace this value later with a CSS variable.\\n\\n:::tip\\nDon\'t hardcode hex color values directly inside your component. Instead, use colors defined in your global manifest.\\n:::\\n\\nYou\'ll notice that the changes are visible both in the editor and on the frontend. Since the Gutenberg editor adds some additional markup, sometimes you\'ll need to add additional styling only for the editor. In case we need to override something in the editor for our Quote component, we would simply create **_quote-editor.scss_**.\\n\\n## Adding new colors to your project\\n\\nBecause the theme currently doesn\'t have all the required colors, we need to add additional colors which will be used for the color theme feature. We will use the colors already defined in the manifest for icon color, but we need to add lighter variations of those colors to use them for the background. Navigate to your global manifest, which is located inside **_src/Blocks/manifest.json_** and add the following values inside `colors`:\\n```json\\n{\\n\\t\\"name\\": \\"Light Blue\\",\\n\\t\\"slug\\": \\"light-blue\\",\\n\\t\\"color\\": \\"#B3E5FC\\"\\n},\\n{\\n\\t\\"name\\": \\"Light Green\\",\\n\\t\\"slug\\": \\"light-green\\",\\n\\t\\"color\\": \\"#DCEDC8\\"\\n},\\n{\\n\\t\\"name\\": \\"Light Yellow\\",\\n\\t\\"slug\\": \\"light-yellow\\",\\n\\t\\"color\\": \\"#FFF9C4\\"\\n}\\n```\\n\\n## Adding a new attribute and options to manifest\\n\\nFor editors to be able to choose which color theme to use for the Quote block, we need to define an attribute for it in the manifest. Navigate to **_src/Blocks/components/quote/manifest.json_** and add the following value inside `attributes`:\\n\\n```json\\n\\"quoteColorTheme\\": {\\n\\t\\"type\\": \\"string\\",\\n\\t\\"default\\": \\"blue\\"\\n}\\n```\\n\\n:::caution\\nDouble-check the path of the manifest used in this example. We\'re adding it inside the Quote component manifest, not the Quote block manifest.\\n:::\\n\\nAfter that, since we want to have a fixed number of options, we need to define available options. We can do that inside `options` which is on the same level as `attributes`:\\n```json\\n\\"options\\": {\\n\\t\\"quoteColorTheme\\": [\\n\\t\\t\\"blue\\",\\n\\t\\t\\"green\\",\\n\\t\\t\\"yellow\\"\\n\\t]\\n}\\n```\\n\\n## CSS variables\\n\\nOur next step is to add CSS variables to the Quote component\'s manifest. Inside **_manifest.json_**, on the same level as `attributes`, add the following code:\\n```json\\n\\"variables\\": {\\n\\t\\"quoteColorTheme\\": {\\n\\t\\t\\"blue\\": [\\n\\t\\t\\t{\\n\\t\\t\\t\\t\\"variable\\": {\\n\\t\\t\\t\\t\\t\\"quote-background-color\\": \\"var(--global-colors-light-blue)\\",\\n\\t\\t\\t\\t\\t\\"quote-icon-color\\": \\"var(--global-colors-blue)\\"\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t],\\n\\t\\t\\"green\\": [\\n\\t\\t\\t{\\n\\t\\t\\t\\t\\"variable\\": {\\n\\t\\t\\t\\t\\t\\"quote-background-color\\": \\"var(--global-colors-light-green)\\",\\n\\t\\t\\t\\t\\t\\"quote-icon-color\\": \\"var(--global-colors-green)\\"\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t],\\n\\t\\t\\"yellow\\": [\\n\\t\\t\\t{\\n\\t\\t\\t\\t\\"variable\\": {\\n\\t\\t\\t\\t\\t\\"quote-background-color\\": \\"var(--global-colors-light-yellow)\\",\\n\\t\\t\\t\\t\\t\\"quote-icon-color\\": \\"var(--global-colors-yellow)\\"\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t]\\n\\t}\\n}\\n```\\n\\nNow, navigate back to Quote component\'s **_quote-style.scss_** and replace the `background-color` which we used for testing with the following:\\n```css\\nbackground-color: var(--quote-background-color);\\n```\\n\\nAs you can see, the variable name is the same one we used when defining background color variations in the manifest. For icon color, we do the same. After adding a new color to `&__icon` selector, our code should now look like this:\\n\\n```css\\n&__icon {\\n\\tdisplay: block;\\n\\tmargin-bottom: 1rem;\\n\\tcolor: var(--quote-icon-color);\\n}\\n```\\n\\n## Outputting CSS variables in editor\\nTo make our color theme visible in editor, we have to add few lines of code to **_src/Blocks/components/quote/components/quote-editor.js_** file. First, we need to import a few functions. We need `useMemo` from **_react_**, `outputCssVariables` and `getUnique` from **_@eightshift/frontend-libs/scripts_** and finally, we need data from the global manifest.\\n\\nAfter importing these and defining a unique constant, your code should look like this:\\n\\n```js\\nimport React, { useMemo } from \'react\';\\nimport classnames from \'classnames\';\\nimport { checkAttr, props, selector, outputCssVariables, getUnique } from \'@eightshift/frontend-libs/scripts\';\\nimport { HeadingEditor } from \'../../heading/components/heading-editor\';\\nimport { ParagraphEditor } from \'../../paragraph/components/paragraph-editor\';\\nimport manifest from \'./../manifest.json\';\\nimport globalManifest from \'./../../../manifest.json\';\\n\\nexport const QuoteEditor = (attributes) => {\\n\\tconst unique = useMemo(() => getUnique(), []);\\n\\t//...\\n```\\nNext, we need to add a unique `data-id` and output the `<style>` tag containing CSS variables.\\n\\nModify your return statement so it looks like this:\\n\\n```jsx\\nreturn (\\n\\t<>\\n\\t\\t<figure className={quoteClass} data-id={unique}>\\n\\t\\t\\t{outputCssVariables(attributes, manifest, unique, globalManifest)}\\n\\t\\t\\t//...\\n```\\n\\nIf you try adding a Quote block in the editor, you should notice that it now has a light blue background with a quote icon in a darker shade of blue. This is the default value for the `quoteColorTheme` attribute we added in the component\'s manifest.\\n\\n## Outputting CSS variables in the PHP template\\nThe PHP template for the Quote component is located in **_src/Blocks/components/quote/quote.php_**. This process is similar to the one described above, it\'s just written in PHP. All helper methods we need for this are contained inside the `Components` class, which is already included in this file.\\n\\nSimilar to the JS template, we need a unique value, assign it to `data-id`, and output CSS variables. After adding these, the code should look like this:\\n\\n```php\\n<?php\\n//...\\n$quoteClass = Components::classnames([\\n\\tComponents::selector($componentClass, $componentClass),\\n\\tComponents::selector($blockClass, $blockClass, $selectorClass),\\n\\tComponents::selector($additionalClass, $additionalClass),\\n]);\\n\\n$unique = Components::getUnique();\\n?>\\n\\n<figure class=\\"<?php echo \\\\esc_attr($quoteClass); ?>\\" data-id=\\"<?php echo \\\\esc_attr($unique); ?>\\">\\n\\t<?php echo Components::outputCssVariables($attributes, $manifest, $unique, $globalManifest); ?>\\n\\t//...\\n```\\n\\n:::note\\nBoth PHP and JS have the same helpers to make writing code for editor and front view as similar as possible.\\n:::\\n\\n## Adding options\\nAfter adding these snippets, you should already see that your block is using the blue color theme, which we defined as the default value for `quoteColorTheme` in the manifest. We want to have an easy way to change the color theme in the editor. Now we\'ll add a new option which will do just that.\\n\\nWe will add these options in **_src/Blocks/components/quote/components/quote-options.js_**. Again, we will start with the imports we will need. First one is `__` from **_@wordpress/i18n_** package. Additional imports we need are from **_@eightshift/frontend-libs/scripts_**, so we will just add those to the list.\\n```js\\nimport { __ } from \'@wordpress/i18n\';\\nimport {\\n\\t//...\\n\\tColorPaletteCustom,\\n\\tIconLabel,\\n\\ticons,\\n\\tgetOption\\n} from \'@eightshift/frontend-libs/scripts\';\\n```\\n\\nNext, we can add a new attribute in options called `showQuoteColorTheme` and set it to `true` by default. If we want to use this component in other blocks, we can use this attribute for showing or hiding Color Theme Options on a specific block that uses the Quote component.\\n\\nAdditionally, we need to get values for `quoteUse` and `quoteColorTheme` attributes. We can use the `checkAttr` helper which first checks if a block has saved attribute value. If not, it defaults to a value defined in the manifest.\\n\\n```js\\nexport const QuoteOptions = (attributes) => {\\n\\t//...\\n\\tconst {\\n\\t\\tsetAttributes,\\n\\t\\t//...\\n\\t\\tshowQuoteColorTheme = true,\\n\\t} = attributes;\\n\\t//...\\n\\tconst quoteUse = checkAttr(\'quoteUse\', attributes, manifest);\\n\\tconst quoteColorTheme = checkAttr(\'quoteColorTheme\', attributes, manifest);\\n```\\n\\nFinally, we add the Color Palette, which we will use for switching color themes.\\n\\n```js\\nreturn (\\n\\t<>\\n\\t\\t//...\\n\\n\\t\\t{quoteUse &&\\n\\t\\t\\t<>\\n\\t\\t\\t\\t{showQuoteColorTheme &&\\n\\t\\t\\t\\t\\t<ColorPaletteCustom\\n\\t\\t\\t\\t\\t\\tlabel={<IconLabel icon={icons.color} label={__(\'Color Theme\', \'es-theme\')} />}\\n\\t\\t\\t\\t\\t\\tcolors={getOption(\'quoteColorTheme\', attributes, manifest, true)}\\n\\t\\t\\t\\t\\t\\tvalue={quoteColorTheme}\\n\\t\\t\\t\\t\\t\\tonChange={(value) => setAttributes({ [getAttrKey(\'quoteColorTheme\', attributes, manifest)]: value })}\\n\\t\\t\\t\\t\\t/>\\n\\t\\t\\t\\t}\\n\\t\\t\\t//...\\n```\\n\\nThe Color Theme option should now be visible and fully functional inside the Quote block.\\n\\n![Color Theme Options](/img/blog/color-theme-options.webp)\\n\\n## Adding transitions in the editor\\n\\nThe options work, but you may notice there is no transition in the editor. It is not necessary but will improve the user experience. Since we do not need transition effects on the frontend, we can add these CSS rules only to the editor. To do that, we start by creating **_quote-editor.scss_** file inside **_src/Blocks/components/quote_** folder.\\n\\nWe add the following CSS:\\n```css\\n.quote {\\n\\ttransition: background-color 0.3s ease-in-out;\\n\\n\\t&__icon {\\n\\t\\ttransition: color 0.3s ease-in-out;\\n\\t}\\n}\\n```\\n\\nBecause we\'ve added a new file, we have to run `npm start` again. Now the transition between colors will be much smoother.\\n\\n![Color Theme Change](/img/blog/color-theme-change.gif)\\n\\n## Closing thoughts\\n\\nIn this post, we\'ve covered the whole process of adding a new attribute. It involves a lot of steps and things to keep in mind, but once you get used to it, you\'ll be able to add quite powerful features to your blocks.\\n\\nOne more important thing to keep in mind is the expandability of your attributes. When adding new attributes, don\'t think just about what you need now, keep in mind that you may need to expand it later.\\n\\nThe way we built Color Theme functionality makes adding additional color themes a breeze and can be done in a matter of minutes. For \\"homework\\", try adding two more color themes of your choice. Good luck!"},{"id":"adding-blocks-wpcli","metadata":{"permalink":"/blog/adding-blocks-wpcli","source":"@site/blog/2022-03-03-adding-blocks-wpcli.md","title":"Adding components and blocks with WP-CLI","description":"This blog post covers how to use our WP CLI commands for adding components and blocks into your project.","date":"2022-03-14T00:00:00.000Z","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"wpcli","permalink":"/blog/tags/wpcli"},{"label":"components","permalink":"/blog/tags/components"},{"label":"blocks","permalink":"/blog/tags/blocks"}],"readingTime":2.785,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"Adding components and blocks with WP-CLI","description":"This blog post covers how to use our WP CLI commands for adding components and blocks into your project.","slug":"adding-blocks-wpcli","authors":"obradovic","date":"2022-03-14T00:00:00.000Z","tags":["eightshift","boilerplate","wpcli","components","blocks"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"Modifying blocks - Color Theme","permalink":"/blog/modifying-blocks-color-theme"},"nextItem":{"title":"Components and blocks","permalink":"/blog/components-and-blocks"}},"content":"Although there are a few basic blocks available after creating a project, there are a lot more blocks available in the dev kit. However, you have to add them to your project using WP-CLI (the simplest method). To see the complete list of available components and blocks, visit our [Storybook](/devkit-components).\\n\\nThese can be used out-of-the-box, but also as a good starting point if you need similar blocks in your projects. It will also speed up your development time since you don\'t have to build everything from scratch.\\n\\n\x3c!--truncate--\x3e\\n\\n:::info Last update\\nAugust 23, 2022\\n:::\\n\\n## Storybook\\n\\nStorybook allows you to preview how the components and blocks look and which options they have available. Since Storybook is interactive, you can try out most of the options. Think of it as a catalog with all custom blocks we\'ve built and made ready for public use.\\n\\nEach entry in Storybook should have documentation that explains the block in more detail, along with implementation instructions. Before using any block, be sure to check `Dependencies` section. Although `Implementation` section lists all the necessary WP-CLI commands required to use a specific block or a component, it is recommended to check if you have the required dependencies ready in your theme.\\n\\n## WP-CLI commands\\n\\nIf you\'ve read our [Initial Setup](/blog/initial-setup) post, you\'re already familiar with our custom WP-CLI commands. For implementing additional components, we have `wp boilerplate blocks use-component --name=` command. For blocks, we have `wp boilerplate blocks use-block --name=` command.\\n\\n## Adding new component and block in our project\\n\\nLet\'s say we need a Quote block in our project. After going through the documentation of the Quote block, we see that we have one dependency, and that is the Quote component. So, to make Quote block available in our project, we need two WP-CLI commands:\\n\\n```bash\\nwp boilerplate blocks use-block --name=quote\\nwp boilerplate blocks use-component --name=quote\\n```\\n\\nWhen entering the `wp boilerplate blocks use-block --name=\'quote\'` command, you\'ll notice the note about a block dependency on the Quote component. So you should run the second command as well.\\n\\n![Setup - instructions](/img/blog/wpcli-1.webp)\\n\\nAfter entering these commands, run `npm start` again to make sure everything works properly.\\n\\nThe Quote block is now ready to use and available in your blocks list. You may use it as-is, or you may want to expand its functionalities with some additional attributes. More about that will be covered in the next blog post.\\n\\n## Using Example block\\n\\nIf you want to build a block almost from scratch, you can use our Example block. This is a very simple block that generates all necessary files with some example options. To add an Example block to your project, use the following WP-CLI command:\\n\\n```bash\\nwp boilerplate blocks use-block --name=example\\n```\\n\\nSince our blocks use a predefined structure to make everything register automatically, adding Example block with WP-CLI will generate all required files. After it\'s added, feel free to rename the folder, as well as files with the name of your block and start modifying all the files. Simply replace \\"example\\" with the name of your block.\\n\\n## Further reading\\n\\nOur documentation has all this covered in a lot more detail, so if you would like to better understand the structure of our blocks and components, here are some chapters covering these topics:\\n\\n- [Architecture concepts](/docs/basics/architecture-concepts)\\n- [Block Structure](/docs/basics/block-structure)\\n- [Component Structure](/docs/basics/blocks-component-structure)"},{"id":"components-and-blocks","metadata":{"permalink":"/blog/components-and-blocks","source":"@site/blog/2022-01-21-components-and-blocks.md","title":"Components and blocks","description":"Explanation of the difference between components and blocks on a practical example","date":"2022-01-21T00:00:00.000Z","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"components","permalink":"/blog/tags/components"},{"label":"blocks","permalink":"/blog/tags/blocks"}],"readingTime":3.75,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"Components and blocks","description":"Explanation of the difference between components and blocks on a practical example","slug":"components-and-blocks","authors":"obradovic","tags":["eightshift","boilerplate","components","blocks"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"Adding components and blocks with WP-CLI","permalink":"/blog/adding-blocks-wpcli"},"nextItem":{"title":"Initial setup and first steps","permalink":"/blog/initial-setup"}},"content":"In this blog post, we\'ll give you a practical explanation about the difference between components and blocks. For a truly in-depth explanation about components and blocks, you can refer to [our documentation](/docs/basics/blocks). A more specific explanation about using components in a block can be found in the [Component in a Block](/docs/basics/blocks-component-in-block/) section.\\n\\n\x3c!--truncate--\x3e\\nOne of the things that is really confusing to newcomers is the difference between components and blocks. Let\'s break it all down.\\n\\n## Component\\n\\n:::note :es-hide-title:\\nA component is like a blank slate, a template without context.\\n:::\\n\\nIt doesn\'t know or even care for what it will be used. Can you combine multiple simple components into one complex component? Absolutely! That\'s exactly what we\'ll do in the following example.\\n\\nLet\'s say we have a component that consists of an image and a heading. Image and heading are two simple components that come with the theme out-of-the-box.\\n\\nHere are a few examples of how this new component can be used:\\n- displaying a post\\n- displaying a user or an author\\n- displaying a photo with the photographer\'s name\\n- and many more...\\n\\nAs you can already see, there are many ways you can use this component. What helps expand the usability of this component even more are `attributes`. Let\'s say we have the following attributes:\\n- `imagePosition` - left, right, top, bottom\\n- `imageShape` - rectangular, circular\\n- `imageWidth` - 25%, 50%, 75%\\n- `headingColor` - black, blue, red\\n- `headingSize` - small, medium, large\\n\\nThese attributes give you the option to modify the look of the component, so this specific component can be used for the following:\\n\\n- **related posts** - rectangular image on the left side, 25% image width, heading takes up the remaining 75%, medium heading colored in blue\\n- **user avatar** - circular image on the left side, 25% image width, small heading colored in black\\n- **photo of the day** - rectangular image on the right side which takes 75% width and photographer\'s name is written in medium blue text\\n- **featured posts** - rectangular image on top, large heading in red color\\n\\n![Component with different attributes](/img/blog/components.webp)\\n\\nYou can even add conditional logic to your options, e.g. to have the option for `imageWidth` visible only when `imagePosition` is set to left or right. And when `imagePosition` is set to top or bottom, it defaults to 100% width.\\n\\n## Block\\n\\nSo, what about blocks? Blocks can consist of one or more components and, most importantly, allow you to use them in the editor. Technically, blocks can consist of zero components, but we encourage you to build blocks from components because that increases the reusability.\\n\\n:::note :es-hide-title:\\nBlocks give context to the components.\\n:::\\n\\nNow that we have our component - let\'s call it `card-simple` - we can use it in a `Featured Posts` block. In **component\'s** `manifest.json`, we\'ve already defined how we want it to look by setting some defaults. When using this component in our block, we can override some attributes in **block\'s** `manifest.json`. Since it will be used for displaying featured posts, we can define that `imagePosition` should be set to **top**.\\n\\nAfter defining how we want our component to look while displaying featured posts, we need another attribute which will allow us to choose which posts to display in our block.\\n\\nTo do that, we\'ll add a new attribute called `featuredPosts` which will define which posts will be displayed in our block. For each selected post, another `card-simple` component is added, and featured image and post title are dynamically added to its image and heading components. More about the query logic and adding new options in a block will be covered in a future post.\\n\\nYou may be wondering, can you have a block that allows you to use all options of the `card-simple` component? Of course! You can create a block that allows you to set all available options in the editor and manually add content to the image and heading. There are also block variations, which allow you to set up predefined attributes for a block. More about setting up block variations may be covered in one of the future posts.\\n\\n## Conclusion\\n\\nHopefully, these examples helped you get a better understanding of the difference between components and blocks. It may take a bit more time or practical use to understand the difference and reasoning behind it. Our next post will walk you through downloading one of our components and blocks with WP CLI and modifying it."},{"id":"initial-setup","metadata":{"permalink":"/blog/initial-setup","source":"@site/blog/2022-01-20-initial-setup.md","title":"Initial setup and first steps","description":"This blog post describes how to set up Eightshift Boilerplate theme, and covers some of the most common issues that may occur","date":"2022-01-20T00:00:00.000Z","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"setup","permalink":"/blog/tags/setup"}],"readingTime":2.595,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"Initial setup and first steps","description":"This blog post describes how to set up Eightshift Boilerplate theme, and covers some of the most common issues that may occur","slug":"initial-setup","authors":"obradovic","tags":["eightshift","boilerplate","setup"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"Components and blocks","permalink":"/blog/components-and-blocks"}},"content":"As is often the case when trying out something new, you might encounter some hiccups. You\'re trying out our Eightshift Boilerplate, but can\'t get it to work? Worry not, we\'ll go through the setup and the most common issues that may occur.\\n\\n\x3c!--truncate--\x3e\\n\\n:::info Last update\\nAugust 23, 2022\\n:::\\n\\nIf you haven\'t already, be sure to read our official [Eightshift Docs](/docs/welcome).\\n\\n## Setup\\n\\nTo create Eightshift theme, navigate to `wp-content/themes` in your project and type the following in the terminal:\\n\\n```bash\\nnpx create-wp-project\\n```\\n\\nJust follow the instructions and wait for the theme to download.\\n\\n![Setup - initial prompt](/img/blog/setup-1.webp)\\n\\nOK, you went through the process, filled out all required information, but the theme still isn\'t working. There are a few more instructions in the terminal on what to do next, but you may have skipped them. While the principle **\\"6 hours of debugging can save you 5 minutes of reading documentation\\"** is fun, sometimes it\'s just not worth it. Here\'s what you should do:\\n\\n- run `wp theme activate your-theme-name` to activate your new theme\\n- navigate to `wp-content/themes/your-theme-name`\\n- try running `wp boilerplate --help` to check if our WP CLI boilerplate commands work\\n- for easiest initial setup, run `wp boilerplate init theme`\\n- `npm start` should trigger automatically with the previous command. If it doesn\'t, you can run it manually to finish the theme build process\\n\\n![Setup - instructions](/img/blog/setup-2.webp)\\n\\nCongratulations, you\'ve set up your Eightshift theme!\\n\\n## Getting to know Eightshift dev tools\\n\\nAfter successfully setting up the theme and going through files, you\'ll notice this file structure is quite different from traditional WordPress themes and you may think to yourself: \\"Oh wow, what did I get myself into?\\"\\n\\nWhile it may look scary and confusing at first, once you get used to the structure, you\'ll see the benefits. More about that will be covered in future posts, where we\'ll walk you through some basics of developing with Eightshift Boilerplate.\\n\\nYou may want to try a few of our WP CLI commands to add another component, block, or service class. Running `wp boilerplate --help` will give you a list of commands and their short description. If you need even more details about a specific command, you can type, e.g. `wp boilerplate create post-type --help`\\n\\nThe final tip in this post is related to troubleshooting. Maybe you tried to add a new class or a new feature to one of the existing blocks. And now the site has crashed. In tech support, the number 1 question is **\\"Have you tried turning it off and on again?\\"**. In our case, the number 1 question is:\\n\\n:::tip\\nHave you tried `composer dump-autoload` and re-running `npm start`?\\n:::\\n\\n## What\'s next in store?\\n\\nThat\'s all for this post. In future posts we\'ll go through some more how-to examples like:\\n- the difference between components and blocks\\n- downloading components and blocks from our Storybook with WP-CLI\\n- adding new features to components and blocks\\n- adding custom fonts to your project\\n- adding custom queries which we\'ll use in one of our blocks\\n- and many more...\\n\\nSo stay tuned."}]}}')}}]); \ No newline at end of file diff --git a/assets/js/25022.8a6dd94b.js b/assets/js/25022.8a6dd94b.js deleted file mode 100644 index d2617587e..000000000 --- a/assets/js/25022.8a6dd94b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[25022],{25022:(e,t,n)=>{n.r(t),n.d(t,{default:()=>de});var s=n(96540),a=n(69024),i=n(89532),l=n(74848);const o=s.createContext(null);function r(e){let{children:t,content:n}=e;const a=function(e){return(0,s.useMemo)((()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc})),[e])}(n);return(0,l.jsx)(o.Provider,{value:a,children:t})}function c(){const e=(0,s.useContext)(o);if(null===e)throw new i.dV("DocProvider");return e}function d(){const{metadata:e,frontMatter:t,assets:n}=c();return(0,l.jsx)(a.be,{title:e.title,description:e.description,keywords:t.keywords,image:n.image??t.image})}var u=n(34164),m=n(24581),h=n(21312),x=n(39022);function p(e){const{previous:t,next:n}=e;return(0,l.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,h.T)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[t&&(0,l.jsx)(x.A,{...t,subLabel:(0,l.jsx)(h.A,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),n&&(0,l.jsx)(x.A,{...n,subLabel:(0,l.jsx)(h.A,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}function v(){const{metadata:e}=c();return(0,l.jsx)(p,{previous:e.previous,next:e.next})}var b=n(44586),g=n(28774),f=n(44070),j=n(17559),A=n(55597),N=n(32252);const C={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,l.jsx)(h.A,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:(0,l.jsx)("b",{children:n.label})},children:"This is unreleased documentation for {siteTitle} {versionLabel} version."})},unmaintained:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,l.jsx)(h.A,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:(0,l.jsx)("b",{children:n.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function L(e){const t=C[e.versionMetadata.banner];return(0,l.jsx)(t,{...e})}function _(e){let{versionLabel:t,to:n,onClick:s}=e;return(0,l.jsx)(h.A,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:(0,l.jsx)("b",{children:(0,l.jsx)(g.A,{to:n,onClick:s,children:(0,l.jsx)(h.A,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:"For up-to-date documentation, see the {latestVersionLink} ({versionLabel})."})}function T(e){let{className:t,versionMetadata:n}=e;const{siteConfig:{title:s}}=(0,b.A)(),{pluginId:a}=(0,f.vT)({failfast:!0}),{savePreferredVersionName:i}=(0,A.g1)(a),{latestDocSuggestion:o,latestVersionSuggestion:r}=(0,f.HW)(a),c=o??(d=r).docs.find((e=>e.id===d.mainDocId));var d;return(0,l.jsxs)("div",{className:(0,u.A)(t,j.G.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,l.jsx)("div",{children:(0,l.jsx)(L,{siteTitle:s,versionMetadata:n})}),(0,l.jsx)("div",{className:"margin-top--md",children:(0,l.jsx)(_,{versionLabel:r.label,to:c.path,onClick:()=>i(r.name)})})]})}function k(e){let{className:t}=e;const n=(0,N.r)();return n.banner?(0,l.jsx)(T,{className:t,versionMetadata:n}):null}function y(e){let{className:t}=e;const n=(0,N.r)();return n.badge?(0,l.jsx)("span",{className:(0,u.A)(t,j.G.docs.docVersionBadge,"badge badge--secondary"),children:(0,l.jsx)(h.A,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label},children:"Version: {versionLabel}"})}):null}function U(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n}=e;return(0,l.jsx)(h.A,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,l.jsx)("b",{children:(0,l.jsx)("time",{dateTime:new Date(1e3*t).toISOString(),children:n})})},children:" on {date}"})}function H(e){let{lastUpdatedBy:t}=e;return(0,l.jsx)(h.A,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,l.jsx)("b",{children:t})},children:" by {user}"})}function w(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n,lastUpdatedBy:s}=e;return(0,l.jsxs)("span",{className:j.G.common.lastUpdated,children:[(0,l.jsx)(h.A,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t&&n?(0,l.jsx)(U,{lastUpdatedAt:t,formattedLastUpdatedAt:n}):"",byUser:s?(0,l.jsx)(H,{lastUpdatedBy:s}):""},children:"Last updated{atDate}{byUser}"}),!1]})}var M=n(61943),E=n(62053);const B={lastUpdated:"lastUpdated_vwxv"};function I(e){return(0,l.jsx)("div",{className:(0,u.A)(j.G.docs.docFooterTagsRow,"row margin-bottom--sm"),children:(0,l.jsx)("div",{className:"col",children:(0,l.jsx)(E.A,{...e})})})}function S(e){let{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:s,formattedLastUpdatedAt:a}=e;return(0,l.jsxs)("div",{className:(0,u.A)(j.G.docs.docFooterEditMetaRow,"row"),children:[(0,l.jsx)("div",{className:"col",children:t&&(0,l.jsx)(M.A,{editUrl:t})}),(0,l.jsx)("div",{className:(0,u.A)("col",B.lastUpdated),children:(n||s)&&(0,l.jsx)(w,{lastUpdatedAt:n,formattedLastUpdatedAt:a,lastUpdatedBy:s})})]})}function V(){const{metadata:e}=c(),{editUrl:t,lastUpdatedAt:n,formattedLastUpdatedAt:s,lastUpdatedBy:a,tags:i}=e,o=i.length>0,r=!!(t||n||a);return o||r?(0,l.jsxs)("footer",{className:(0,u.A)(j.G.docs.docFooter,"docusaurus-mt-lg"),children:[o&&(0,l.jsx)(I,{tags:i}),r&&(0,l.jsx)(S,{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:a,formattedLastUpdatedAt:s})]}):null}var O=n(41422),D=n(65195);const R={tocCollapsibleButton:"tocCollapsibleButton_TO0P",tocCollapsibleButtonExpanded:"tocCollapsibleButtonExpanded_MG3E"};function G(e){let{collapsed:t,...n}=e;return(0,l.jsx)("button",{type:"button",...n,className:(0,u.A)("clean-btn",R.tocCollapsibleButton,!t&&R.tocCollapsibleButtonExpanded,n.className),children:(0,l.jsx)(h.A,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component",children:"On this page"})})}const P={tocCollapsible:"tocCollapsible_ETCw",tocCollapsibleContent:"tocCollapsibleContent_vkbj",tocCollapsibleExpanded:"tocCollapsibleExpanded_sAul"};function F(e){let{toc:t,className:n,minHeadingLevel:s,maxHeadingLevel:a}=e;const{collapsed:i,toggleCollapsed:o}=(0,O.u)({initialState:!0});return(0,l.jsxs)("div",{className:(0,u.A)(P.tocCollapsible,!i&&P.tocCollapsibleExpanded,n),children:[(0,l.jsx)(G,{collapsed:i,onClick:o}),(0,l.jsx)(O.N,{lazy:!0,className:P.tocCollapsibleContent,collapsed:i,children:(0,l.jsx)(D.A,{toc:t,minHeadingLevel:s,maxHeadingLevel:a})})]})}const z={tocMobile:"tocMobile_ITEo"};function q(){const{toc:e,frontMatter:t}=c();return(0,l.jsx)(F,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:(0,u.A)(j.G.docs.docTocMobile,z.tocMobile)})}var W=n(67763);function $(){const{toc:e,frontMatter:t}=c();return(0,l.jsx)(W.A,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:j.G.docs.docTocDesktop})}var Y=n(51107),Z=n(65425);function Q(e){let{children:t}=e;const n=function(){const{metadata:e,frontMatter:t,contentTitle:n}=c();return t.hide_title||void 0!==n?null:e.title}();return(0,l.jsxs)("div",{className:(0,u.A)(j.G.docs.docMarkdown,"markdown"),children:[n&&(0,l.jsx)("header",{children:(0,l.jsx)(Y.A,{as:"h1",children:n})}),(0,l.jsx)(Z.A,{children:t})]})}var X=n(81754),J=n(99169),K=n(86025);function ee(e){return(0,l.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,l.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})})}const te={breadcrumbHomeIcon:"breadcrumbHomeIcon_YNFT"};function ne(){const e=(0,K.A)("/");return(0,l.jsx)("li",{className:"breadcrumbs__item",children:(0,l.jsx)(g.A,{"aria-label":(0,h.T)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,l.jsx)(ee,{className:te.breadcrumbHomeIcon})})})}const se={breadcrumbsContainer:"breadcrumbsContainer_Z_bl"};function ae(e){let{children:t,href:n,isLast:s}=e;const a="breadcrumbs__link";return s?(0,l.jsx)("span",{className:a,itemProp:"name",children:t}):n?(0,l.jsx)(g.A,{className:a,href:n,itemProp:"item",children:(0,l.jsx)("span",{itemProp:"name",children:t})}):(0,l.jsx)("span",{className:a,children:t})}function ie(e){let{children:t,active:n,index:s,addMicrodata:a}=e;return(0,l.jsxs)("li",{...a&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},className:(0,u.A)("breadcrumbs__item",{"breadcrumbs__item--active":n}),children:[t,(0,l.jsx)("meta",{itemProp:"position",content:String(s+1)})]})}function le(){const e=(0,X.OF)(),t=(0,J.Dt)();return e?(0,l.jsx)("nav",{className:(0,u.A)(j.G.docs.docBreadcrumbs,se.breadcrumbsContainer),"aria-label":(0,h.T)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,l.jsxs)("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList",children:[t&&(0,l.jsx)(ne,{}),e.map(((t,n)=>{const s=n===e.length-1,a="category"===t.type&&t.linkUnlisted?void 0:t.href;return(0,l.jsx)(ie,{active:s,index:n,addMicrodata:!!a,children:(0,l.jsx)(ae,{href:a,isLast:s,children:t.label})},n)}))]})}):null}var oe=n(50996);const re={docItemContainer:"docItemContainer_Djhp",docItemCol:"docItemCol_VOVn"};function ce(e){let{children:t}=e;const n=function(){const{frontMatter:e,toc:t}=c(),n=(0,m.l)(),s=e.hide_table_of_contents,a=!s&&t.length>0;return{hidden:s,mobile:a?(0,l.jsx)(q,{}):void 0,desktop:!a||"desktop"!==n&&"ssr"!==n?void 0:(0,l.jsx)($,{})}}(),{metadata:{unlisted:s}}=c();return(0,l.jsxs)("div",{className:"row",children:[(0,l.jsxs)("div",{className:(0,u.A)("col",!n.hidden&&re.docItemCol),children:[s&&(0,l.jsx)(oe.A,{}),(0,l.jsx)(k,{}),(0,l.jsxs)("div",{className:re.docItemContainer,children:[(0,l.jsxs)("article",{children:[(0,l.jsx)(le,{}),(0,l.jsx)(y,{}),n.mobile,(0,l.jsx)(Q,{children:t}),(0,l.jsx)(V,{})]}),(0,l.jsx)(v,{})]})]}),n.desktop&&(0,l.jsx)("div",{className:"col col--3",children:n.desktop})]})}function de(e){const t=`docs-doc-id-${e.content.metadata.id}`,n=e.content;return(0,l.jsx)(r,{content:e.content,children:(0,l.jsxs)(a.e3,{className:t,children:[(0,l.jsx)(d,{}),(0,l.jsx)(ce,{children:(0,l.jsx)(n,{})})]})})}},61943:(e,t,n)=>{n.d(t,{A:()=>d});n(96540);var s=n(21312),a=n(17559),i=n(28774),l=n(34164);const o={iconEdit:"iconEdit_Z9Sw"};var r=n(74848);function c(e){let{className:t,...n}=e;return(0,r.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,l.A)(o.iconEdit,t),"aria-hidden":"true",...n,children:(0,r.jsx)("g",{children:(0,r.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function d(e){let{editUrl:t}=e;return(0,r.jsxs)(i.A,{to:t,className:a.G.common.editThisPage,children:[(0,r.jsx)(c,{}),(0,r.jsx)(s.A,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}},65425:(e,t,n)=>{n.d(t,{A:()=>U});var s=n(96540),a=n(28453),i=n(5260),l=n(21432),o=n(74848);function r(e){return(0,o.jsx)("code",{...e})}var c=n(28774);var d=n(34164),u=n(63427),m=n(92303),h=n(41422);const x={details:"details_lb9f",isBrowser:"isBrowser_bmU9",collapsibleContent:"collapsibleContent_i85q"};function p(e){return!!e&&("SUMMARY"===e.tagName||p(e.parentElement))}function v(e,t){return!!e&&(e===t||v(e.parentElement,t))}function b(e){let{summary:t,children:n,...a}=e;(0,u.A)().collectAnchor(a.id);const i=(0,m.A)(),l=(0,s.useRef)(null),{collapsed:r,setCollapsed:c}=(0,h.u)({initialState:!a.open}),[b,g]=(0,s.useState)(a.open),f=s.isValidElement(t)?t:(0,o.jsx)("summary",{children:t??"Details"});return(0,o.jsxs)("details",{...a,ref:l,open:b,"data-collapsed":r,className:(0,d.A)(x.details,i&&x.isBrowser,a.className),onMouseDown:e=>{p(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;p(t)&&v(t,l.current)&&(e.preventDefault(),r?(c(!1),g(!0)):c(!0))},children:[f,(0,o.jsx)(h.N,{lazy:!1,collapsed:r,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{c(e),g(!e)},children:(0,o.jsx)("div",{className:x.collapsibleContent,children:n})})]})}const g={details:"details_b_Ee"},f="alert alert--info";function j(e){let{...t}=e;return(0,o.jsx)(b,{...t,className:(0,d.A)(f,g.details,t.className)})}function A(e){const t=s.Children.toArray(e.children),n=t.find((e=>s.isValidElement(e)&&"summary"===e.type)),a=(0,o.jsx)(o.Fragment,{children:t.filter((e=>e!==n))});return(0,o.jsx)(j,{...e,summary:n,children:a})}var N=n(51107);function C(e){return(0,o.jsx)(N.A,{...e})}const L={containsTaskList:"containsTaskList_mC6p"};function _(e){if(void 0!==e)return(0,d.A)(e,e?.includes("contains-task-list")&&L.containsTaskList)}const T={img:"img_ev3q"};var k=n(71608);const y={Head:i.A,details:A,Details:A,code:function(e){return function(e){return void 0!==e.children&&s.Children.toArray(e.children).every((e=>"string"==typeof e&&!e.includes("\n")))}(e)?(0,o.jsx)(r,{...e}):(0,o.jsx)(l.A,{...e})},a:function(e){return(0,o.jsx)(c.A,{...e})},pre:function(e){return(0,o.jsx)(o.Fragment,{children:e.children})},ul:function(e){return(0,o.jsx)("ul",{...e,className:_(e.className)})},li:function(e){return(0,u.A)().collectAnchor(e.id),(0,o.jsx)("li",{...e})},img:function(e){return(0,o.jsx)("img",{decoding:"async",loading:"lazy",...e,className:(t=e.className,(0,d.A)(t,T.img))});var t},h1:e=>(0,o.jsx)(C,{as:"h1",...e}),h2:e=>(0,o.jsx)(C,{as:"h2",...e}),h3:e=>(0,o.jsx)(C,{as:"h3",...e}),h4:e=>(0,o.jsx)(C,{as:"h4",...e}),h5:e=>(0,o.jsx)(C,{as:"h5",...e}),h6:e=>(0,o.jsx)(C,{as:"h6",...e}),admonition:k.A,mermaid:()=>null};function U(e){let{children:t}=e;return(0,o.jsx)(a.x,{components:y,children:t})}},39022:(e,t,n)=>{n.d(t,{A:()=>l});n(96540);var s=n(34164),a=n(28774),i=n(74848);function l(e){const{permalink:t,title:n,subLabel:l,isNext:o}=e;return(0,i.jsxs)(a.A,{className:(0,s.A)("pagination-nav__link",o?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[l&&(0,i.jsx)("div",{className:"pagination-nav__sublabel",children:l}),(0,i.jsx)("div",{className:"pagination-nav__label",children:n})]})}},67763:(e,t,n)=>{n.d(t,{A:()=>c});n(96540);var s=n(34164),a=n(65195);const i={tableOfContents:"tableOfContents_bqdL",docItemContainer:"docItemContainer_F8PC"};var l=n(74848);const o="table-of-contents__link toc-highlight",r="table-of-contents__link--active";function c(e){let{className:t,...n}=e;return(0,l.jsx)("div",{className:(0,s.A)(i.tableOfContents,"thin-scrollbar",t),children:(0,l.jsx)(a.A,{...n,linkClassName:o,linkActiveClassName:r})})}},65195:(e,t,n)=>{n.d(t,{A:()=>p});var s=n(96540),a=n(6342);function i(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const s=n.slice(2,e.level);e.parentIndex=Math.max(...s),n[e.level]=t}));const s=[];return t.forEach((e=>{const{parentIndex:n,...a}=e;n>=0?t[n].children.push(a):s.push(a)})),s}function l(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:s}=e;return t.flatMap((e=>{const t=l({toc:e.children,minHeadingLevel:n,maxHeadingLevel:s});return function(e){return e.level>=n&&e.level<=s}(e)?[{...e,children:t}]:t}))}function o(e){const t=e.getBoundingClientRect();return t.top===t.bottom?o(e.parentNode):t}function r(e,t){let{anchorTopOffset:n}=t;const s=e.find((e=>o(e).top>=n));if(s){return function(e){return e.top>0&&e.bottom<window.innerHeight/2}(o(s))?s:e[e.indexOf(s)-1]??null}return e[e.length-1]??null}function c(){const e=(0,s.useRef)(0),{navbar:{hideOnScroll:t}}=(0,a.p)();return(0,s.useEffect)((()=>{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function d(e){const t=(0,s.useRef)(void 0),n=c();(0,s.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:s,linkActiveClassName:a,minHeadingLevel:i,maxHeadingLevel:l}=e;function o(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(s),o=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const s=[];for(let a=t;a<=n;a+=1)s.push(`h${a}.anchor`);return Array.from(document.querySelectorAll(s.join()))}({minHeadingLevel:i,maxHeadingLevel:l}),c=r(o,{anchorTopOffset:n.current}),d=e.find((e=>c&&c.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(a),e.classList.add(a),t.current=e):e.classList.remove(a)}(e,e===d)}))}return document.addEventListener("scroll",o),document.addEventListener("resize",o),o(),()=>{document.removeEventListener("scroll",o),document.removeEventListener("resize",o)}}),[e,n])}var u=n(28774),m=n(74848);function h(e){let{toc:t,className:n,linkClassName:s,isChild:a}=e;return t.length?(0,m.jsx)("ul",{className:a?void 0:n,children:t.map((e=>(0,m.jsxs)("li",{children:[(0,m.jsx)(u.A,{to:`#${e.id}`,className:s??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,m.jsx)(h,{isChild:!0,toc:e.children,className:n,linkClassName:s})]},e.id)))}):null}const x=s.memo(h);function p(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:o="table-of-contents__link",linkActiveClassName:r,minHeadingLevel:c,maxHeadingLevel:u,...h}=e;const p=(0,a.p)(),v=c??p.tableOfContents.minHeadingLevel,b=u??p.tableOfContents.maxHeadingLevel,g=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return(0,s.useMemo)((()=>l({toc:i(t),minHeadingLevel:n,maxHeadingLevel:a})),[t,n,a])}({toc:t,minHeadingLevel:v,maxHeadingLevel:b});return d((0,s.useMemo)((()=>{if(o&&r)return{linkClassName:o,linkActiveClassName:r,minHeadingLevel:v,maxHeadingLevel:b}}),[o,r,v,b])),(0,m.jsx)(x,{toc:g,className:n,linkClassName:o,...h})}},56133:(e,t,n)=>{n.d(t,{A:()=>o});n(96540);var s=n(34164),a=n(28774);const i={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};var l=n(74848);function o(e){let{permalink:t,label:n,count:o}=e;return(0,l.jsxs)(a.A,{href:t,className:(0,s.A)(i.tag,o?i.tagWithCount:i.tagRegular),children:[n,o&&(0,l.jsx)("span",{children:o})]})}},62053:(e,t,n)=>{n.d(t,{A:()=>r});n(96540);var s=n(34164),a=n(21312),i=n(56133);const l={tags:"tags_jXut",tag:"tag_QGVx"};var o=n(74848);function r(e){let{tags:t}=e;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("b",{children:(0,o.jsx)(a.A,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,o.jsx)("ul",{className:(0,s.A)(l.tags,"padding--none","margin-left--sm"),children:t.map((e=>{let{label:t,permalink:n}=e;return(0,o.jsx)("li",{className:l.tag,children:(0,o.jsx)(i.A,{label:t,permalink:n})},n)}))})]})}},50996:(e,t,n)=>{n.d(t,{A:()=>h});n(96540);var s=n(34164),a=n(21312),i=n(5260),l=n(74848);function o(){return(0,l.jsx)(a.A,{id:"theme.unlistedContent.title",description:"The unlisted content banner title",children:"Unlisted page"})}function r(){return(0,l.jsx)(a.A,{id:"theme.unlistedContent.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function c(){return(0,l.jsx)(i.A,{children:(0,l.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}var d=n(17559),u=n(71608);function m(e){let{className:t}=e;return(0,l.jsx)(u.A,{type:"caution",title:(0,l.jsx)(o,{}),className:(0,s.A)(t,d.G.common.unlistedBanner),children:(0,l.jsx)(r,{})})}function h(e){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(c,{}),(0,l.jsx)(m,{...e})]})}}}]); \ No newline at end of file diff --git a/assets/js/2747918f.6197492d.js b/assets/js/2747918f.6197492d.js deleted file mode 100644 index c8b642523..000000000 --- a/assets/js/2747918f.6197492d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[38993],{46282:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>l,toc:()=>h});var n=o(74848),s=o(28453);const i={title:"Initial setup and first steps",description:"This blog post describes how to set up Eightshift Boilerplate theme, and covers some of the most common issues that may occur",slug:"initial-setup",authors:"obradovic",tags:["eightshift","boilerplate","setup"],hide_table_of_contents:!1},r=void 0,l={permalink:"/blog/initial-setup",source:"@site/blog/2022-01-20-initial-setup.md",title:"Initial setup and first steps",description:"This blog post describes how to set up Eightshift Boilerplate theme, and covers some of the most common issues that may occur",date:"2022-01-20T00:00:00.000Z",formattedDate:"January 20, 2022",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"setup",permalink:"/blog/tags/setup"}],readingTime:2.595,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Initial setup and first steps",description:"This blog post describes how to set up Eightshift Boilerplate theme, and covers some of the most common issues that may occur",slug:"initial-setup",authors:"obradovic",tags:["eightshift","boilerplate","setup"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Components and blocks",permalink:"/blog/components-and-blocks"}},a={authorsImageUrls:[void 0]},h=[{value:"Setup",id:"setup",level:2},{value:"Getting to know Eightshift dev tools",id:"getting-to-know-eightshift-dev-tools",level:2},{value:"What's next in store?",id:"whats-next-in-store",level:2}];function c(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"As is often the case when trying out something new, you might encounter some hiccups. You're trying out our Eightshift Boilerplate, but can't get it to work? Worry not, we'll go through the setup and the most common issues that may occur."}),"\n",(0,n.jsx)(t.admonition,{title:"Last update",type:"info",children:(0,n.jsx)(t.p,{children:"August 23, 2022"})}),"\n",(0,n.jsxs)(t.p,{children:["If you haven't already, be sure to read our official ",(0,n.jsx)(t.a,{href:"/docs/welcome",children:"Eightshift Docs"}),"."]}),"\n",(0,n.jsx)(t.h2,{id:"setup",children:"Setup"}),"\n",(0,n.jsxs)(t.p,{children:["To create Eightshift theme, navigate to ",(0,n.jsx)(t.code,{children:"wp-content/themes"})," in your project and type the following in the terminal:"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-bash",children:"npx create-wp-project\n"})}),"\n",(0,n.jsx)(t.p,{children:"Just follow the instructions and wait for the theme to download."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Setup - initial prompt",src:o(20124).A+"",width:"770",height:"674"})}),"\n",(0,n.jsxs)(t.p,{children:["OK, you went through the process, filled out all required information, but the theme still isn't working. There are a few more instructions in the terminal on what to do next, but you may have skipped them. While the principle ",(0,n.jsx)(t.strong,{children:'"6 hours of debugging can save you 5 minutes of reading documentation"'})," is fun, sometimes it's just not worth it. Here's what you should do:"]}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["run ",(0,n.jsx)(t.code,{children:"wp theme activate your-theme-name"})," to activate your new theme"]}),"\n",(0,n.jsxs)(t.li,{children:["navigate to ",(0,n.jsx)(t.code,{children:"wp-content/themes/your-theme-name"})]}),"\n",(0,n.jsxs)(t.li,{children:["try running ",(0,n.jsx)(t.code,{children:"wp boilerplate --help"})," to check if our WP CLI boilerplate commands work"]}),"\n",(0,n.jsxs)(t.li,{children:["for easiest initial setup, run ",(0,n.jsx)(t.code,{children:"wp boilerplate init theme"})]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"npm start"})," should trigger automatically with the previous command. If it doesn't, you can run it manually to finish the theme build process"]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Setup - instructions",src:o(36985).A+"",width:"1046",height:"352"})}),"\n",(0,n.jsx)(t.p,{children:"Congratulations, you've set up your Eightshift theme!"}),"\n",(0,n.jsx)(t.h2,{id:"getting-to-know-eightshift-dev-tools",children:"Getting to know Eightshift dev tools"}),"\n",(0,n.jsx)(t.p,{children:'After successfully setting up the theme and going through files, you\'ll notice this file structure is quite different from traditional WordPress themes and you may think to yourself: "Oh wow, what did I get myself into?"'}),"\n",(0,n.jsx)(t.p,{children:"While it may look scary and confusing at first, once you get used to the structure, you'll see the benefits. More about that will be covered in future posts, where we'll walk you through some basics of developing with Eightshift Boilerplate."}),"\n",(0,n.jsxs)(t.p,{children:["You may want to try a few of our WP CLI commands to add another component, block, or service class. Running ",(0,n.jsx)(t.code,{children:"wp boilerplate --help"})," will give you a list of commands and their short description. If you need even more details about a specific command, you can type, e.g. ",(0,n.jsx)(t.code,{children:"wp boilerplate create post-type --help"})]}),"\n",(0,n.jsxs)(t.p,{children:["The final tip in this post is related to troubleshooting. Maybe you tried to add a new class or a new feature to one of the existing blocks. And now the site has crashed. In tech support, the number 1 question is ",(0,n.jsx)(t.strong,{children:'"Have you tried turning it off and on again?"'}),". In our case, the number 1 question is:"]}),"\n",(0,n.jsx)(t.admonition,{type:"tip",children:(0,n.jsxs)(t.p,{children:["Have you tried ",(0,n.jsx)(t.code,{children:"composer dump-autoload"})," and re-running ",(0,n.jsx)(t.code,{children:"npm start"}),"?"]})}),"\n",(0,n.jsx)(t.h2,{id:"whats-next-in-store",children:"What's next in store?"}),"\n",(0,n.jsx)(t.p,{children:"That's all for this post. In future posts we'll go through some more how-to examples like:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"the difference between components and blocks"}),"\n",(0,n.jsx)(t.li,{children:"downloading components and blocks from our Storybook with WP-CLI"}),"\n",(0,n.jsx)(t.li,{children:"adding new features to components and blocks"}),"\n",(0,n.jsx)(t.li,{children:"adding custom fonts to your project"}),"\n",(0,n.jsx)(t.li,{children:"adding custom queries which we'll use in one of our blocks"}),"\n",(0,n.jsx)(t.li,{children:"and many more..."}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:"So stay tuned."})]})}function d(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},20124:(e,t,o)=>{o.d(t,{A:()=>n});const n=o.p+"assets/images/setup-1-ec493b6656446eff46afec93938c9c13.webp"},36985:(e,t,o)=>{o.d(t,{A:()=>n});const n=o.p+"assets/images/setup-2-b4b504dcdd78f667a70c63579d5dec6f.webp"},28453:(e,t,o)=>{o.d(t,{R:()=>r,x:()=>l});var n=o(96540);const s={},i=n.createContext(s);function r(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2747918f.6bb1573b.js b/assets/js/2747918f.6bb1573b.js new file mode 100644 index 000000000..6dbf6c938 --- /dev/null +++ b/assets/js/2747918f.6bb1573b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[38993],{46282:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>l,toc:()=>h});var n=o(74848),s=o(28453);const i={title:"Initial setup and first steps",description:"This blog post describes how to set up Eightshift Boilerplate theme, and covers some of the most common issues that may occur",slug:"initial-setup",authors:"obradovic",tags:["eightshift","boilerplate","setup"],hide_table_of_contents:!1},r=void 0,l={permalink:"/blog/initial-setup",source:"@site/blog/2022-01-20-initial-setup.md",title:"Initial setup and first steps",description:"This blog post describes how to set up Eightshift Boilerplate theme, and covers some of the most common issues that may occur",date:"2022-01-20T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"setup",permalink:"/blog/tags/setup"}],readingTime:2.595,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Initial setup and first steps",description:"This blog post describes how to set up Eightshift Boilerplate theme, and covers some of the most common issues that may occur",slug:"initial-setup",authors:"obradovic",tags:["eightshift","boilerplate","setup"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Components and blocks",permalink:"/blog/components-and-blocks"}},a={authorsImageUrls:[void 0]},h=[{value:"Setup",id:"setup",level:2},{value:"Getting to know Eightshift dev tools",id:"getting-to-know-eightshift-dev-tools",level:2},{value:"What's next in store?",id:"whats-next-in-store",level:2}];function c(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"As is often the case when trying out something new, you might encounter some hiccups. You're trying out our Eightshift Boilerplate, but can't get it to work? Worry not, we'll go through the setup and the most common issues that may occur."}),"\n",(0,n.jsx)(t.admonition,{title:"Last update",type:"info",children:(0,n.jsx)(t.p,{children:"August 23, 2022"})}),"\n",(0,n.jsxs)(t.p,{children:["If you haven't already, be sure to read our official ",(0,n.jsx)(t.a,{href:"/docs/welcome",children:"Eightshift Docs"}),"."]}),"\n",(0,n.jsx)(t.h2,{id:"setup",children:"Setup"}),"\n",(0,n.jsxs)(t.p,{children:["To create Eightshift theme, navigate to ",(0,n.jsx)(t.code,{children:"wp-content/themes"})," in your project and type the following in the terminal:"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-bash",children:"npx create-wp-project\n"})}),"\n",(0,n.jsx)(t.p,{children:"Just follow the instructions and wait for the theme to download."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Setup - initial prompt",src:o(20124).A+"",width:"770",height:"674"})}),"\n",(0,n.jsxs)(t.p,{children:["OK, you went through the process, filled out all required information, but the theme still isn't working. There are a few more instructions in the terminal on what to do next, but you may have skipped them. While the principle ",(0,n.jsx)(t.strong,{children:'"6 hours of debugging can save you 5 minutes of reading documentation"'})," is fun, sometimes it's just not worth it. Here's what you should do:"]}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["run ",(0,n.jsx)(t.code,{children:"wp theme activate your-theme-name"})," to activate your new theme"]}),"\n",(0,n.jsxs)(t.li,{children:["navigate to ",(0,n.jsx)(t.code,{children:"wp-content/themes/your-theme-name"})]}),"\n",(0,n.jsxs)(t.li,{children:["try running ",(0,n.jsx)(t.code,{children:"wp boilerplate --help"})," to check if our WP CLI boilerplate commands work"]}),"\n",(0,n.jsxs)(t.li,{children:["for easiest initial setup, run ",(0,n.jsx)(t.code,{children:"wp boilerplate init theme"})]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"npm start"})," should trigger automatically with the previous command. If it doesn't, you can run it manually to finish the theme build process"]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Setup - instructions",src:o(36985).A+"",width:"1046",height:"352"})}),"\n",(0,n.jsx)(t.p,{children:"Congratulations, you've set up your Eightshift theme!"}),"\n",(0,n.jsx)(t.h2,{id:"getting-to-know-eightshift-dev-tools",children:"Getting to know Eightshift dev tools"}),"\n",(0,n.jsx)(t.p,{children:'After successfully setting up the theme and going through files, you\'ll notice this file structure is quite different from traditional WordPress themes and you may think to yourself: "Oh wow, what did I get myself into?"'}),"\n",(0,n.jsx)(t.p,{children:"While it may look scary and confusing at first, once you get used to the structure, you'll see the benefits. More about that will be covered in future posts, where we'll walk you through some basics of developing with Eightshift Boilerplate."}),"\n",(0,n.jsxs)(t.p,{children:["You may want to try a few of our WP CLI commands to add another component, block, or service class. Running ",(0,n.jsx)(t.code,{children:"wp boilerplate --help"})," will give you a list of commands and their short description. If you need even more details about a specific command, you can type, e.g. ",(0,n.jsx)(t.code,{children:"wp boilerplate create post-type --help"})]}),"\n",(0,n.jsxs)(t.p,{children:["The final tip in this post is related to troubleshooting. Maybe you tried to add a new class or a new feature to one of the existing blocks. And now the site has crashed. In tech support, the number 1 question is ",(0,n.jsx)(t.strong,{children:'"Have you tried turning it off and on again?"'}),". In our case, the number 1 question is:"]}),"\n",(0,n.jsx)(t.admonition,{type:"tip",children:(0,n.jsxs)(t.p,{children:["Have you tried ",(0,n.jsx)(t.code,{children:"composer dump-autoload"})," and re-running ",(0,n.jsx)(t.code,{children:"npm start"}),"?"]})}),"\n",(0,n.jsx)(t.h2,{id:"whats-next-in-store",children:"What's next in store?"}),"\n",(0,n.jsx)(t.p,{children:"That's all for this post. In future posts we'll go through some more how-to examples like:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"the difference between components and blocks"}),"\n",(0,n.jsx)(t.li,{children:"downloading components and blocks from our Storybook with WP-CLI"}),"\n",(0,n.jsx)(t.li,{children:"adding new features to components and blocks"}),"\n",(0,n.jsx)(t.li,{children:"adding custom fonts to your project"}),"\n",(0,n.jsx)(t.li,{children:"adding custom queries which we'll use in one of our blocks"}),"\n",(0,n.jsx)(t.li,{children:"and many more..."}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:"So stay tuned."})]})}function d(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},20124:(e,t,o)=>{o.d(t,{A:()=>n});const n=o.p+"assets/images/setup-1-ec493b6656446eff46afec93938c9c13.webp"},36985:(e,t,o)=>{o.d(t,{A:()=>n});const n=o.p+"assets/images/setup-2-b4b504dcdd78f667a70c63579d5dec6f.webp"},28453:(e,t,o)=>{o.d(t,{R:()=>r,x:()=>l});var n=o(96540);const s={},i=n.createContext(s);function r(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/28747.8d3274b5.js b/assets/js/28747.8d3274b5.js deleted file mode 100644 index fd9bd63bd..000000000 --- a/assets/js/28747.8d3274b5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[28747],{26535:(e,t,s)=>{s.d(t,{A:()=>b});var n=s(96540),a=s(34164),r=s(49641),i=s(24581),l=s(28774),o=s(21312),c=s(56347),m=s(99169);function d(e){const{pathname:t}=(0,c.zy)();return(0,n.useMemo)((()=>e.filter((e=>function(e,t){return!(e.unlisted&&!(0,m.ys)(e.permalink,t))}(e,t)))),[e,t])}const u={sidebar:"sidebar_re4s",sidebarItemTitle:"sidebarItemTitle_pO2u",sidebarItemList:"sidebarItemList_Yudw",sidebarItem:"sidebarItem__DBe",sidebarItemLink:"sidebarItemLink_mo7H",sidebarItemLinkActive:"sidebarItemLinkActive_I1ZP"};var h=s(74848);function g(e){let{sidebar:t}=e;const s=d(t.items);return(0,h.jsx)("aside",{className:"col col--3",children:(0,h.jsxs)("nav",{className:(0,a.A)(u.sidebar,"thin-scrollbar"),"aria-label":(0,o.T)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,h.jsx)("div",{className:(0,a.A)(u.sidebarItemTitle,"margin-bottom--md"),children:t.title}),(0,h.jsx)("ul",{className:(0,a.A)(u.sidebarItemList,"clean-list"),children:s.map((e=>(0,h.jsx)("li",{className:u.sidebarItem,children:(0,h.jsx)(l.A,{isNavLink:!0,to:e.permalink,className:u.sidebarItemLink,activeClassName:u.sidebarItemLinkActive,children:e.title})},e.permalink)))})]})})}var p=s(75600);function x(e){let{sidebar:t}=e;const s=d(t.items);return(0,h.jsx)("ul",{className:"menu__list",children:s.map((e=>(0,h.jsx)("li",{className:"menu__list-item",children:(0,h.jsx)(l.A,{isNavLink:!0,to:e.permalink,className:"menu__link",activeClassName:"menu__link--active",children:e.title})},e.permalink)))})}function j(e){return(0,h.jsx)(p.GX,{component:x,props:e})}function f(e){let{sidebar:t}=e;const s=(0,i.l)();return t?.items.length?"mobile"===s?(0,h.jsx)(j,{sidebar:t}):(0,h.jsx)(g,{sidebar:t}):null}function b(e){const{sidebar:t,toc:s,children:n,...i}=e,l=t&&t.items.length>0;return(0,h.jsx)(r.A,{...i,children:(0,h.jsx)("div",{className:"container margin-vert--lg",children:(0,h.jsxs)("div",{className:"row",children:[(0,h.jsx)(f,{sidebar:t}),(0,h.jsx)("main",{className:(0,a.A)("col",{"col--7":l,"col--9 col--offset-1":!l}),itemScope:!0,itemType:"https://schema.org/Blog",children:n}),s&&(0,h.jsx)("div",{className:"col col--2",children:s})]})})})}},48258:(e,t,s)=>{s.d(t,{A:()=>I});s(96540);var n=s(34164),a=s(7131),r=s(86025),i=s(74848);function l(e){let{children:t,className:s}=e;const{frontMatter:n,assets:l,metadata:{description:o}}=(0,a.e)(),{withBaseUrl:c}=(0,r.h)(),m=l.image??n.image,d=n.keywords??[];return(0,i.jsxs)("article",{className:s,itemProp:"blogPost",itemScope:!0,itemType:"https://schema.org/BlogPosting",children:[o&&(0,i.jsx)("meta",{itemProp:"description",content:o}),m&&(0,i.jsx)("link",{itemProp:"image",href:c(m,{absolute:!0})}),d.length>0&&(0,i.jsx)("meta",{itemProp:"keywords",content:d.join(",")}),t]})}var o=s(28774);const c={title:"title_f1Hy"};function m(e){let{className:t}=e;const{metadata:s,isBlogPostPage:r}=(0,a.e)(),{permalink:l,title:m}=s,d=r?"h1":"h2";return(0,i.jsx)(d,{className:(0,n.A)(c.title,t),itemProp:"headline",children:r?m:(0,i.jsx)(o.A,{itemProp:"url",to:l,children:m})})}var d=s(21312),u=s(53465);const h={container:"container_mt6G"};function g(e){let{readingTime:t}=e;const s=function(){const{selectMessage:e}=(0,u.W)();return t=>{const s=Math.ceil(t);return e(s,(0,d.T)({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:s}))}}();return(0,i.jsx)(i.Fragment,{children:s(t)})}function p(e){let{date:t,formattedDate:s}=e;return(0,i.jsx)("time",{dateTime:t,itemProp:"datePublished",children:s})}function x(){return(0,i.jsx)(i.Fragment,{children:" \xb7 "})}function j(e){let{className:t}=e;const{metadata:s}=(0,a.e)(),{date:r,formattedDate:l,readingTime:o}=s;return(0,i.jsxs)("div",{className:(0,n.A)(h.container,"margin-vert--md",t),children:[(0,i.jsx)(p,{date:r,formattedDate:l}),void 0!==o&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(x,{}),(0,i.jsx)(g,{readingTime:o})]})]})}function f(e){return e.href?(0,i.jsx)(o.A,{...e}):(0,i.jsx)(i.Fragment,{children:e.children})}function b(e){let{author:t,className:s}=e;const{name:a,title:r,url:l,imageURL:o,email:c}=t,m=l||c&&`mailto:${c}`||void 0;return(0,i.jsxs)("div",{className:(0,n.A)("avatar margin-bottom--sm",s),children:[o&&(0,i.jsx)(f,{href:m,className:"avatar__photo-link",children:(0,i.jsx)("img",{className:"avatar__photo",src:o,alt:a,itemProp:"image"})}),a&&(0,i.jsxs)("div",{className:"avatar__intro",itemProp:"author",itemScope:!0,itemType:"https://schema.org/Person",children:[(0,i.jsx)("div",{className:"avatar__name",children:(0,i.jsx)(f,{href:m,itemProp:"url",children:(0,i.jsx)("span",{itemProp:"name",children:a})})}),r&&(0,i.jsx)("small",{className:"avatar__subtitle",itemProp:"description",children:r})]})]})}const v={authorCol:"authorCol_Hf19",imageOnlyAuthorRow:"imageOnlyAuthorRow_pa_O",imageOnlyAuthorCol:"imageOnlyAuthorCol_G86a"};function A(e){let{className:t}=e;const{metadata:{authors:s},assets:r}=(0,a.e)();if(0===s.length)return null;const l=s.every((e=>{let{name:t}=e;return!t}));return(0,i.jsx)("div",{className:(0,n.A)("margin-top--md margin-bottom--sm",l?v.imageOnlyAuthorRow:"row",t),children:s.map(((e,t)=>(0,i.jsx)("div",{className:(0,n.A)(!l&&"col col--6",l?v.imageOnlyAuthorCol:v.authorCol),children:(0,i.jsx)(b,{author:{...e,imageURL:r.authorsImageUrls[t]??e.imageURL}})},t)))})}function N(){return(0,i.jsxs)("header",{children:[(0,i.jsx)(m,{}),(0,i.jsx)(j,{}),(0,i.jsx)(A,{})]})}var _=s(70440),P=s(65425);function k(e){let{children:t,className:s}=e;const{isBlogPostPage:r}=(0,a.e)();return(0,i.jsx)("div",{id:r?_.blogPostContainerID:void 0,className:(0,n.A)("markdown",s),itemProp:"articleBody",children:(0,i.jsx)(P.A,{children:t})})}var y=s(61943),T=s(62053);function w(){return(0,i.jsx)("b",{children:(0,i.jsx)(d.A,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read More"})})}function C(e){const{blogPostTitle:t,...s}=e;return(0,i.jsx)(o.A,{"aria-label":(0,d.T)({message:"Read more about {title}",id:"theme.blog.post.readMoreLabel",description:"The ARIA label for the link to full blog posts from excerpts"},{title:t}),...s,children:(0,i.jsx)(w,{})})}const L={blogPostFooterDetailsFull:"blogPostFooterDetailsFull_mRVl"};function F(){const{metadata:e,isBlogPostPage:t}=(0,a.e)(),{tags:s,title:r,editUrl:l,hasTruncateMarker:o}=e,c=!t&&o,m=s.length>0;return m||c||l?(0,i.jsxs)("footer",{className:(0,n.A)("row docusaurus-mt-lg",t&&L.blogPostFooterDetailsFull),children:[m&&(0,i.jsx)("div",{className:(0,n.A)("col",{"col--9":c}),children:(0,i.jsx)(T.A,{tags:s})}),t&&l&&(0,i.jsx)("div",{className:"col margin-top--sm",children:(0,i.jsx)(y.A,{editUrl:l})}),c&&(0,i.jsx)("div",{className:(0,n.A)("col text--right",{"col--3":m}),children:(0,i.jsx)(C,{blogPostTitle:r,to:e.permalink})})]}):null}function I(e){let{children:t,className:s}=e;const r=function(){const{isBlogPostPage:e}=(0,a.e)();return e?void 0:"margin-bottom--xl"}();return(0,i.jsxs)(l,{className:(0,n.A)(r,s),children:[(0,i.jsx)(N,{}),(0,i.jsx)(k,{children:t}),(0,i.jsx)(F,{})]})}},61943:(e,t,s)=>{s.d(t,{A:()=>m});s(96540);var n=s(21312),a=s(17559),r=s(28774),i=s(34164);const l={iconEdit:"iconEdit_Z9Sw"};var o=s(74848);function c(e){let{className:t,...s}=e;return(0,o.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,i.A)(l.iconEdit,t),"aria-hidden":"true",...s,children:(0,o.jsx)("g",{children:(0,o.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function m(e){let{editUrl:t}=e;return(0,o.jsxs)(r.A,{to:t,className:a.G.common.editThisPage,children:[(0,o.jsx)(c,{}),(0,o.jsx)(n.A,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}},65425:(e,t,s)=>{s.d(t,{A:()=>C});var n=s(96540),a=s(28453),r=s(5260),i=s(21432),l=s(74848);function o(e){return(0,l.jsx)("code",{...e})}var c=s(28774);var m=s(34164),d=s(63427),u=s(92303),h=s(41422);const g={details:"details_lb9f",isBrowser:"isBrowser_bmU9",collapsibleContent:"collapsibleContent_i85q"};function p(e){return!!e&&("SUMMARY"===e.tagName||p(e.parentElement))}function x(e,t){return!!e&&(e===t||x(e.parentElement,t))}function j(e){let{summary:t,children:s,...a}=e;(0,d.A)().collectAnchor(a.id);const r=(0,u.A)(),i=(0,n.useRef)(null),{collapsed:o,setCollapsed:c}=(0,h.u)({initialState:!a.open}),[j,f]=(0,n.useState)(a.open),b=n.isValidElement(t)?t:(0,l.jsx)("summary",{children:t??"Details"});return(0,l.jsxs)("details",{...a,ref:i,open:j,"data-collapsed":o,className:(0,m.A)(g.details,r&&g.isBrowser,a.className),onMouseDown:e=>{p(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;p(t)&&x(t,i.current)&&(e.preventDefault(),o?(c(!1),f(!0)):c(!0))},children:[b,(0,l.jsx)(h.N,{lazy:!1,collapsed:o,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{c(e),f(!e)},children:(0,l.jsx)("div",{className:g.collapsibleContent,children:s})})]})}const f={details:"details_b_Ee"},b="alert alert--info";function v(e){let{...t}=e;return(0,l.jsx)(j,{...t,className:(0,m.A)(b,f.details,t.className)})}function A(e){const t=n.Children.toArray(e.children),s=t.find((e=>n.isValidElement(e)&&"summary"===e.type)),a=(0,l.jsx)(l.Fragment,{children:t.filter((e=>e!==s))});return(0,l.jsx)(v,{...e,summary:s,children:a})}var N=s(51107);function _(e){return(0,l.jsx)(N.A,{...e})}const P={containsTaskList:"containsTaskList_mC6p"};function k(e){if(void 0!==e)return(0,m.A)(e,e?.includes("contains-task-list")&&P.containsTaskList)}const y={img:"img_ev3q"};var T=s(71608);const w={Head:r.A,details:A,Details:A,code:function(e){return function(e){return void 0!==e.children&&n.Children.toArray(e.children).every((e=>"string"==typeof e&&!e.includes("\n")))}(e)?(0,l.jsx)(o,{...e}):(0,l.jsx)(i.A,{...e})},a:function(e){return(0,l.jsx)(c.A,{...e})},pre:function(e){return(0,l.jsx)(l.Fragment,{children:e.children})},ul:function(e){return(0,l.jsx)("ul",{...e,className:k(e.className)})},li:function(e){return(0,d.A)().collectAnchor(e.id),(0,l.jsx)("li",{...e})},img:function(e){return(0,l.jsx)("img",{decoding:"async",loading:"lazy",...e,className:(t=e.className,(0,m.A)(t,y.img))});var t},h1:e=>(0,l.jsx)(_,{as:"h1",...e}),h2:e=>(0,l.jsx)(_,{as:"h2",...e}),h3:e=>(0,l.jsx)(_,{as:"h3",...e}),h4:e=>(0,l.jsx)(_,{as:"h4",...e}),h5:e=>(0,l.jsx)(_,{as:"h5",...e}),h6:e=>(0,l.jsx)(_,{as:"h6",...e}),admonition:T.A,mermaid:()=>null};function C(e){let{children:t}=e;return(0,l.jsx)(a.x,{components:w,children:t})}},39022:(e,t,s)=>{s.d(t,{A:()=>i});s(96540);var n=s(34164),a=s(28774),r=s(74848);function i(e){const{permalink:t,title:s,subLabel:i,isNext:l}=e;return(0,r.jsxs)(a.A,{className:(0,n.A)("pagination-nav__link",l?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[i&&(0,r.jsx)("div",{className:"pagination-nav__sublabel",children:i}),(0,r.jsx)("div",{className:"pagination-nav__label",children:s})]})}},56133:(e,t,s)=>{s.d(t,{A:()=>l});s(96540);var n=s(34164),a=s(28774);const r={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};var i=s(74848);function l(e){let{permalink:t,label:s,count:l}=e;return(0,i.jsxs)(a.A,{href:t,className:(0,n.A)(r.tag,l?r.tagWithCount:r.tagRegular),children:[s,l&&(0,i.jsx)("span",{children:l})]})}},62053:(e,t,s)=>{s.d(t,{A:()=>o});s(96540);var n=s(34164),a=s(21312),r=s(56133);const i={tags:"tags_jXut",tag:"tag_QGVx"};var l=s(74848);function o(e){let{tags:t}=e;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("b",{children:(0,l.jsx)(a.A,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,l.jsx)("ul",{className:(0,n.A)(i.tags,"padding--none","margin-left--sm"),children:t.map((e=>{let{label:t,permalink:s}=e;return(0,l.jsx)("li",{className:i.tag,children:(0,l.jsx)(r.A,{label:t,permalink:s})},s)}))})]})}},7131:(e,t,s)=>{s.d(t,{e:()=>o,i:()=>l});var n=s(96540),a=s(89532),r=s(74848);const i=n.createContext(null);function l(e){let{children:t,content:s,isBlogPostPage:a=!1}=e;const l=function(e){let{content:t,isBlogPostPage:s}=e;return(0,n.useMemo)((()=>({metadata:t.metadata,frontMatter:t.frontMatter,assets:t.assets,toc:t.toc,isBlogPostPage:s})),[t,s])}({content:s,isBlogPostPage:a});return(0,r.jsx)(i.Provider,{value:l,children:t})}function o(){const e=(0,n.useContext)(i);if(null===e)throw new a.dV("BlogPostProvider");return e}},53465:(e,t,s)=>{s.d(t,{W:()=>c});var n=s(96540),a=s(44586);const r=["zero","one","two","few","many","other"];function i(e){return r.filter((t=>e.includes(t)))}const l={locale:"en",pluralForms:i(["one","other"]),select:e=>1===e?"one":"other"};function o(){const{i18n:{currentLocale:e}}=(0,a.A)();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 c(){const e=o();return{selectMessage:(t,s)=>function(e,t,s){const n=e.split("|");if(1===n.length)return n[0];n.length>s.pluralForms.length&&console.error(`For locale=${s.locale}, a maximum of ${s.pluralForms.length} plural forms are expected (${s.pluralForms.join(",")}), but the message contains ${n.length}: ${e}`);const a=s.select(t),r=s.pluralForms.indexOf(a);return n[Math.min(r,n.length-1)]}(s,t,e)}}}}]); \ No newline at end of file diff --git a/assets/js/29c85621.152d993b.js b/assets/js/29c85621.152d993b.js deleted file mode 100644 index d23e79bc7..000000000 --- a/assets/js/29c85621.152d993b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[71567],{52194:s=>{s.exports=JSON.parse('{"label":"classes","permalink":"/blog/tags/classes","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/30e34e97.14443240.js b/assets/js/30e34e97.14443240.js deleted file mode 100644 index a54a6327c..000000000 --- a/assets/js/30e34e97.14443240.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[27991],{88453:s=>{s.exports=JSON.parse('{"label":"theme options","permalink":"/blog/tags/theme-options","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/31d6ca5c.fc30bf09.js b/assets/js/31d6ca5c.fc30bf09.js deleted file mode 100644 index 1f1c0cf41..000000000 --- a/assets/js/31d6ca5c.fc30bf09.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[23737],{17651:s=>{s.exports=JSON.parse('{"label":"fonts","permalink":"/blog/tags/fonts","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/32030e6f.7b0a5eb1.js b/assets/js/32030e6f.7b0a5eb1.js deleted file mode 100644 index 97194cea3..000000000 --- a/assets/js/32030e6f.7b0a5eb1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[4866],{78945:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/wpcli","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/3242.cd3f1d89.js b/assets/js/3242.cd3f1d89.js new file mode 100644 index 000000000..84060424e --- /dev/null +++ b/assets/js/3242.cd3f1d89.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[3242],{26535:(e,t,a)=>{a.d(t,{A:()=>b});var s=a(96540),n=a(34164),l=a(49641),r=a(24581),i=a(28774),o=a(21312),c=a(56347),d=a(99169);function m(e){const{pathname:t}=(0,c.zy)();return(0,s.useMemo)((()=>e.filter((e=>function(e,t){return!(e.unlisted&&!(0,d.ys)(e.permalink,t))}(e,t)))),[e,t])}const u={sidebar:"sidebar_re4s",sidebarItemTitle:"sidebarItemTitle_pO2u",sidebarItemList:"sidebarItemList_Yudw",sidebarItem:"sidebarItem__DBe",sidebarItemLink:"sidebarItemLink_mo7H",sidebarItemLinkActive:"sidebarItemLinkActive_I1ZP"};var h=a(74848);function g(e){let{sidebar:t}=e;const a=m(t.items);return(0,h.jsx)("aside",{className:"col col--3",children:(0,h.jsxs)("nav",{className:(0,n.A)(u.sidebar,"thin-scrollbar"),"aria-label":(0,o.T)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,h.jsx)("div",{className:(0,n.A)(u.sidebarItemTitle,"margin-bottom--md"),children:t.title}),(0,h.jsx)("ul",{className:(0,n.A)(u.sidebarItemList,"clean-list"),children:a.map((e=>(0,h.jsx)("li",{className:u.sidebarItem,children:(0,h.jsx)(i.A,{isNavLink:!0,to:e.permalink,className:u.sidebarItemLink,activeClassName:u.sidebarItemLinkActive,children:e.title})},e.permalink)))})]})})}var x=a(75600);function p(e){let{sidebar:t}=e;const a=m(t.items);return(0,h.jsx)("ul",{className:"menu__list",children:a.map((e=>(0,h.jsx)("li",{className:"menu__list-item",children:(0,h.jsx)(i.A,{isNavLink:!0,to:e.permalink,className:"menu__link",activeClassName:"menu__link--active",children:e.title})},e.permalink)))})}function j(e){return(0,h.jsx)(x.GX,{component:p,props:e})}function f(e){let{sidebar:t}=e;const a=(0,r.l)();return t?.items.length?"mobile"===a?(0,h.jsx)(j,{sidebar:t}):(0,h.jsx)(g,{sidebar:t}):null}function b(e){const{sidebar:t,toc:a,children:s,...r}=e,i=t&&t.items.length>0;return(0,h.jsx)(l.A,{...r,children:(0,h.jsx)("div",{className:"container margin-vert--lg",children:(0,h.jsxs)("div",{className:"row",children:[(0,h.jsx)(f,{sidebar:t}),(0,h.jsx)("main",{className:(0,n.A)("col",{"col--7":i,"col--9 col--offset-1":!i}),children:s}),a&&(0,h.jsx)("div",{className:"col col--2",children:a})]})})})}},24651:(e,t,a)=>{a.d(t,{A:()=>I});a(96540);var s=a(34164),n=a(7131),l=a(74848);function r(e){let{children:t,className:a}=e;return(0,l.jsx)("article",{className:a,children:t})}var i=a(28774);const o={title:"title_f1Hy"};function c(e){let{className:t}=e;const{metadata:a,isBlogPostPage:r}=(0,n.e)(),{permalink:c,title:d}=a,m=r?"h1":"h2";return(0,l.jsx)(m,{className:(0,s.A)(o.title,t),children:r?d:(0,l.jsx)(i.A,{to:c,children:d})})}var d=a(21312),m=a(53465),u=a(36266);const h={container:"container_mt6G"};function g(e){let{readingTime:t}=e;const a=function(){const{selectMessage:e}=(0,m.W)();return t=>{const a=Math.ceil(t);return e(a,(0,d.T)({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:a}))}}();return(0,l.jsx)(l.Fragment,{children:a(t)})}function x(e){let{date:t,formattedDate:a}=e;return(0,l.jsx)("time",{dateTime:t,children:a})}function p(){return(0,l.jsx)(l.Fragment,{children:" \xb7 "})}function j(e){let{className:t}=e;const{metadata:a}=(0,n.e)(),{date:r,readingTime:i}=a,o=(0,u.i)({day:"numeric",month:"long",year:"numeric",timeZone:"UTC"});return(0,l.jsxs)("div",{className:(0,s.A)(h.container,"margin-vert--md",t),children:[(0,l.jsx)(x,{date:r,formattedDate:(c=r,o.format(new Date(c)))}),void 0!==i&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(p,{}),(0,l.jsx)(g,{readingTime:i})]})]});var c}function f(e){return e.href?(0,l.jsx)(i.A,{...e}):(0,l.jsx)(l.Fragment,{children:e.children})}function b(e){let{author:t,className:a}=e;const{name:n,title:r,url:i,imageURL:o,email:c}=t,d=i||c&&`mailto:${c}`||void 0;return(0,l.jsxs)("div",{className:(0,s.A)("avatar margin-bottom--sm",a),children:[o&&(0,l.jsx)(f,{href:d,className:"avatar__photo-link",children:(0,l.jsx)("img",{className:"avatar__photo",src:o,alt:n})}),n&&(0,l.jsxs)("div",{className:"avatar__intro",children:[(0,l.jsx)("div",{className:"avatar__name",children:(0,l.jsx)(f,{href:d,children:(0,l.jsx)("span",{children:n})})}),r&&(0,l.jsx)("small",{className:"avatar__subtitle",children:r})]})]})}const v={authorCol:"authorCol_Hf19",imageOnlyAuthorRow:"imageOnlyAuthorRow_pa_O",imageOnlyAuthorCol:"imageOnlyAuthorCol_G86a"};function A(e){let{className:t}=e;const{metadata:{authors:a},assets:r}=(0,n.e)();if(0===a.length)return null;const i=a.every((e=>{let{name:t}=e;return!t}));return(0,l.jsx)("div",{className:(0,s.A)("margin-top--md margin-bottom--sm",i?v.imageOnlyAuthorRow:"row",t),children:a.map(((e,t)=>(0,l.jsx)("div",{className:(0,s.A)(!i&&"col col--6",i?v.imageOnlyAuthorCol:v.authorCol),children:(0,l.jsx)(b,{author:{...e,imageURL:r.authorsImageUrls[t]??e.imageURL}})},t)))})}function N(){return(0,l.jsxs)("header",{children:[(0,l.jsx)(c,{}),(0,l.jsx)(j,{}),(0,l.jsx)(A,{})]})}var _=a(70440),y=a(65425);function k(e){let{children:t,className:a}=e;const{isBlogPostPage:r}=(0,n.e)();return(0,l.jsx)("div",{id:r?_.blogPostContainerID:void 0,className:(0,s.A)("markdown",a),children:(0,l.jsx)(y.A,{children:t})})}var w=a(17559),U=a(4336),T=a(62053);function C(){return(0,l.jsx)("b",{children:(0,l.jsx)(d.A,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read More"})})}function P(e){const{blogPostTitle:t,...a}=e;return(0,l.jsx)(i.A,{"aria-label":(0,d.T)({message:"Read more about {title}",id:"theme.blog.post.readMoreLabel",description:"The ARIA label for the link to full blog posts from excerpts"},{title:t}),...a,children:(0,l.jsx)(C,{})})}function L(){const{metadata:e,isBlogPostPage:t}=(0,n.e)(),{tags:a,title:r,editUrl:i,hasTruncateMarker:o,lastUpdatedBy:c,lastUpdatedAt:d}=e,m=!t&&o,u=a.length>0;if(!(u||m||i))return null;if(t){const e=!!(i||d||c);return(0,l.jsxs)("footer",{className:"docusaurus-mt-lg",children:[u&&(0,l.jsx)("div",{className:(0,s.A)("row","margin-top--sm",w.G.blog.blogFooterEditMetaRow),children:(0,l.jsx)("div",{className:"col",children:(0,l.jsx)(T.A,{tags:a})})}),e&&(0,l.jsx)(U.A,{className:(0,s.A)("margin-top--sm",w.G.blog.blogFooterEditMetaRow),editUrl:i,lastUpdatedAt:d,lastUpdatedBy:c})]})}return(0,l.jsxs)("footer",{className:"row docusaurus-mt-lg",children:[u&&(0,l.jsx)("div",{className:(0,s.A)("col",{"col--9":m}),children:(0,l.jsx)(T.A,{tags:a})}),m&&(0,l.jsx)("div",{className:(0,s.A)("col text--right",{"col--3":u}),children:(0,l.jsx)(P,{blogPostTitle:r,to:e.permalink})})]})}function I(e){let{children:t,className:a}=e;const i=function(){const{isBlogPostPage:e}=(0,n.e)();return e?void 0:"margin-bottom--xl"}();return(0,l.jsxs)(r,{className:(0,s.A)(i,a),children:[(0,l.jsx)(N,{}),(0,l.jsx)(k,{children:t}),(0,l.jsx)(L,{})]})}},4336:(e,t,a)=>{a.d(t,{A:()=>p});a(96540);var s=a(34164),n=a(21312),l=a(17559),r=a(28774);const i={iconEdit:"iconEdit_Z9Sw"};var o=a(74848);function c(e){let{className:t,...a}=e;return(0,o.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,s.A)(i.iconEdit,t),"aria-hidden":"true",...a,children:(0,o.jsx)("g",{children:(0,o.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function d(e){let{editUrl:t}=e;return(0,o.jsxs)(r.A,{to:t,className:l.G.common.editThisPage,children:[(0,o.jsx)(c,{}),(0,o.jsx)(n.A,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}var m=a(36266);function u(e){let{lastUpdatedAt:t}=e;const a=new Date(t),s=(0,m.i)({day:"numeric",month:"short",year:"numeric",timeZone:"UTC"}).format(a);return(0,o.jsx)(n.A,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,o.jsx)("b",{children:(0,o.jsx)("time",{dateTime:a.toISOString(),itemProp:"dateModified",children:s})})},children:" on {date}"})}function h(e){let{lastUpdatedBy:t}=e;return(0,o.jsx)(n.A,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,o.jsx)("b",{children:t})},children:" by {user}"})}function g(e){let{lastUpdatedAt:t,lastUpdatedBy:a}=e;return(0,o.jsxs)("span",{className:l.G.common.lastUpdated,children:[(0,o.jsx)(n.A,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t?(0,o.jsx)(u,{lastUpdatedAt:t}):"",byUser:a?(0,o.jsx)(h,{lastUpdatedBy:a}):""},children:"Last updated{atDate}{byUser}"}),!1]})}const x={lastUpdated:"lastUpdated_JAkA"};function p(e){let{className:t,editUrl:a,lastUpdatedAt:n,lastUpdatedBy:l}=e;return(0,o.jsxs)("div",{className:(0,s.A)("row",t),children:[(0,o.jsx)("div",{className:"col",children:a&&(0,o.jsx)(d,{editUrl:a})}),(0,o.jsx)("div",{className:(0,s.A)("col",x.lastUpdated),children:(n||l)&&(0,o.jsx)(g,{lastUpdatedAt:n,lastUpdatedBy:l})})]})}},65425:(e,t,a)=>{a.d(t,{A:()=>C});var s=a(96540),n=a(28453),l=a(5260),r=a(21432),i=a(74848);function o(e){return(0,i.jsx)("code",{...e})}var c=a(28774);var d=a(34164),m=a(63427),u=a(92303),h=a(41422);const g={details:"details_lb9f",isBrowser:"isBrowser_bmU9",collapsibleContent:"collapsibleContent_i85q"};function x(e){return!!e&&("SUMMARY"===e.tagName||x(e.parentElement))}function p(e,t){return!!e&&(e===t||p(e.parentElement,t))}function j(e){let{summary:t,children:a,...n}=e;(0,m.A)().collectAnchor(n.id);const l=(0,u.A)(),r=(0,s.useRef)(null),{collapsed:o,setCollapsed:c}=(0,h.u)({initialState:!n.open}),[j,f]=(0,s.useState)(n.open),b=s.isValidElement(t)?t:(0,i.jsx)("summary",{children:t??"Details"});return(0,i.jsxs)("details",{...n,ref:r,open:j,"data-collapsed":o,className:(0,d.A)(g.details,l&&g.isBrowser,n.className),onMouseDown:e=>{x(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;x(t)&&p(t,r.current)&&(e.preventDefault(),o?(c(!1),f(!0)):c(!0))},children:[b,(0,i.jsx)(h.N,{lazy:!1,collapsed:o,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{c(e),f(!e)},children:(0,i.jsx)("div",{className:g.collapsibleContent,children:a})})]})}const f={details:"details_b_Ee"},b="alert alert--info";function v(e){let{...t}=e;return(0,i.jsx)(j,{...t,className:(0,d.A)(b,f.details,t.className)})}function A(e){const t=s.Children.toArray(e.children),a=t.find((e=>s.isValidElement(e)&&"summary"===e.type)),n=(0,i.jsx)(i.Fragment,{children:t.filter((e=>e!==a))});return(0,i.jsx)(v,{...e,summary:a,children:n})}var N=a(51107);function _(e){return(0,i.jsx)(N.A,{...e})}const y={containsTaskList:"containsTaskList_mC6p"};function k(e){if(void 0!==e)return(0,d.A)(e,e?.includes("contains-task-list")&&y.containsTaskList)}const w={img:"img_ev3q"};var U=a(71608);const T={Head:l.A,details:A,Details:A,code:function(e){return function(e){return void 0!==e.children&&s.Children.toArray(e.children).every((e=>"string"==typeof e&&!e.includes("\n")))}(e)?(0,i.jsx)(o,{...e}):(0,i.jsx)(r.A,{...e})},a:function(e){return(0,i.jsx)(c.A,{...e})},pre:function(e){return(0,i.jsx)(i.Fragment,{children:e.children})},ul:function(e){return(0,i.jsx)("ul",{...e,className:k(e.className)})},li:function(e){return(0,m.A)().collectAnchor(e.id),(0,i.jsx)("li",{...e})},img:function(e){return(0,i.jsx)("img",{decoding:"async",loading:"lazy",...e,className:(t=e.className,(0,d.A)(t,w.img))});var t},h1:e=>(0,i.jsx)(_,{as:"h1",...e}),h2:e=>(0,i.jsx)(_,{as:"h2",...e}),h3:e=>(0,i.jsx)(_,{as:"h3",...e}),h4:e=>(0,i.jsx)(_,{as:"h4",...e}),h5:e=>(0,i.jsx)(_,{as:"h5",...e}),h6:e=>(0,i.jsx)(_,{as:"h6",...e}),admonition:U.A,mermaid:()=>null};function C(e){let{children:t}=e;return(0,i.jsx)(n.x,{components:T,children:t})}},39022:(e,t,a)=>{a.d(t,{A:()=>r});a(96540);var s=a(34164),n=a(28774),l=a(74848);function r(e){const{permalink:t,title:a,subLabel:r,isNext:i}=e;return(0,l.jsxs)(n.A,{className:(0,s.A)("pagination-nav__link",i?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[r&&(0,l.jsx)("div",{className:"pagination-nav__sublabel",children:r}),(0,l.jsx)("div",{className:"pagination-nav__label",children:a})]})}},56133:(e,t,a)=>{a.d(t,{A:()=>i});a(96540);var s=a(34164),n=a(28774);const l={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};var r=a(74848);function i(e){let{permalink:t,label:a,count:i}=e;return(0,r.jsxs)(n.A,{href:t,className:(0,s.A)(l.tag,i?l.tagWithCount:l.tagRegular),children:[a,i&&(0,r.jsx)("span",{children:i})]})}},62053:(e,t,a)=>{a.d(t,{A:()=>o});a(96540);var s=a(34164),n=a(21312),l=a(56133);const r={tags:"tags_jXut",tag:"tag_QGVx"};var i=a(74848);function o(e){let{tags:t}=e;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("b",{children:(0,i.jsx)(n.A,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,i.jsx)("ul",{className:(0,s.A)(r.tags,"padding--none","margin-left--sm"),children:t.map((e=>{let{label:t,permalink:a}=e;return(0,i.jsx)("li",{className:r.tag,children:(0,i.jsx)(l.A,{label:t,permalink:a})},a)}))})]})}},7131:(e,t,a)=>{a.d(t,{e:()=>o,i:()=>i});var s=a(96540),n=a(89532),l=a(74848);const r=s.createContext(null);function i(e){let{children:t,content:a,isBlogPostPage:n=!1}=e;const i=function(e){let{content:t,isBlogPostPage:a}=e;return(0,s.useMemo)((()=>({metadata:t.metadata,frontMatter:t.frontMatter,assets:t.assets,toc:t.toc,isBlogPostPage:a})),[t,a])}({content:a,isBlogPostPage:n});return(0,l.jsx)(r.Provider,{value:i,children:t})}function o(){const e=(0,s.useContext)(r);if(null===e)throw new n.dV("BlogPostProvider");return e}},36266:(e,t,a)=>{a.d(t,{i:()=>n});var s=a(44586);function n(e){void 0===e&&(e={});const{i18n:{currentLocale:t}}=(0,s.A)(),a=function(){const{i18n:{currentLocale:e,localeConfigs:t}}=(0,s.A)();return t[e].calendar}();return new Intl.DateTimeFormat(t,{calendar:a,...e})}},53465:(e,t,a)=>{a.d(t,{W:()=>c});var s=a(96540),n=a(44586);const l=["zero","one","two","few","many","other"];function r(e){return l.filter((t=>e.includes(t)))}const i={locale:"en",pluralForms:r(["one","other"]),select:e=>1===e?"one":"other"};function o(){const{i18n:{currentLocale:e}}=(0,n.A)();return(0,s.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:r(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`),i}}),[e])}function c(){const e=o();return{selectMessage:(t,a)=>function(e,t,a){const s=e.split("|");if(1===s.length)return s[0];s.length>a.pluralForms.length&&console.error(`For locale=${a.locale}, a maximum of ${a.pluralForms.length} plural forms are expected (${a.pluralForms.join(",")}), but the message contains ${s.length}: ${e}`);const n=a.select(t),l=a.pluralForms.indexOf(n);return s[Math.min(l,s.length-1)]}(a,t,e)}}}}]); \ No newline at end of file diff --git a/assets/js/3481c063.763d490b.js b/assets/js/3481c063.763d490b.js deleted file mode 100644 index 29a9f00f8..000000000 --- a/assets/js/3481c063.763d490b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[50499],{64797:s=>{s.exports=JSON.parse('{"label":"block","permalink":"/blog/tags/block","allTagsPath":"/blog/tags","count":2,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/54b7d866.cdfde82e.js b/assets/js/36994c47.96fbce5a.js similarity index 67% rename from assets/js/54b7d866.cdfde82e.js rename to assets/js/36994c47.96fbce5a.js index d69661add..482fbf336 100644 --- a/assets/js/54b7d866.cdfde82e.js +++ b/assets/js/36994c47.96fbce5a.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[45985],{52945:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-blog","id":"default"}')}}]); \ No newline at end of file +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[89858],{45516:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-blog","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/369bf9e9.dee1995c.js b/assets/js/369bf9e9.dee1995c.js deleted file mode 100644 index b64f06f6c..000000000 --- a/assets/js/369bf9e9.dee1995c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[38696],{70557:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/assets","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/3784eb9f.55a17c2e.js b/assets/js/3784eb9f.55a17c2e.js new file mode 100644 index 000000000..14f7d7836 --- /dev/null +++ b/assets/js/3784eb9f.55a17c2e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[48533],{27237:t=>{t.exports=JSON.parse('{"tag":{"label":"images","permalink":"/blog/tags/images","allTagsPath":"/blog/tags","count":2,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/images","page":1,"postsPerPage":9,"totalPages":1,"totalCount":2,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/39447efc.5574e495.js b/assets/js/39447efc.5574e495.js deleted file mode 100644 index 43b10a6bf..000000000 --- a/assets/js/39447efc.5574e495.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[10042],{20275:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var o=s(74848),n=s(28453);const r={title:"Using Custom Post Types and Taxonomies",description:"How to register and use custom post types and taxonomies with Eightshift Dev Kit",slug:"using-cpts-and-taxonomies",authors:"obradovic",date:new Date("2022-12-13T00:00:00.000Z"),tags:["eightshift","boilerplate","cpt","custom post type","taxonomy","taxonomies","terms"],hide_table_of_contents:!1},i=void 0,a={permalink:"/blog/using-cpts-and-taxonomies",source:"@site/blog/2022-12-13-using-cpts-and-taxonomies.md",title:"Using Custom Post Types and Taxonomies",description:"How to register and use custom post types and taxonomies with Eightshift Dev Kit",date:"2022-12-13T00:00:00.000Z",formattedDate:"December 13, 2022",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"cpt",permalink:"/blog/tags/cpt"},{label:"custom post type",permalink:"/blog/tags/custom-post-type"},{label:"taxonomy",permalink:"/blog/tags/taxonomy"},{label:"taxonomies",permalink:"/blog/tags/taxonomies"},{label:"terms",permalink:"/blog/tags/terms"}],readingTime:4.115,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Using Custom Post Types and Taxonomies",description:"How to register and use custom post types and taxonomies with Eightshift Dev Kit",slug:"using-cpts-and-taxonomies",authors:"obradovic",date:"2022-12-13T00:00:00.000Z",tags:["eightshift","boilerplate","cpt","custom post type","taxonomy","taxonomies","terms"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Block Patterns",permalink:"/blog/block-patterns"},nextItem:{title:"Block Variations",permalink:"/blog/block-variations"}},l={authorsImageUrls:[void 0]},c=[{value:"Why should you use CPTs?",id:"why-should-you-use-cpts",level:2},{value:"Registering Custom Post Types",id:"registering-custom-post-types",level:2},{value:"Registering Taxonomies",id:"registering-taxonomies",level:2},{value:"Structure",id:"structure",level:2},{value:"Modifying options",id:"modifying-options",level:2},{value:"Clashing slugs",id:"clashing-slugs",level:2},{value:"Further reading",id:"further-reading",level:2}];function h(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,n.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"WordPress offers two default ways to group content by content type - using posts or pages. Posts and pages are registered as default post types in the WordPress app. But sometimes, that is not enough. That's where custom post types (CPT) and custom taxonomies come in. This blog post will cover the basics of registering CPTs and taxonomies using Eightshift Dev Kit."}),"\n",(0,o.jsx)(t.h2,{id:"why-should-you-use-cpts",children:"Why should you use CPTs?"}),"\n",(0,o.jsx)(t.p,{children:"The great thing about WordPress is how extensible it is. With projects becoming more complex, the need for additional post types and taxonomies increases. Sure, you can cram everything into default posts or pages, but this can become very chaotic. Using custom post types allows you to manage your content much better. You can separate events and projects from news articles for instance."}),"\n",(0,o.jsxs)(t.p,{children:["Post ",(0,o.jsx)(t.code,{children:"category"})," and ",(0,o.jsx)(t.code,{children:"tag"})," are taxonomies - a grouping you can further separate by terms belonging to that taxonomy. WordPress, since version 2.3.0 offers a way to register your own, custom taxonomies."]}),"\n",(0,o.jsx)(t.h2,{id:"registering-custom-post-types",children:"Registering Custom Post Types"}),"\n",(0,o.jsxs)(t.p,{children:["For this exercise, we'll create a new post type called ",(0,o.jsx)(t.code,{children:"Projects"}),". To make the process of registering new CPTs as easy as possible, we'll use a WP-CLI command to create our CPT with the following command:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"wp boilerplate create post-type --label='Project' --plural_label='Projects' --slug='project' --rewrite_url='project' --rest_endpoint_slug='projects'\n"})}),"\n",(0,o.jsx)(t.admonition,{type:"tip",children:(0,o.jsxs)(t.p,{children:["If your new CPT is not working, try flushing rewrite rules by re-saving the settings in ",(0,o.jsx)(t.strong,{children:"Settings -> Permalinks"})," or by using ",(0,o.jsx)(t.code,{children:"wp cache flush"})," CLI command"]})}),"\n",(0,o.jsx)(t.p,{children:"Your new post type is registered and ready to use! Easy, right?"}),"\n",(0,o.jsx)(t.p,{children:"Sometimes all these parameters can be a bit confusing, so here's a quick reference of best practices when setting these parameters:"}),"\n",(0,o.jsxs)(t.table,{children:[(0,o.jsx)(t.thead,{children:(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.th,{children:"Parameter"}),(0,o.jsx)(t.th,{children:"Singular/Plural"}),(0,o.jsx)(t.th,{children:"Writing style"}),(0,o.jsx)(t.th,{children:"Example"})]})}),(0,o.jsxs)(t.tbody,{children:[(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{children:"label"}),(0,o.jsx)(t.td,{children:"Singular"}),(0,o.jsx)(t.td,{children:"Regular"}),(0,o.jsx)(t.td,{children:"Project"})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{children:"plural_label"}),(0,o.jsx)(t.td,{children:"Plural"}),(0,o.jsx)(t.td,{children:"Regular"}),(0,o.jsx)(t.td,{children:"Projects"})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{children:"slug"}),(0,o.jsx)(t.td,{children:"Singular"}),(0,o.jsx)(t.td,{children:"kebab-case"}),(0,o.jsx)(t.td,{children:"project"})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{children:"rewrite_url"}),(0,o.jsx)(t.td,{children:"Singular"}),(0,o.jsx)(t.td,{children:"kebab-case"}),(0,o.jsx)(t.td,{children:"project"})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{children:"rest_endpoint_slug"}),(0,o.jsx)(t.td,{children:"Plural"}),(0,o.jsx)(t.td,{children:"kebab-case"}),(0,o.jsx)(t.td,{children:"projects"})]})]})]}),"\n",(0,o.jsx)(t.p,{children:"There is a reason for this naming convention. For example:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"slug"})," is attached to a single custom post type in the database, which is why it is written in singular"]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"rest_endpoint_slug"})," is used to fetch a collection of posts from that custom post type, which is why it should be written in plural"]}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"registering-taxonomies",children:"Registering Taxonomies"}),"\n",(0,o.jsxs)(t.p,{children:["Now that we have the new custom post type, we need a way to group the projects. We'll create a custom taxonomy called ",(0,o.jsx)(t.code,{children:"Project Technology"}),". As with the CPT registration, the easiest way to register taxonomies is by using the following WP-CLI command:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"wp boilerplate create taxonomy --label='Project Technology' --plural_label='Project Technologies' --slug='project-technology' --rest_endpoint_slug='project-technologies' --post_type_slug='project'\n"})}),"\n",(0,o.jsx)(t.p,{children:"Similar suggestions apply to the parameters when naming taxonomies as well. Be sure to write the correct post type slug for which you are registering this new taxonomy!"}),"\n",(0,o.jsx)(t.h2,{id:"structure",children:"Structure"}),"\n",(0,o.jsxs)(t.p,{children:["When checking your codebase after adding these new custom post types and taxonomies, you'll notice the post types are located inside the ",(0,o.jsx)(t.code,{children:"src/CustomPostType"})," folder, and the taxonomies are located inside the ",(0,o.jsx)(t.code,{children:"src/CustomTaxonomy"})," folder. Following the ",(0,o.jsx)(t.strong,{children:"Single Responsibility Principle"}),", each post type or taxonomy is in a separate class."]}),"\n",(0,o.jsx)(t.h2,{id:"modifying-options",children:"Modifying options"}),"\n",(0,o.jsxs)(t.p,{children:["Our custom post type and taxonomy are ready to use, but we still want to make some changes. For starters, we want another icon and for the Projects to be located below the Posts in the WordPress admin menu. In ",(0,o.jsx)(t.code,{children:"src/CustomPostType/ProjectPostType.php"}),", find the ",(0,o.jsx)(t.code,{children:"MENU_POSITION"})," constant and change it to ",(0,o.jsx)(t.code,{children:"5"}),". The lower the number, the higher it will be in the menu."]}),"\n",(0,o.jsxs)(t.p,{children:["Next, we want to update the icon representing the new post type in the menu. These icons are named dashicons. Change the ",(0,o.jsx)(t.code,{children:"MENU_ICON"})," constant to ",(0,o.jsx)(t.code,{children:"dashicons-clipboard"}),". If you want another icon for your CPT, here is the list of ",(0,o.jsx)(t.a,{href:"https://developer.wordpress.org/resource/dashicons/",children:"available dashicons"}),". Finally, we want to remove the author and comments. In ",(0,o.jsx)(t.code,{children:"getPostTypeArguments()"})," method, find the key ",(0,o.jsx)(t.code,{children:"supports"})," in the return value and remove ",(0,o.jsx)(t.code,{children:"author"})," and ",(0,o.jsx)(t.code,{children:"comments"})," from the array."]}),"\n",(0,o.jsx)(t.h2,{id:"clashing-slugs",children:"Clashing slugs"}),"\n",(0,o.jsxs)(t.p,{children:["Something that can happen when working on your project is that you have the same slugs for your custom post type and your page, for example. Let's say you have a page with a slug ",(0,o.jsx)(t.code,{children:"project"}),", and a custom post type with a slug ",(0,o.jsx)(t.code,{children:"project"}),". When trying to access the page, you'll keep getting the Project CPT archive. To fix it, you have to change one of the slugs or write a custom redirection rule (which we don't recommend, as the redirections are tricky to handle in WordPress)."]}),"\n",(0,o.jsx)(t.h2,{id:"further-reading",children:"Further reading"}),"\n",(0,o.jsxs)(t.p,{children:["For the best overview of all the options you have when registering your custom post type or taxonomy, we recommend checking the official WordPress docs for the ",(0,o.jsx)(t.a,{href:"https://developer.wordpress.org/reference/functions/register_post_type/",children:"register_post_type()"})," and ",(0,o.jsx)(t.a,{href:"https://developer.wordpress.org/reference/functions/register_taxonomy/",children:"register_taxonomy()"})," functions."]}),"\n",(0,o.jsxs)(t.p,{children:["If you would like to know more about taxonomies and terms, along with how they are stored in the database, you can read more about it in the ",(0,o.jsx)(t.a,{href:"https://developer.wordpress.org/themes/basics/categories-tags-custom-taxonomies/",children:"Categories, Tags, & Custom Taxonomies"})," page of the WordPress docs."]})]})}function d(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},28453:(e,t,s)=>{s.d(t,{R:()=>i,x:()=>a});var o=s(96540);const n={},r=o.createContext(n);function i(e){const t=o.useContext(r);return o.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(n):e.components||n:i(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/39447efc.979d8a62.js b/assets/js/39447efc.979d8a62.js new file mode 100644 index 000000000..531ef7acf --- /dev/null +++ b/assets/js/39447efc.979d8a62.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[10042],{20275:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var o=s(74848),n=s(28453);const r={title:"Using Custom Post Types and Taxonomies",description:"How to register and use custom post types and taxonomies with Eightshift Dev Kit",slug:"using-cpts-and-taxonomies",authors:"obradovic",date:new Date("2022-12-13T00:00:00.000Z"),tags:["eightshift","boilerplate","cpt","custom post type","taxonomy","taxonomies","terms"],hide_table_of_contents:!1},i=void 0,a={permalink:"/blog/using-cpts-and-taxonomies",source:"@site/blog/2022-12-13-using-cpts-and-taxonomies.md",title:"Using Custom Post Types and Taxonomies",description:"How to register and use custom post types and taxonomies with Eightshift Dev Kit",date:"2022-12-13T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"cpt",permalink:"/blog/tags/cpt"},{label:"custom post type",permalink:"/blog/tags/custom-post-type"},{label:"taxonomy",permalink:"/blog/tags/taxonomy"},{label:"taxonomies",permalink:"/blog/tags/taxonomies"},{label:"terms",permalink:"/blog/tags/terms"}],readingTime:4.115,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Using Custom Post Types and Taxonomies",description:"How to register and use custom post types and taxonomies with Eightshift Dev Kit",slug:"using-cpts-and-taxonomies",authors:"obradovic",date:"2022-12-13T00:00:00.000Z",tags:["eightshift","boilerplate","cpt","custom post type","taxonomy","taxonomies","terms"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Block Patterns",permalink:"/blog/block-patterns"},nextItem:{title:"Block Variations",permalink:"/blog/block-variations"}},l={authorsImageUrls:[void 0]},c=[{value:"Why should you use CPTs?",id:"why-should-you-use-cpts",level:2},{value:"Registering Custom Post Types",id:"registering-custom-post-types",level:2},{value:"Registering Taxonomies",id:"registering-taxonomies",level:2},{value:"Structure",id:"structure",level:2},{value:"Modifying options",id:"modifying-options",level:2},{value:"Clashing slugs",id:"clashing-slugs",level:2},{value:"Further reading",id:"further-reading",level:2}];function h(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,n.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"WordPress offers two default ways to group content by content type - using posts or pages. Posts and pages are registered as default post types in the WordPress app. But sometimes, that is not enough. That's where custom post types (CPT) and custom taxonomies come in. This blog post will cover the basics of registering CPTs and taxonomies using Eightshift Dev Kit."}),"\n",(0,o.jsx)(t.h2,{id:"why-should-you-use-cpts",children:"Why should you use CPTs?"}),"\n",(0,o.jsx)(t.p,{children:"The great thing about WordPress is how extensible it is. With projects becoming more complex, the need for additional post types and taxonomies increases. Sure, you can cram everything into default posts or pages, but this can become very chaotic. Using custom post types allows you to manage your content much better. You can separate events and projects from news articles for instance."}),"\n",(0,o.jsxs)(t.p,{children:["Post ",(0,o.jsx)(t.code,{children:"category"})," and ",(0,o.jsx)(t.code,{children:"tag"})," are taxonomies - a grouping you can further separate by terms belonging to that taxonomy. WordPress, since version 2.3.0 offers a way to register your own, custom taxonomies."]}),"\n",(0,o.jsx)(t.h2,{id:"registering-custom-post-types",children:"Registering Custom Post Types"}),"\n",(0,o.jsxs)(t.p,{children:["For this exercise, we'll create a new post type called ",(0,o.jsx)(t.code,{children:"Projects"}),". To make the process of registering new CPTs as easy as possible, we'll use a WP-CLI command to create our CPT with the following command:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"wp boilerplate create post-type --label='Project' --plural_label='Projects' --slug='project' --rewrite_url='project' --rest_endpoint_slug='projects'\n"})}),"\n",(0,o.jsx)(t.admonition,{type:"tip",children:(0,o.jsxs)(t.p,{children:["If your new CPT is not working, try flushing rewrite rules by re-saving the settings in ",(0,o.jsx)(t.strong,{children:"Settings -> Permalinks"})," or by using ",(0,o.jsx)(t.code,{children:"wp cache flush"})," CLI command"]})}),"\n",(0,o.jsx)(t.p,{children:"Your new post type is registered and ready to use! Easy, right?"}),"\n",(0,o.jsx)(t.p,{children:"Sometimes all these parameters can be a bit confusing, so here's a quick reference of best practices when setting these parameters:"}),"\n",(0,o.jsxs)(t.table,{children:[(0,o.jsx)(t.thead,{children:(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.th,{children:"Parameter"}),(0,o.jsx)(t.th,{children:"Singular/Plural"}),(0,o.jsx)(t.th,{children:"Writing style"}),(0,o.jsx)(t.th,{children:"Example"})]})}),(0,o.jsxs)(t.tbody,{children:[(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{children:"label"}),(0,o.jsx)(t.td,{children:"Singular"}),(0,o.jsx)(t.td,{children:"Regular"}),(0,o.jsx)(t.td,{children:"Project"})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{children:"plural_label"}),(0,o.jsx)(t.td,{children:"Plural"}),(0,o.jsx)(t.td,{children:"Regular"}),(0,o.jsx)(t.td,{children:"Projects"})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{children:"slug"}),(0,o.jsx)(t.td,{children:"Singular"}),(0,o.jsx)(t.td,{children:"kebab-case"}),(0,o.jsx)(t.td,{children:"project"})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{children:"rewrite_url"}),(0,o.jsx)(t.td,{children:"Singular"}),(0,o.jsx)(t.td,{children:"kebab-case"}),(0,o.jsx)(t.td,{children:"project"})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{children:"rest_endpoint_slug"}),(0,o.jsx)(t.td,{children:"Plural"}),(0,o.jsx)(t.td,{children:"kebab-case"}),(0,o.jsx)(t.td,{children:"projects"})]})]})]}),"\n",(0,o.jsx)(t.p,{children:"There is a reason for this naming convention. For example:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"slug"})," is attached to a single custom post type in the database, which is why it is written in singular"]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"rest_endpoint_slug"})," is used to fetch a collection of posts from that custom post type, which is why it should be written in plural"]}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"registering-taxonomies",children:"Registering Taxonomies"}),"\n",(0,o.jsxs)(t.p,{children:["Now that we have the new custom post type, we need a way to group the projects. We'll create a custom taxonomy called ",(0,o.jsx)(t.code,{children:"Project Technology"}),". As with the CPT registration, the easiest way to register taxonomies is by using the following WP-CLI command:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"wp boilerplate create taxonomy --label='Project Technology' --plural_label='Project Technologies' --slug='project-technology' --rest_endpoint_slug='project-technologies' --post_type_slug='project'\n"})}),"\n",(0,o.jsx)(t.p,{children:"Similar suggestions apply to the parameters when naming taxonomies as well. Be sure to write the correct post type slug for which you are registering this new taxonomy!"}),"\n",(0,o.jsx)(t.h2,{id:"structure",children:"Structure"}),"\n",(0,o.jsxs)(t.p,{children:["When checking your codebase after adding these new custom post types and taxonomies, you'll notice the post types are located inside the ",(0,o.jsx)(t.code,{children:"src/CustomPostType"})," folder, and the taxonomies are located inside the ",(0,o.jsx)(t.code,{children:"src/CustomTaxonomy"})," folder. Following the ",(0,o.jsx)(t.strong,{children:"Single Responsibility Principle"}),", each post type or taxonomy is in a separate class."]}),"\n",(0,o.jsx)(t.h2,{id:"modifying-options",children:"Modifying options"}),"\n",(0,o.jsxs)(t.p,{children:["Our custom post type and taxonomy are ready to use, but we still want to make some changes. For starters, we want another icon and for the Projects to be located below the Posts in the WordPress admin menu. In ",(0,o.jsx)(t.code,{children:"src/CustomPostType/ProjectPostType.php"}),", find the ",(0,o.jsx)(t.code,{children:"MENU_POSITION"})," constant and change it to ",(0,o.jsx)(t.code,{children:"5"}),". The lower the number, the higher it will be in the menu."]}),"\n",(0,o.jsxs)(t.p,{children:["Next, we want to update the icon representing the new post type in the menu. These icons are named dashicons. Change the ",(0,o.jsx)(t.code,{children:"MENU_ICON"})," constant to ",(0,o.jsx)(t.code,{children:"dashicons-clipboard"}),". If you want another icon for your CPT, here is the list of ",(0,o.jsx)(t.a,{href:"https://developer.wordpress.org/resource/dashicons/",children:"available dashicons"}),". Finally, we want to remove the author and comments. In ",(0,o.jsx)(t.code,{children:"getPostTypeArguments()"})," method, find the key ",(0,o.jsx)(t.code,{children:"supports"})," in the return value and remove ",(0,o.jsx)(t.code,{children:"author"})," and ",(0,o.jsx)(t.code,{children:"comments"})," from the array."]}),"\n",(0,o.jsx)(t.h2,{id:"clashing-slugs",children:"Clashing slugs"}),"\n",(0,o.jsxs)(t.p,{children:["Something that can happen when working on your project is that you have the same slugs for your custom post type and your page, for example. Let's say you have a page with a slug ",(0,o.jsx)(t.code,{children:"project"}),", and a custom post type with a slug ",(0,o.jsx)(t.code,{children:"project"}),". When trying to access the page, you'll keep getting the Project CPT archive. To fix it, you have to change one of the slugs or write a custom redirection rule (which we don't recommend, as the redirections are tricky to handle in WordPress)."]}),"\n",(0,o.jsx)(t.h2,{id:"further-reading",children:"Further reading"}),"\n",(0,o.jsxs)(t.p,{children:["For the best overview of all the options you have when registering your custom post type or taxonomy, we recommend checking the official WordPress docs for the ",(0,o.jsx)(t.a,{href:"https://developer.wordpress.org/reference/functions/register_post_type/",children:"register_post_type()"})," and ",(0,o.jsx)(t.a,{href:"https://developer.wordpress.org/reference/functions/register_taxonomy/",children:"register_taxonomy()"})," functions."]}),"\n",(0,o.jsxs)(t.p,{children:["If you would like to know more about taxonomies and terms, along with how they are stored in the database, you can read more about it in the ",(0,o.jsx)(t.a,{href:"https://developer.wordpress.org/themes/basics/categories-tags-custom-taxonomies/",children:"Categories, Tags, & Custom Taxonomies"})," page of the WordPress docs."]})]})}function d(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},28453:(e,t,s)=>{s.d(t,{R:()=>i,x:()=>a});var o=s(96540);const n={},r=o.createContext(n);function i(e){const t=o.useContext(r);return o.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(n):e.components||n:i(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/39e353ee.51bdbe9f.js b/assets/js/39e353ee.51bdbe9f.js new file mode 100644 index 000000000..8aee77dc8 --- /dev/null +++ b/assets/js/39e353ee.51bdbe9f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[84033],{58430:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>a,default:()=>c,frontMatter:()=>r,metadata:()=>i,toc:()=>l});var o=n(74848),s=n(28453);const r={title:"How to use the Wrapper as a standalone component",description:"Explains the process of using the Wrapper component in WordPress templates.",slug:"wrapper-as-a-standalone-component",authors:"kancijan",date:new Date("2023-09-05T00:00:00.000Z"),tags:["eightshift","boilerplate","wrapper","components"],hide_table_of_contents:!1},a=void 0,i={permalink:"/blog/wrapper-as-a-standalone-component",source:"@site/blog/2023-09-05-wrapper-as-a-standalone-component.md",title:"How to use the Wrapper as a standalone component",description:"Explains the process of using the Wrapper component in WordPress templates.",date:"2023-09-05T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"wrapper",permalink:"/blog/tags/wrapper"},{label:"components",permalink:"/blog/tags/components"}],readingTime:3.205,hasTruncateMarker:!0,authors:[{name:"Ivan Kancijan",title:"WordPress Engineer",url:"https://github.com/kancijan",imageURL:"https://avatars.githubusercontent.com/u/135589039?v=4",key:"kancijan"}],frontMatter:{title:"How to use the Wrapper as a standalone component",description:"Explains the process of using the Wrapper component in WordPress templates.",slug:"wrapper-as-a-standalone-component",authors:"kancijan",date:"2023-09-05T00:00:00.000Z",tags:["eightshift","boilerplate","wrapper","components"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Making your project multilingual",permalink:"/blog/making-your-project-multilingual"},nextItem:{title:"Working with custom queries",permalink:"/blog/working-with-custom-queries"}},p={authorsImageUrls:[void 0]},l=[{value:"What are WordPress templates?",id:"what-are-wordpress-templates",level:2},{value:"Usage in templates",id:"usage-in-templates",level:2},{value:"Using the Wrapper component",id:"using-the-wrapper-component",level:2},{value:"Wrapper output",id:"wrapper-output",level:3},{value:"Final result",id:"final-result",level:3},{value:"Conclusion",id:"conclusion",level:2}];function h(e){const t={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"As one of the most powerful features in the Eightshift DevKit, the Wrapper is a part of every Eightshift block in the Gutenberg editor, but what about WordPress templates?"}),"\n",(0,o.jsx)(t.admonition,{type:"note",children:(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.a,{href:"https://eightshift.com/docs/basics/blocks-wrapper/",children:"Wrapper"})," is designed to be the ultimate top-level component that controls how your block behaves in the website layout. It is a sort of a 'section' in traditional builders. By default, you can control a whole lot of stuff, but there is an option to add custom attributes and tailor the Wrapper to the needs of your project."]})}),"\n",(0,o.jsx)(t.h2,{id:"what-are-wordpress-templates",children:"What are WordPress templates?"}),"\n",(0,o.jsxs)(t.p,{children:["Before the days of ",(0,o.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/getting-started/full-site-editing/",children:"Full Site Editing"})," in WordPress, we used ",(0,o.jsx)(t.a,{href:"https://developer.wordpress.org/themes/basics/template-hierarchy/",children:"template files"})," to add custom layouts to a blog page or post archives."]}),"\n",(0,o.jsx)(t.admonition,{type:"note",children:(0,o.jsxs)(t.p,{children:["While Full-site editing (FSE) ",(0,o.jsx)(t.em,{children:"is"})," supported in Eightshift Libs, a couple of modifications have to be done in your project to make it work."]})}),"\n",(0,o.jsx)(t.p,{children:"Depending on your setup, you might still use those as they are still a core part of WordPress themes."}),"\n",(0,o.jsx)(t.h2,{id:"usage-in-templates",children:"Usage in templates"}),"\n",(0,o.jsxs)(t.p,{children:["Thanks to the ",(0,o.jsx)(t.code,{children:"Components"})," helper, we can easily ",(0,o.jsx)(t.code,{children:"render()"})," any component in our template."]}),"\n",(0,o.jsx)(t.admonition,{type:"note",children:(0,o.jsxs)(t.p,{children:["Interested in how to use components in a block? Take a look at ",(0,o.jsx)(t.a,{href:"https://eightshift.com/docs/basics/blocks-component-in-block#i-have-a-component-that-i-want-to-use-manually",children:"our docs"}),"."]})}),"\n",(0,o.jsxs)(t.p,{children:["For this example, we'll use ",(0,o.jsx)(t.code,{children:"index.php"}),", as you already have it in your theme. If not, use the code below:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"<?php\n\n/**\n * Display regular index/home page\n *\n * @package InfinumLibs\n */\n\nuse InfinumLibsVendor\\EightshiftLibs\\Helpers\\Components;\n\nget_header();\n\nif (have_posts()) {\n\twhile (have_posts()) {\n\t\tthe_post();\n\t\tthe_title();\n\t\tthe_content();\n\t}\n}\n\nget_footer();\n"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"No Wrapper",src:n(50083).A+"",width:"1084",height:"398"})}),"\n",(0,o.jsx)(t.p,{children:'And there it is, a bog-standard blog page that you can style only "the old way"... But not in our case!'}),"\n",(0,o.jsx)(t.h2,{id:"using-the-wrapper-component",children:"Using the Wrapper component"}),"\n",(0,o.jsxs)(t.p,{children:["First, let's import our ",(0,o.jsx)(t.code,{children:"Components"})," helper class. Make sure to use the namespace from your ",(0,o.jsx)(t.code,{children:"composer.json"}),"."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"use InfinumLibsVendor\\EightshiftLibs\\Helpers\\Components;\n"})}),"\n",(0,o.jsxs)(t.p,{children:["If we look deeper into the ",(0,o.jsx)(t.code,{children:"render"})," method, we'll see that for the ",(0,o.jsx)(t.code,{children:"$component"})," parameter, we can pass the ",(0,o.jsx)(t.em,{children:"component's name or the full path (ending with .php)"}),". We made it simple, so use ",(0,o.jsx)(t.code,{children:"wrapper"}),"."]}),"\n",(0,o.jsx)(t.admonition,{type:"note",children:(0,o.jsxs)(t.p,{children:["If you are upgrading from an older version (supported since [Libs v6.5.7] (",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/releases/tag/6.5.7",children:"https://github.com/infinum/eightshift-libs/releases/tag/6.5.7"}),") and ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/releases/tag/8.6.2",children:"Frontend Libs v8.6.2"}),") copy code from ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/wrapper/wrapper.php",children:"wrapper.php"})," into your project."]})}),"\n",(0,o.jsxs)(t.p,{children:["We have two required properties to add to the Wrappers ",(0,o.jsx)(t.code,{children:"manifest.json"}),": ",(0,o.jsx)(t.code,{children:"wrapperOnlyOutput"})," and ",(0,o.jsx)(t.code,{children:"wrapperManualContent"}),"."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"wrapperOnlyOutput": {\n\t"type": "boolean",\n\t"default": false\n},\n"wrapperManualContent": {\n\t"type": "string",\n\t"default": ""\n}\n'})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"echo Components::render(\n\t'wrapper',\n\t[\n\t\t'wrapperOnlyOutput' => true,\n\t\t'wrapperManualContent' => '',\n\t],\n\t'',\n\ttrue\n);\n"})}),"\n",(0,o.jsx)(t.admonition,{type:"note",children:(0,o.jsxs)(t.p,{children:["Setting the ",(0,o.jsx)(t.code,{children:"$useComponentDefaults"})," to ",(0,o.jsx)(t.code,{children:"true"})," will save you the trouble of setting a lot of additional properties by using default values defined in your manifest."]})}),"\n",(0,o.jsx)(t.h3,{id:"wrapper-output",children:"Wrapper output"}),"\n",(0,o.jsx)(t.p,{children:"Now that we have a working Wrapper component in our template, it's time to display posts in the loop."}),"\n",(0,o.jsxs)(t.p,{children:["Let's use the ",(0,o.jsx)(t.a,{href:"https://infinum.github.io/eightshift-frontend-libs/storybook/?path=/story/components-card--editor",children:"Card"})," from the Frontend Libs as it's the perfect component to display post details and pass it to the ",(0,o.jsx)(t.code,{children:"wrapperManualContent"}),"."]}),"\n",(0,o.jsx)(t.p,{children:"To make the Card component look even better, we'll use some of the powerful properties the Wrapper component has to offer and add spacing between each item."}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"'wrapperSpacingTopLarge' => 50,\n'wrapperSpacingBottomLarge' => 50,\n"})}),"\n",(0,o.jsx)(t.admonition,{type:"note",children:(0,o.jsxs)(t.p,{children:["For the list of all available properties, look at the Wrapper's ",(0,o.jsx)(t.code,{children:"manifest.json"}),"."]})}),"\n",(0,o.jsx)(t.h3,{id:"final-result",children:"Final result"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"<?php\n\n/**\n * Display regular index/home page\n *\n * @package InfinumLibs\n */\n\nuse InfinumLibsVendor\\EightshiftLibs\\Helpers\\Components;\n\nget_header();\n\nif (have_posts()) {\n\twhile (have_posts()) {\n\t\tthe_post();\n\n\t\techo Components::render(\n\t\t\t'wrapper.php',\n\t\t\t[\n\t\t\t\t'wrapperOnlyOutput' => true,\n\t\t\t\t'wrapperManualContent' => Components::render('card', [\n\t\t\t\t\t'introContent' => sprintf(__('On %1$s by %2$s', 'eightshift'), get_the_date(), get_the_author_meta('display_name')),\n\t\t\t\t\t'headingContent' => get_the_title(),\n\t\t\t\t\t'paragraphContent' => apply_filters('the_content', get_the_excerpt()),\n\t\t\t\t\t'buttonContent' => __('View more', 'eightshift'),\n\t\t\t\t\t'buttonUrl' => get_permalink(),\n\t\t\t\t]),\n\t\t\t\t'wrapperSpacingTopLarge' => 50,\n\t\t\t\t'wrapperSpacingBottomLarge' => 50,\n\t\t\t],\n\t\t\t'',\n\t\t\ttrue\n\t\t);\n\t}\n}\n\nget_footer();\n"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Wrapper with content",src:n(16171).A+"",width:"1082",height:"586"})}),"\n",(0,o.jsx)(t.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,o.jsx)(t.p,{children:"Although the Wrapper is (usually) not intended to be used as a standalone component, there is a nice benefit to having a time-saving, out-of-the-box solution for displaying content in a grid already defined in your project."})]})}function c(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},50083:(e,t,n)=>{n.d(t,{A:()=>o});const o=n.p+"assets/images/no-wrapper-97a4e7e283102852266b91e02be1c342.png"},16171:(e,t,n)=>{n.d(t,{A:()=>o});const o=n.p+"assets/images/wrapper-content-1fb48b3084f48f13075a3af67bc6c323.png"},28453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>i});var o=n(96540);const s={},r=o.createContext(s);function a(e){const t=o.useContext(r);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(s):e.components||s:a(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/39e353ee.cc346187.js b/assets/js/39e353ee.cc346187.js deleted file mode 100644 index ac9f9975b..000000000 --- a/assets/js/39e353ee.cc346187.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[84033],{58430:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>a,default:()=>c,frontMatter:()=>r,metadata:()=>i,toc:()=>l});var o=n(74848),s=n(28453);const r={title:"How to use the Wrapper as a standalone component",description:"Explains the process of using the Wrapper component in WordPress templates.",slug:"wrapper-as-a-standalone-component",authors:"kancijan",date:new Date("2023-09-05T00:00:00.000Z"),tags:["eightshift","boilerplate","wrapper","components"],hide_table_of_contents:!1},a=void 0,i={permalink:"/blog/wrapper-as-a-standalone-component",source:"@site/blog/2023-09-05-wrapper-as-a-standalone-component.md",title:"How to use the Wrapper as a standalone component",description:"Explains the process of using the Wrapper component in WordPress templates.",date:"2023-09-05T00:00:00.000Z",formattedDate:"September 5, 2023",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"wrapper",permalink:"/blog/tags/wrapper"},{label:"components",permalink:"/blog/tags/components"}],readingTime:3.205,hasTruncateMarker:!0,authors:[{name:"Ivan Kancijan",title:"WordPress Engineer",url:"https://github.com/kancijan",imageURL:"https://avatars.githubusercontent.com/u/135589039?v=4",key:"kancijan"}],frontMatter:{title:"How to use the Wrapper as a standalone component",description:"Explains the process of using the Wrapper component in WordPress templates.",slug:"wrapper-as-a-standalone-component",authors:"kancijan",date:"2023-09-05T00:00:00.000Z",tags:["eightshift","boilerplate","wrapper","components"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Making your project multilingual",permalink:"/blog/making-your-project-multilingual"},nextItem:{title:"Working with custom queries",permalink:"/blog/working-with-custom-queries"}},p={authorsImageUrls:[void 0]},l=[{value:"What are WordPress templates?",id:"what-are-wordpress-templates",level:2},{value:"Usage in templates",id:"usage-in-templates",level:2},{value:"Using the Wrapper component",id:"using-the-wrapper-component",level:2},{value:"Wrapper output",id:"wrapper-output",level:3},{value:"Final result",id:"final-result",level:3},{value:"Conclusion",id:"conclusion",level:2}];function h(e){const t={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"As one of the most powerful features in the Eightshift DevKit, the Wrapper is a part of every Eightshift block in the Gutenberg editor, but what about WordPress templates?"}),"\n",(0,o.jsx)(t.admonition,{type:"note",children:(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.a,{href:"https://eightshift.com/docs/basics/blocks-wrapper/",children:"Wrapper"})," is designed to be the ultimate top-level component that controls how your block behaves in the website layout. It is a sort of a 'section' in traditional builders. By default, you can control a whole lot of stuff, but there is an option to add custom attributes and tailor the Wrapper to the needs of your project."]})}),"\n",(0,o.jsx)(t.h2,{id:"what-are-wordpress-templates",children:"What are WordPress templates?"}),"\n",(0,o.jsxs)(t.p,{children:["Before the days of ",(0,o.jsx)(t.a,{href:"https://developer.wordpress.org/block-editor/getting-started/full-site-editing/",children:"Full Site Editing"})," in WordPress, we used ",(0,o.jsx)(t.a,{href:"https://developer.wordpress.org/themes/basics/template-hierarchy/",children:"template files"})," to add custom layouts to a blog page or post archives."]}),"\n",(0,o.jsx)(t.admonition,{type:"note",children:(0,o.jsxs)(t.p,{children:["While Full-site editing (FSE) ",(0,o.jsx)(t.em,{children:"is"})," supported in Eightshift Libs, a couple of modifications have to be done in your project to make it work."]})}),"\n",(0,o.jsx)(t.p,{children:"Depending on your setup, you might still use those as they are still a core part of WordPress themes."}),"\n",(0,o.jsx)(t.h2,{id:"usage-in-templates",children:"Usage in templates"}),"\n",(0,o.jsxs)(t.p,{children:["Thanks to the ",(0,o.jsx)(t.code,{children:"Components"})," helper, we can easily ",(0,o.jsx)(t.code,{children:"render()"})," any component in our template."]}),"\n",(0,o.jsx)(t.admonition,{type:"note",children:(0,o.jsxs)(t.p,{children:["Interested in how to use components in a block? Take a look at ",(0,o.jsx)(t.a,{href:"https://eightshift.com/docs/basics/blocks-component-in-block#i-have-a-component-that-i-want-to-use-manually",children:"our docs"}),"."]})}),"\n",(0,o.jsxs)(t.p,{children:["For this example, we'll use ",(0,o.jsx)(t.code,{children:"index.php"}),", as you already have it in your theme. If not, use the code below:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"<?php\n\n/**\n * Display regular index/home page\n *\n * @package InfinumLibs\n */\n\nuse InfinumLibsVendor\\EightshiftLibs\\Helpers\\Components;\n\nget_header();\n\nif (have_posts()) {\n\twhile (have_posts()) {\n\t\tthe_post();\n\t\tthe_title();\n\t\tthe_content();\n\t}\n}\n\nget_footer();\n"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"No Wrapper",src:n(50083).A+"",width:"1084",height:"398"})}),"\n",(0,o.jsx)(t.p,{children:'And there it is, a bog-standard blog page that you can style only "the old way"... But not in our case!'}),"\n",(0,o.jsx)(t.h2,{id:"using-the-wrapper-component",children:"Using the Wrapper component"}),"\n",(0,o.jsxs)(t.p,{children:["First, let's import our ",(0,o.jsx)(t.code,{children:"Components"})," helper class. Make sure to use the namespace from your ",(0,o.jsx)(t.code,{children:"composer.json"}),"."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"use InfinumLibsVendor\\EightshiftLibs\\Helpers\\Components;\n"})}),"\n",(0,o.jsxs)(t.p,{children:["If we look deeper into the ",(0,o.jsx)(t.code,{children:"render"})," method, we'll see that for the ",(0,o.jsx)(t.code,{children:"$component"})," parameter, we can pass the ",(0,o.jsx)(t.em,{children:"component's name or the full path (ending with .php)"}),". We made it simple, so use ",(0,o.jsx)(t.code,{children:"wrapper"}),"."]}),"\n",(0,o.jsx)(t.admonition,{type:"note",children:(0,o.jsxs)(t.p,{children:["If you are upgrading from an older version (supported since [Libs v6.5.7] (",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/releases/tag/6.5.7",children:"https://github.com/infinum/eightshift-libs/releases/tag/6.5.7"}),") and ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/releases/tag/8.6.2",children:"Frontend Libs v8.6.2"}),") copy code from ",(0,o.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/wrapper/wrapper.php",children:"wrapper.php"})," into your project."]})}),"\n",(0,o.jsxs)(t.p,{children:["We have two required properties to add to the Wrappers ",(0,o.jsx)(t.code,{children:"manifest.json"}),": ",(0,o.jsx)(t.code,{children:"wrapperOnlyOutput"})," and ",(0,o.jsx)(t.code,{children:"wrapperManualContent"}),"."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"wrapperOnlyOutput": {\n\t"type": "boolean",\n\t"default": false\n},\n"wrapperManualContent": {\n\t"type": "string",\n\t"default": ""\n}\n'})}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"echo Components::render(\n\t'wrapper',\n\t[\n\t\t'wrapperOnlyOutput' => true,\n\t\t'wrapperManualContent' => '',\n\t],\n\t'',\n\ttrue\n);\n"})}),"\n",(0,o.jsx)(t.admonition,{type:"note",children:(0,o.jsxs)(t.p,{children:["Setting the ",(0,o.jsx)(t.code,{children:"$useComponentDefaults"})," to ",(0,o.jsx)(t.code,{children:"true"})," will save you the trouble of setting a lot of additional properties by using default values defined in your manifest."]})}),"\n",(0,o.jsx)(t.h3,{id:"wrapper-output",children:"Wrapper output"}),"\n",(0,o.jsx)(t.p,{children:"Now that we have a working Wrapper component in our template, it's time to display posts in the loop."}),"\n",(0,o.jsxs)(t.p,{children:["Let's use the ",(0,o.jsx)(t.a,{href:"https://infinum.github.io/eightshift-frontend-libs/storybook/?path=/story/components-card--editor",children:"Card"})," from the Frontend Libs as it's the perfect component to display post details and pass it to the ",(0,o.jsx)(t.code,{children:"wrapperManualContent"}),"."]}),"\n",(0,o.jsx)(t.p,{children:"To make the Card component look even better, we'll use some of the powerful properties the Wrapper component has to offer and add spacing between each item."}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"'wrapperSpacingTopLarge' => 50,\n'wrapperSpacingBottomLarge' => 50,\n"})}),"\n",(0,o.jsx)(t.admonition,{type:"note",children:(0,o.jsxs)(t.p,{children:["For the list of all available properties, look at the Wrapper's ",(0,o.jsx)(t.code,{children:"manifest.json"}),"."]})}),"\n",(0,o.jsx)(t.h3,{id:"final-result",children:"Final result"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"<?php\n\n/**\n * Display regular index/home page\n *\n * @package InfinumLibs\n */\n\nuse InfinumLibsVendor\\EightshiftLibs\\Helpers\\Components;\n\nget_header();\n\nif (have_posts()) {\n\twhile (have_posts()) {\n\t\tthe_post();\n\n\t\techo Components::render(\n\t\t\t'wrapper.php',\n\t\t\t[\n\t\t\t\t'wrapperOnlyOutput' => true,\n\t\t\t\t'wrapperManualContent' => Components::render('card', [\n\t\t\t\t\t'introContent' => sprintf(__('On %1$s by %2$s', 'eightshift'), get_the_date(), get_the_author_meta('display_name')),\n\t\t\t\t\t'headingContent' => get_the_title(),\n\t\t\t\t\t'paragraphContent' => apply_filters('the_content', get_the_excerpt()),\n\t\t\t\t\t'buttonContent' => __('View more', 'eightshift'),\n\t\t\t\t\t'buttonUrl' => get_permalink(),\n\t\t\t\t]),\n\t\t\t\t'wrapperSpacingTopLarge' => 50,\n\t\t\t\t'wrapperSpacingBottomLarge' => 50,\n\t\t\t],\n\t\t\t'',\n\t\t\ttrue\n\t\t);\n\t}\n}\n\nget_footer();\n"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Wrapper with content",src:n(16171).A+"",width:"1082",height:"586"})}),"\n",(0,o.jsx)(t.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,o.jsx)(t.p,{children:"Although the Wrapper is (usually) not intended to be used as a standalone component, there is a nice benefit to having a time-saving, out-of-the-box solution for displaying content in a grid already defined in your project."})]})}function c(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},50083:(e,t,n)=>{n.d(t,{A:()=>o});const o=n.p+"assets/images/no-wrapper-97a4e7e283102852266b91e02be1c342.png"},16171:(e,t,n)=>{n.d(t,{A:()=>o});const o=n.p+"assets/images/wrapper-content-1fb48b3084f48f13075a3af67bc6c323.png"},28453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>i});var o=n(96540);const s={},r=o.createContext(s);function a(e){const t=o.useContext(r);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(s):e.components||s:a(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3b5edcc4.5a5355a5.js b/assets/js/3b5edcc4.5a5355a5.js deleted file mode 100644 index 41630a76c..000000000 --- a/assets/js/3b5edcc4.5a5355a5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[2008],{6275:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/images","page":1,"postsPerPage":9,"totalPages":1,"totalCount":2,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/3d99f89d.8355a63c.js b/assets/js/3d99f89d.8355a63c.js new file mode 100644 index 000000000..7d5ab2279 --- /dev/null +++ b/assets/js/3d99f89d.8355a63c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[42529],{54841:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>r,contentTitle:()=>l,default:()=>p,frontMatter:()=>i,metadata:()=>a,toc:()=>m});var n=o(74848),s=o(28453);const i={title:"Using multiple same components",description:"Explains how to use multiple same components inside",slug:"multiple-same-components",authors:"obradovic",date:new Date("2023-06-12T00:00:00.000Z"),tags:["eightshift","boilerplate","components","blocks"],hide_table_of_contents:!1},l=void 0,a={permalink:"/blog/multiple-same-components",source:"@site/blog/2023-06-12-multiple-same-components.md",title:"Using multiple same components",description:"Explains how to use multiple same components inside",date:"2023-06-12T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"components",permalink:"/blog/tags/components"},{label:"blocks",permalink:"/blog/tags/blocks"}],readingTime:6.305,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Using multiple same components",description:"Explains how to use multiple same components inside",slug:"multiple-same-components",authors:"obradovic",date:"2023-06-12T00:00:00.000Z",tags:["eightshift","boilerplate","components","blocks"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Working with custom queries",permalink:"/blog/working-with-custom-queries"},nextItem:{title:"Block Patterns",permalink:"/blog/block-patterns"}},r={authorsImageUrls:[void 0]},m=[];function c(e){const t={p:"p",...(0,s.R)(),...e.components};return(0,n.jsx)(t.p,{children:"From time to time, you may need to create a block or a more complex component that uses more than one instance of the same component. In this blog post, we'll explain how this works in a bit more detail."})}function p(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},28453:(e,t,o)=>{o.d(t,{R:()=>l,x:()=>a});var n=o(96540);const s={},i=n.createContext(s);function l(e){const t=n.useContext(i);return n.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(s):e.components||s:l(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3d99f89d.c265abe6.js b/assets/js/3d99f89d.c265abe6.js deleted file mode 100644 index 7efcfaf8d..000000000 --- a/assets/js/3d99f89d.c265abe6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[42529],{54841:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>r,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>m});var n=o(74848),s=o(28453);const i={title:"Using multiple same components",description:"Explains how to use multiple same components inside",slug:"multiple-same-components",authors:"obradovic",date:new Date("2023-06-12T00:00:00.000Z"),tags:["eightshift","boilerplate","components","blocks"],hide_table_of_contents:!1},a=void 0,l={permalink:"/blog/multiple-same-components",source:"@site/blog/2023-06-12-multiple-same-components.md",title:"Using multiple same components",description:"Explains how to use multiple same components inside",date:"2023-06-12T00:00:00.000Z",formattedDate:"June 12, 2023",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"components",permalink:"/blog/tags/components"},{label:"blocks",permalink:"/blog/tags/blocks"}],readingTime:6.305,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Using multiple same components",description:"Explains how to use multiple same components inside",slug:"multiple-same-components",authors:"obradovic",date:"2023-06-12T00:00:00.000Z",tags:["eightshift","boilerplate","components","blocks"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Working with custom queries",permalink:"/blog/working-with-custom-queries"},nextItem:{title:"Block Patterns",permalink:"/blog/block-patterns"}},r={authorsImageUrls:[void 0]},m=[];function c(e){const t={p:"p",...(0,s.R)(),...e.components};return(0,n.jsx)(t.p,{children:"From time to time, you may need to create a block or a more complex component that uses more than one instance of the same component. In this blog post, we'll explain how this works in a bit more detail."})}function p(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},28453:(e,t,o)=>{o.d(t,{R:()=>a,x:()=>l});var n=o(96540);const s={},i=n.createContext(s);function a(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3fd111c7.457afa21.js b/assets/js/3fd111c7.457afa21.js deleted file mode 100644 index 0b907abc2..000000000 --- a/assets/js/3fd111c7.457afa21.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[25173],{49523:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>i,contentTitle:()=>r,default:()=>m,frontMatter:()=>a,metadata:()=>l,toc:()=>c});var n=o(74848),s=o(28453);const a={title:"Block Patterns",description:"Intro to block patterns and examples how to use them",slug:"block-patterns",authors:"obradovic",date:new Date("2023-03-01T00:00:00.000Z"),tags:["eightshift","boilerplate","block","patterns"],hide_table_of_contents:!1},r=void 0,l={permalink:"/blog/block-patterns",source:"@site/blog/2022-12-22-block-patterns.md",title:"Block Patterns",description:"Intro to block patterns and examples how to use them",date:"2023-03-01T00:00:00.000Z",formattedDate:"March 1, 2023",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"block",permalink:"/blog/tags/block"},{label:"patterns",permalink:"/blog/tags/patterns"}],readingTime:3.95,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Block Patterns",description:"Intro to block patterns and examples how to use them",slug:"block-patterns",authors:"obradovic",date:"2023-03-01T00:00:00.000Z",tags:["eightshift","boilerplate","block","patterns"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Using multiple same components",permalink:"/blog/multiple-same-components"},nextItem:{title:"Using Custom Post Types and Taxonomies",permalink:"/blog/using-cpts-and-taxonomies"}},i={authorsImageUrls:[void 0]},c=[];function p(t){const e={p:"p",...(0,s.R)(),...t.components};return(0,n.jsx)(e.p,{children:"Although Block Patterns may be similar to Block Variations, there are some differences between the two. This blog post will cover what Block Patterns are and how to use them."})}function m(t={}){const{wrapper:e}={...(0,s.R)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(p,{...t})}):p(t)}},28453:(t,e,o)=>{o.d(e,{R:()=>r,x:()=>l});var n=o(96540);const s={},a=n.createContext(s);function r(t){const e=n.useContext(a);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(s):t.components||s:r(t.components),n.createElement(a.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/3fd111c7.c2d6104c.js b/assets/js/3fd111c7.c2d6104c.js new file mode 100644 index 000000000..6d7e67a28 --- /dev/null +++ b/assets/js/3fd111c7.c2d6104c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[25173],{49523:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>i,contentTitle:()=>r,default:()=>m,frontMatter:()=>a,metadata:()=>l,toc:()=>c});var n=o(74848),s=o(28453);const a={title:"Block Patterns",description:"Intro to block patterns and examples how to use them",slug:"block-patterns",authors:"obradovic",date:new Date("2023-03-01T00:00:00.000Z"),tags:["eightshift","boilerplate","block","patterns"],hide_table_of_contents:!1},r=void 0,l={permalink:"/blog/block-patterns",source:"@site/blog/2022-12-22-block-patterns.md",title:"Block Patterns",description:"Intro to block patterns and examples how to use them",date:"2023-03-01T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"block",permalink:"/blog/tags/block"},{label:"patterns",permalink:"/blog/tags/patterns"}],readingTime:3.95,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Block Patterns",description:"Intro to block patterns and examples how to use them",slug:"block-patterns",authors:"obradovic",date:"2023-03-01T00:00:00.000Z",tags:["eightshift","boilerplate","block","patterns"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Using multiple same components",permalink:"/blog/multiple-same-components"},nextItem:{title:"Using Custom Post Types and Taxonomies",permalink:"/blog/using-cpts-and-taxonomies"}},i={authorsImageUrls:[void 0]},c=[];function p(t){const e={p:"p",...(0,s.R)(),...t.components};return(0,n.jsx)(e.p,{children:"Although Block Patterns may be similar to Block Variations, there are some differences between the two. This blog post will cover what Block Patterns are and how to use them."})}function m(t={}){const{wrapper:e}={...(0,s.R)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(p,{...t})}):p(t)}},28453:(t,e,o)=>{o.d(e,{R:()=>r,x:()=>l});var n=o(96540);const s={},a=n.createContext(s);function r(t){const e=n.useContext(a);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(s):t.components||s:r(t.components),n.createElement(a.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/404e42f6.0e01ab77.js b/assets/js/404e42f6.0e01ab77.js new file mode 100644 index 000000000..0e1b0814a --- /dev/null +++ b/assets/js/404e42f6.0e01ab77.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[67960],{31678:t=>{t.exports=JSON.parse('{"metadata":{"permalink":"/blog/page/2","page":2,"postsPerPage":9,"totalPages":2,"totalCount":17,"previousPage":"/blog","blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/410c21ec.081ae75a.js b/assets/js/410c21ec.081ae75a.js new file mode 100644 index 000000000..716d475b5 --- /dev/null +++ b/assets/js/410c21ec.081ae75a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[77514],{81375:t=>{t.exports=JSON.parse('{"tag":{"label":"boilerplate","permalink":"/blog/tags/boilerplate","allTagsPath":"/blog/tags","count":17,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/boilerplate/page/2","page":2,"postsPerPage":9,"totalPages":2,"totalCount":17,"previousPage":"/blog/tags/boilerplate","blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/41756ce8.437bcf34.js b/assets/js/41756ce8.437bcf34.js new file mode 100644 index 000000000..68fe3280d --- /dev/null +++ b/assets/js/41756ce8.437bcf34.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[59616],{37586:l=>{l.exports=JSON.parse('{"tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift","count":17},{"label":"boilerplate","permalink":"/blog/tags/boilerplate","count":17},{"label":"templates","permalink":"/blog/tags/templates","count":1},{"label":"inner blocks","permalink":"/blog/tags/inner-blocks","count":1},{"label":"blocks","permalink":"/blog/tags/blocks","count":5},{"label":"plugins","permalink":"/blog/tags/plugins","count":1},{"label":"colors","permalink":"/blog/tags/colors","count":1},{"label":"images","permalink":"/blog/tags/images","count":2},{"label":"classes","permalink":"/blog/tags/classes","count":1},{"label":"i18n","permalink":"/blog/tags/i-18-n","count":1},{"label":"multilingual","permalink":"/blog/tags/multilingual","count":1},{"label":"wrapper","permalink":"/blog/tags/wrapper","count":1},{"label":"components","permalink":"/blog/tags/components","count":5},{"label":"service","permalink":"/blog/tags/service","count":1},{"label":"class","permalink":"/blog/tags/class","count":1},{"label":"query","permalink":"/blog/tags/query","count":1},{"label":"block","permalink":"/blog/tags/block","count":2},{"label":"patterns","permalink":"/blog/tags/patterns","count":1},{"label":"cpt","permalink":"/blog/tags/cpt","count":1},{"label":"custom post type","permalink":"/blog/tags/custom-post-type","count":1},{"label":"taxonomy","permalink":"/blog/tags/taxonomy","count":1},{"label":"taxonomies","permalink":"/blog/tags/taxonomies","count":1},{"label":"terms","permalink":"/blog/tags/terms","count":1},{"label":"variations","permalink":"/blog/tags/variations","count":1},{"label":"acf","permalink":"/blog/tags/acf","count":1},{"label":"advanced custom fields","permalink":"/blog/tags/advanced-custom-fields","count":1},{"label":"theme options","permalink":"/blog/tags/theme-options","count":1},{"label":"assets","permalink":"/blog/tags/assets","count":1},{"label":"icons","permalink":"/blog/tags/icons","count":1},{"label":"fonts","permalink":"/blog/tags/fonts","count":1},{"label":"wpcli","permalink":"/blog/tags/wpcli","count":1},{"label":"setup","permalink":"/blog/tags/setup","count":1}]}')}}]); \ No newline at end of file diff --git a/assets/js/42478870.3c7ac60b.js b/assets/js/42478870.3c7ac60b.js deleted file mode 100644 index 12fc7bf16..000000000 --- a/assets/js/42478870.3c7ac60b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[92091],{14292:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/custom-post-type","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/4293ef56.0e6ce6c9.js b/assets/js/4293ef56.0e6ce6c9.js deleted file mode 100644 index 7a40ef3b5..000000000 --- a/assets/js/4293ef56.0e6ce6c9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[85329],{31654:s=>{s.exports=JSON.parse('{"label":"taxonomies","permalink":"/blog/tags/taxonomies","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/429e0b25.fb2fbe9c.js b/assets/js/429e0b25.fb2fbe9c.js new file mode 100644 index 000000000..3da0ba19d --- /dev/null +++ b/assets/js/429e0b25.fb2fbe9c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[39446],{65155:t=>{t.exports=JSON.parse('{"tag":{"label":"assets","permalink":"/blog/tags/assets","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/assets","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/43085e7a.1c487d66.js b/assets/js/43085e7a.1c487d66.js new file mode 100644 index 000000000..66cb13219 --- /dev/null +++ b/assets/js/43085e7a.1c487d66.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[98402],{23129:t=>{t.exports=JSON.parse('{"tag":{"label":"cpt","permalink":"/blog/tags/cpt","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/cpt","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/430a0c78.28c3342b.js b/assets/js/430a0c78.28c3342b.js deleted file mode 100644 index b5ba476a8..000000000 --- a/assets/js/430a0c78.28c3342b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[98731],{89572:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/colors","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/48b9a430.0f349890.js b/assets/js/48b9a430.0f349890.js new file mode 100644 index 000000000..6267f682f --- /dev/null +++ b/assets/js/48b9a430.0f349890.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[11154],{28442:t=>{t.exports=JSON.parse('{"tag":{"label":"icons","permalink":"/blog/tags/icons","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/icons","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/49403d8c.0b3501f3.js b/assets/js/49403d8c.0b3501f3.js deleted file mode 100644 index 3dec0fc77..000000000 --- a/assets/js/49403d8c.0b3501f3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[5996],{1717:(o,e,t)=>{t.r(e),t.d(e,{assets:()=>r,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var n=t(74848),s=t(28453);const i={title:"Adding components and blocks with WP-CLI",description:"This blog post covers how to use our WP CLI commands for adding components and blocks into your project.",slug:"adding-blocks-wpcli",authors:"obradovic",date:new Date("2022-03-14T00:00:00.000Z"),tags:["eightshift","boilerplate","wpcli","components","blocks"],hide_table_of_contents:!1},a=void 0,l={permalink:"/blog/adding-blocks-wpcli",source:"@site/blog/2022-03-03-adding-blocks-wpcli.md",title:"Adding components and blocks with WP-CLI",description:"This blog post covers how to use our WP CLI commands for adding components and blocks into your project.",date:"2022-03-14T00:00:00.000Z",formattedDate:"March 14, 2022",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"wpcli",permalink:"/blog/tags/wpcli"},{label:"components",permalink:"/blog/tags/components"},{label:"blocks",permalink:"/blog/tags/blocks"}],readingTime:2.785,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Adding components and blocks with WP-CLI",description:"This blog post covers how to use our WP CLI commands for adding components and blocks into your project.",slug:"adding-blocks-wpcli",authors:"obradovic",date:"2022-03-14T00:00:00.000Z",tags:["eightshift","boilerplate","wpcli","components","blocks"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Modifying blocks - Color Theme",permalink:"/blog/modifying-blocks-color-theme"},nextItem:{title:"Components and blocks",permalink:"/blog/components-and-blocks"}},r={authorsImageUrls:[void 0]},c=[];function d(o){const e={a:"a",p:"p",...(0,s.R)(),...o.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(e.p,{children:["Although there are a few basic blocks available after creating a project, there are a lot more blocks available in the dev kit. However, you have to add them to your project using WP-CLI (the simplest method). To see the complete list of available components and blocks, visit our ",(0,n.jsx)(e.a,{href:"/devkit-components",children:"Storybook"}),"."]}),"\n",(0,n.jsx)(e.p,{children:"These can be used out-of-the-box, but also as a good starting point if you need similar blocks in your projects. It will also speed up your development time since you don't have to build everything from scratch."})]})}function p(o={}){const{wrapper:e}={...(0,s.R)(),...o.components};return e?(0,n.jsx)(e,{...o,children:(0,n.jsx)(d,{...o})}):d(o)}},28453:(o,e,t)=>{t.d(e,{R:()=>a,x:()=>l});var n=t(96540);const s={},i=n.createContext(s);function a(o){const e=n.useContext(i);return n.useMemo((function(){return"function"==typeof o?o(e):{...e,...o}}),[e,o])}function l(o){let e;return e=o.disableParentContext?"function"==typeof o.components?o.components(s):o.components||s:a(o.components),n.createElement(i.Provider,{value:e},o.children)}}}]); \ No newline at end of file diff --git a/assets/js/49403d8c.bedf4b95.js b/assets/js/49403d8c.bedf4b95.js new file mode 100644 index 000000000..e01e28700 --- /dev/null +++ b/assets/js/49403d8c.bedf4b95.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[5996],{1717:(o,e,t)=>{t.r(e),t.d(e,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>r});var n=t(74848),s=t(28453);const i={title:"Adding components and blocks with WP-CLI",description:"This blog post covers how to use our WP CLI commands for adding components and blocks into your project.",slug:"adding-blocks-wpcli",authors:"obradovic",date:new Date("2022-03-14T00:00:00.000Z"),tags:["eightshift","boilerplate","wpcli","components","blocks"],hide_table_of_contents:!1},a=void 0,l={permalink:"/blog/adding-blocks-wpcli",source:"@site/blog/2022-03-03-adding-blocks-wpcli.md",title:"Adding components and blocks with WP-CLI",description:"This blog post covers how to use our WP CLI commands for adding components and blocks into your project.",date:"2022-03-14T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"wpcli",permalink:"/blog/tags/wpcli"},{label:"components",permalink:"/blog/tags/components"},{label:"blocks",permalink:"/blog/tags/blocks"}],readingTime:2.785,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Adding components and blocks with WP-CLI",description:"This blog post covers how to use our WP CLI commands for adding components and blocks into your project.",slug:"adding-blocks-wpcli",authors:"obradovic",date:"2022-03-14T00:00:00.000Z",tags:["eightshift","boilerplate","wpcli","components","blocks"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Modifying blocks - Color Theme",permalink:"/blog/modifying-blocks-color-theme"},nextItem:{title:"Components and blocks",permalink:"/blog/components-and-blocks"}},c={authorsImageUrls:[void 0]},r=[];function d(o){const e={a:"a",p:"p",...(0,s.R)(),...o.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(e.p,{children:["Although there are a few basic blocks available after creating a project, there are a lot more blocks available in the dev kit. However, you have to add them to your project using WP-CLI (the simplest method). To see the complete list of available components and blocks, visit our ",(0,n.jsx)(e.a,{href:"/devkit-components",children:"Storybook"}),"."]}),"\n",(0,n.jsx)(e.p,{children:"These can be used out-of-the-box, but also as a good starting point if you need similar blocks in your projects. It will also speed up your development time since you don't have to build everything from scratch."})]})}function p(o={}){const{wrapper:e}={...(0,s.R)(),...o.components};return e?(0,n.jsx)(e,{...o,children:(0,n.jsx)(d,{...o})}):d(o)}},28453:(o,e,t)=>{t.d(e,{R:()=>a,x:()=>l});var n=t(96540);const s={},i=n.createContext(s);function a(o){const e=n.useContext(i);return n.useMemo((function(){return"function"==typeof o?o(e):{...e,...o}}),[e,o])}function l(o){let e;return e=o.disableParentContext?"function"==typeof o.components?o.components(s):o.components||s:a(o.components),n.createElement(i.Provider,{value:e},o.children)}}}]); \ No newline at end of file diff --git a/assets/js/499ba0c7.cce6eed6.js b/assets/js/499ba0c7.cce6eed6.js deleted file mode 100644 index f217f6d47..000000000 --- a/assets/js/499ba0c7.cce6eed6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[77618],{96111:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/setup","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/4f8601bc.ae8126a2.js b/assets/js/4f8601bc.ae8126a2.js deleted file mode 100644 index 052f63d01..000000000 --- a/assets/js/4f8601bc.ae8126a2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[54207],{21896:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>b,frontMatter:()=>s,metadata:()=>i,toc:()=>r});var o=n(74848),a=n(28453);const s={title:"Components and blocks",description:"Explanation of the difference between components and blocks on a practical example",slug:"components-and-blocks",authors:"obradovic",tags:["eightshift","boilerplate","components","blocks"],hide_table_of_contents:!1},c=void 0,i={permalink:"/blog/components-and-blocks",source:"@site/blog/2022-01-21-components-and-blocks.md",title:"Components and blocks",description:"Explanation of the difference between components and blocks on a practical example",date:"2022-01-21T00:00:00.000Z",formattedDate:"January 21, 2022",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"components",permalink:"/blog/tags/components"},{label:"blocks",permalink:"/blog/tags/blocks"}],readingTime:3.75,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Components and blocks",description:"Explanation of the difference between components and blocks on a practical example",slug:"components-and-blocks",authors:"obradovic",tags:["eightshift","boilerplate","components","blocks"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Adding components and blocks with WP-CLI",permalink:"/blog/adding-blocks-wpcli"},nextItem:{title:"Initial setup and first steps",permalink:"/blog/initial-setup"}},l={authorsImageUrls:[void 0]},r=[];function p(e){const t={a:"a",p:"p",...(0,a.R)(),...e.components};return(0,o.jsxs)(t.p,{children:["In this blog post, we'll give you a practical explanation about the difference between components and blocks. For a truly in-depth explanation about components and blocks, you can refer to ",(0,o.jsx)(t.a,{href:"/docs/basics/blocks",children:"our documentation"}),". A more specific explanation about using components in a block can be found in the ",(0,o.jsx)(t.a,{href:"/docs/basics/blocks-component-in-block/",children:"Component in a Block"})," section."]})}function b(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},28453:(e,t,n)=>{n.d(t,{R:()=>c,x:()=>i});var o=n(96540);const a={},s=o.createContext(a);function c(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(a):e.components||a:c(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4f8601bc.ee737517.js b/assets/js/4f8601bc.ee737517.js new file mode 100644 index 000000000..a1c16f6a9 --- /dev/null +++ b/assets/js/4f8601bc.ee737517.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[54207],{21896:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>b,frontMatter:()=>s,metadata:()=>i,toc:()=>r});var o=n(74848),a=n(28453);const s={title:"Components and blocks",description:"Explanation of the difference between components and blocks on a practical example",slug:"components-and-blocks",authors:"obradovic",tags:["eightshift","boilerplate","components","blocks"],hide_table_of_contents:!1},c=void 0,i={permalink:"/blog/components-and-blocks",source:"@site/blog/2022-01-21-components-and-blocks.md",title:"Components and blocks",description:"Explanation of the difference between components and blocks on a practical example",date:"2022-01-21T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"components",permalink:"/blog/tags/components"},{label:"blocks",permalink:"/blog/tags/blocks"}],readingTime:3.75,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Components and blocks",description:"Explanation of the difference between components and blocks on a practical example",slug:"components-and-blocks",authors:"obradovic",tags:["eightshift","boilerplate","components","blocks"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Adding components and blocks with WP-CLI",permalink:"/blog/adding-blocks-wpcli"},nextItem:{title:"Initial setup and first steps",permalink:"/blog/initial-setup"}},l={authorsImageUrls:[void 0]},r=[];function p(e){const t={a:"a",p:"p",...(0,a.R)(),...e.components};return(0,o.jsxs)(t.p,{children:["In this blog post, we'll give you a practical explanation about the difference between components and blocks. For a truly in-depth explanation about components and blocks, you can refer to ",(0,o.jsx)(t.a,{href:"/docs/basics/blocks",children:"our documentation"}),". A more specific explanation about using components in a block can be found in the ",(0,o.jsx)(t.a,{href:"/docs/basics/blocks-component-in-block/",children:"Component in a Block"})," section."]})}function b(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},28453:(e,t,n)=>{n.d(t,{R:()=>c,x:()=>i});var o=n(96540);const a={},s=o.createContext(a);function c(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(a):e.components||a:c(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4fec421e.7364b89a.js b/assets/js/4fec421e.7364b89a.js new file mode 100644 index 000000000..f6f753cdb --- /dev/null +++ b/assets/js/4fec421e.7364b89a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[94653],{6028:t=>{t.exports=JSON.parse('{"tag":{"label":"inner blocks","permalink":"/blog/tags/inner-blocks","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/inner-blocks","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/50b72e32.5f382e03.js b/assets/js/50b72e32.5f382e03.js new file mode 100644 index 000000000..18eae06bb --- /dev/null +++ b/assets/js/50b72e32.5f382e03.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[64889],{52807:t=>{t.exports=JSON.parse('{"tag":{"label":"setup","permalink":"/blog/tags/setup","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/setup","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/5239f41c.bdf6ce4d.js b/assets/js/5239f41c.bdf6ce4d.js new file mode 100644 index 000000000..4f29916cc --- /dev/null +++ b/assets/js/5239f41c.bdf6ce4d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[10984],{59987:t=>{t.exports=JSON.parse('{"tag":{"label":"multilingual","permalink":"/blog/tags/multilingual","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/multilingual","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/52c25d1c.2377781e.js b/assets/js/52c25d1c.2377781e.js new file mode 100644 index 000000000..aed5aa0dd --- /dev/null +++ b/assets/js/52c25d1c.2377781e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[25558],{49661:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>s,contentTitle:()=>l,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>u});var a=n(74848),o=n(28453);const i={title:"Making your project multilingual",description:"Examples of using I18n in a project",slug:"making-your-project-multilingual",authors:"obradovic",date:new Date("2024-02-01T00:00:00.000Z"),tags:["eightshift","boilerplate","i18n","multilingual"],hide_table_of_contents:!1},l=void 0,r={permalink:"/blog/making-your-project-multilingual",source:"@site/blog/2024-02-01-making-your-project-multilingual.md",title:"Making your project multilingual",description:"Examples of using I18n in a project",date:"2024-02-01T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"i18n",permalink:"/blog/tags/i-18-n"},{label:"multilingual",permalink:"/blog/tags/multilingual"}],readingTime:5.75,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Making your project multilingual",description:"Examples of using I18n in a project",slug:"making-your-project-multilingual",authors:"obradovic",date:"2024-02-01T00:00:00.000Z",tags:["eightshift","boilerplate","i18n","multilingual"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Tips & useful features",permalink:"/blog/tips-useful-features"},nextItem:{title:"How to use the Wrapper as a standalone component",permalink:"/blog/wrapper-as-a-standalone-component"}},s={authorsImageUrls:[void 0]},u=[];function c(t){const e={p:"p",...(0,o.R)(),...t.components};return(0,a.jsx)(e.p,{children:"Tools like Google Translate can automatically translate websites with reasonable quality. However, users will have a much better experience if you add support for multiple languages in your project and manage the translations yourself."})}function p(t={}){const{wrapper:e}={...(0,o.R)(),...t.components};return e?(0,a.jsx)(e,{...t,children:(0,a.jsx)(c,{...t})}):c(t)}},28453:(t,e,n)=>{n.d(e,{R:()=>l,x:()=>r});var a=n(96540);const o={},i=a.createContext(o);function l(t){const e=a.useContext(i);return a.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(o):t.components||o:l(t.components),a.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/52c25d1c.87d5c03b.js b/assets/js/52c25d1c.87d5c03b.js deleted file mode 100644 index b3bab9b31..000000000 --- a/assets/js/52c25d1c.87d5c03b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[25558],{49661:(t,e,a)=>{a.r(e),a.d(e,{assets:()=>s,contentTitle:()=>l,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>u});var n=a(74848),o=a(28453);const i={title:"Making your project multilingual",description:"Examples of using I18n in a project",slug:"making-your-project-multilingual",authors:"obradovic",date:new Date("2024-02-01T00:00:00.000Z"),tags:["eightshift","boilerplate","i18n","multilingual"],hide_table_of_contents:!1},l=void 0,r={permalink:"/blog/making-your-project-multilingual",source:"@site/blog/2024-02-01-making-your-project-multilingual.md",title:"Making your project multilingual",description:"Examples of using I18n in a project",date:"2024-02-01T00:00:00.000Z",formattedDate:"February 1, 2024",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"i18n",permalink:"/blog/tags/i-18-n"},{label:"multilingual",permalink:"/blog/tags/multilingual"}],readingTime:5.75,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Making your project multilingual",description:"Examples of using I18n in a project",slug:"making-your-project-multilingual",authors:"obradovic",date:"2024-02-01T00:00:00.000Z",tags:["eightshift","boilerplate","i18n","multilingual"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Tips & useful features",permalink:"/blog/tips-useful-features"},nextItem:{title:"How to use the Wrapper as a standalone component",permalink:"/blog/wrapper-as-a-standalone-component"}},s={authorsImageUrls:[void 0]},u=[];function c(t){const e={p:"p",...(0,o.R)(),...t.components};return(0,n.jsx)(e.p,{children:"Tools like Google Translate can automatically translate websites with reasonable quality. However, users will have a much better experience if you add support for multiple languages in your project and manage the translations yourself."})}function p(t={}){const{wrapper:e}={...(0,o.R)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(c,{...t})}):c(t)}},28453:(t,e,a)=>{a.d(e,{R:()=>l,x:()=>r});var n=a(96540);const o={},i=n.createContext(o);function l(t){const e=n.useContext(i);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(o):t.components||o:l(t.components),n.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/53a1ff94.a8457c77.js b/assets/js/53a1ff94.a8457c77.js new file mode 100644 index 000000000..a49da4383 --- /dev/null +++ b/assets/js/53a1ff94.a8457c77.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[18602],{86524:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>n,metadata:()=>r,toc:()=>c});var o=s(74848),i=s(28453);const n={title:"Using assets in a project",description:"Step-by-step guide on how to add assets like images or icons to your theme.",slug:"using-assets",authors:"obradovic",date:new Date("2022-04-28T00:00:00.000Z"),tags:["eightshift","boilerplate","assets","images","icons"],hide_table_of_contents:!1},a=void 0,r={permalink:"/blog/using-assets",source:"@site/blog/2022-04-25-using-assets.md",title:"Using assets in a project",description:"Step-by-step guide on how to add assets like images or icons to your theme.",date:"2022-04-28T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"assets",permalink:"/blog/tags/assets"},{label:"images",permalink:"/blog/tags/images"},{label:"icons",permalink:"/blog/tags/icons"}],readingTime:3.945,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Using assets in a project",description:"Step-by-step guide on how to add assets like images or icons to your theme.",slug:"using-assets",authors:"obradovic",date:"2022-04-28T00:00:00.000Z",tags:["eightshift","boilerplate","assets","images","icons"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"How to use ACF in your project",permalink:"/blog/acf-in-a-project"},nextItem:{title:"Adding fonts",permalink:"/blog/adding-fonts"}},l={authorsImageUrls:[void 0]},c=[];function g(e){const t={p:"p",...(0,i.R)(),...e.components};return(0,o.jsx)(t.p,{children:"Previously, we went through the process of adding fonts to your project. While the process of adding additional assets like images or icons has some similarities to adding fonts, it also has its unique steps. In this post, we'll cover multiple ways of adding assets and using them on your site."})}function d(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(g,{...e})}):g(e)}},28453:(e,t,s)=>{s.d(t,{R:()=>a,x:()=>r});var o=s(96540);const i={},n=o.createContext(i);function a(e){const t=o.useContext(n);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(i):e.components||i:a(e.components),o.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/53a1ff94.badfc858.js b/assets/js/53a1ff94.badfc858.js deleted file mode 100644 index afd4a5725..000000000 --- a/assets/js/53a1ff94.badfc858.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[18602],{86524:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>n,metadata:()=>r,toc:()=>c});var o=s(74848),i=s(28453);const n={title:"Using assets in a project",description:"Step-by-step guide on how to add assets like images or icons to your theme.",slug:"using-assets",authors:"obradovic",date:new Date("2022-04-28T00:00:00.000Z"),tags:["eightshift","boilerplate","assets","images","icons"],hide_table_of_contents:!1},a=void 0,r={permalink:"/blog/using-assets",source:"@site/blog/2022-04-25-using-assets.md",title:"Using assets in a project",description:"Step-by-step guide on how to add assets like images or icons to your theme.",date:"2022-04-28T00:00:00.000Z",formattedDate:"April 28, 2022",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"assets",permalink:"/blog/tags/assets"},{label:"images",permalink:"/blog/tags/images"},{label:"icons",permalink:"/blog/tags/icons"}],readingTime:3.945,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Using assets in a project",description:"Step-by-step guide on how to add assets like images or icons to your theme.",slug:"using-assets",authors:"obradovic",date:"2022-04-28T00:00:00.000Z",tags:["eightshift","boilerplate","assets","images","icons"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"How to use ACF in your project",permalink:"/blog/acf-in-a-project"},nextItem:{title:"Adding fonts",permalink:"/blog/adding-fonts"}},l={authorsImageUrls:[void 0]},c=[];function g(e){const t={p:"p",...(0,i.R)(),...e.components};return(0,o.jsx)(t.p,{children:"Previously, we went through the process of adding fonts to your project. While the process of adding additional assets like images or icons has some similarities to adding fonts, it also has its unique steps. In this post, we'll cover multiple ways of adding assets and using them on your site."})}function d(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(g,{...e})}):g(e)}},28453:(e,t,s)=>{s.d(t,{R:()=>a,x:()=>r});var o=s(96540);const i={},n=o.createContext(i);function a(e){const t=o.useContext(n);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(i):e.components||i:a(e.components),o.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/53a3e6dc.fcbc127f.js b/assets/js/53a3e6dc.fcbc127f.js new file mode 100644 index 000000000..367319c87 --- /dev/null +++ b/assets/js/53a3e6dc.fcbc127f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[6261],{60922:t=>{t.exports=JSON.parse('{"metadata":{"permalink":"/blog","page":1,"postsPerPage":9,"totalPages":2,"totalCount":17,"nextPage":"/blog/page/2","blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/5422c2e3.434cea54.js b/assets/js/5422c2e3.434cea54.js deleted file mode 100644 index 7dd531de7..000000000 --- a/assets/js/5422c2e3.434cea54.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[10559],{78899:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/templates","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/54305ae0.30361cc1.js b/assets/js/54305ae0.30361cc1.js deleted file mode 100644 index 7e8850e93..000000000 --- a/assets/js/54305ae0.30361cc1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[15792],{24226:s=>{s.exports=JSON.parse('{"label":"advanced custom fields","permalink":"/blog/tags/advanced-custom-fields","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/590322ab.7cc7b5e1.js b/assets/js/590322ab.7cc7b5e1.js new file mode 100644 index 000000000..8ee95fa78 --- /dev/null +++ b/assets/js/590322ab.7cc7b5e1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[4203],{57759:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var o=n(74848),s=n(28453);const i={title:"Adding fonts",description:"An intro to adding fonts to your project.",slug:"adding-fonts",authors:"obradovic",date:new Date("2022-04-12T00:00:00.000Z"),tags:["eightshift","boilerplate","fonts"],hide_table_of_contents:!1},a=void 0,r={permalink:"/blog/adding-fonts",source:"@site/blog/2022-04-08-adding-fonts.md",title:"Adding fonts",description:"An intro to adding fonts to your project.",date:"2022-04-12T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"fonts",permalink:"/blog/tags/fonts"}],readingTime:6.005,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Adding fonts",description:"An intro to adding fonts to your project.",slug:"adding-fonts",authors:"obradovic",date:"2022-04-12T00:00:00.000Z",tags:["eightshift","boilerplate","fonts"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Using assets in a project",permalink:"/blog/using-assets"},nextItem:{title:"Modifying blocks - Color Theme",permalink:"/blog/modifying-blocks-color-theme"}},l={authorsImageUrls:[void 0]},c=[{value:"Importing fonts into your project",id:"importing-fonts-into-your-project",level:2},{value:"Using only one font in a block",id:"using-only-one-font-in-a-block",level:2},{value:"Adding a font picker",id:"adding-a-font-picker",level:2},{value:"Closing thoughts",id:"closing-thoughts",level:2}];function d(e){const t={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"Every project is unique. Logo, colors, fonts, etc. are what define the visual identity of your website. In this post, we'll cover adding fonts to a project."}),"\n",(0,o.jsx)(t.h2,{id:"importing-fonts-into-your-project",children:"Importing fonts into your project"}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.a,{href:"/docs/basics/fonts",children:"Our documentation"})," covers the necessary steps to add a font to your project, but here we'll cover the process in a bit more detail. To start, we need a font (or two). For this example, I'll use ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.em,{children:"Source Sans Pro"})})," and ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.em,{children:"Noto Serif"})})," which I've downloaded from ",(0,o.jsx)(t.a,{href:"https://fonts.google.com/",children:"Google Fonts"}),". They are in the ",(0,o.jsx)(t.code,{children:".ttf"})," format (you may find some which are ",(0,o.jsx)(t.code,{children:".otf"}),", which will work in the same way), so you need to convert them to ",(0,o.jsx)(t.code,{children:".woff"})," and ",(0,o.jsx)(t.code,{children:".woff2"}),". Whatever approach you use is okay - we recommend the following tools:"]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:(0,o.jsx)(t.a,{href:"https://convertio.co/ttf-woff/",children:"Convertio"})}),"\n",(0,o.jsx)(t.li,{children:(0,o.jsx)(t.a,{href:"https://cloudconvert.com/ttf-to-woff",children:"Cloud Convert"})}),"\n",(0,o.jsx)(t.li,{children:(0,o.jsx)(t.a,{href:"https://everythingfonts.com/ttf-to-woff",children:"Everything Fonts"})}),"\n",(0,o.jsx)(t.li,{children:(0,o.jsx)(t.a,{href:"https://transfonter.org/",children:"Transfonter"})}),"\n"]}),"\n",(0,o.jsx)(t.admonition,{title:"Warning",type:"caution",children:(0,o.jsx)(t.p,{children:"Make sure you have the proper license for the fonts you are converting."})}),"\n",(0,o.jsxs)(t.p,{children:["Fonts should go inside your theme's ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.em,{children:"/assets/fonts"})})," folder. Copy the fonts you want to use there. You will also notice that this folder contains an ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.em,{children:"index.js"})})," file, used to import fonts into your project. Here's an example of how I imported my fonts:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"// SourceSansPro WOFF\nimport './SourceSansPro-Bold.woff';\nimport './SourceSansPro-BoldItalic.woff';\nimport './SourceSansPro-Italic.woff';\nimport './SourceSansPro-Regular.woff';\nimport './SourceSansPro-Light.woff';\nimport './SourceSansPro-LightItalic.woff';\n\n// SourceSansPro WOFF2\nimport './SourceSansPro-Bold.woff2';\nimport './SourceSansPro-BoldItalic.woff2';\nimport './SourceSansPro-Italic.woff2';\nimport './SourceSansPro-Regular.woff2';\nimport './SourceSansPro-Light.woff2';\nimport './SourceSansPro-LightItalic.woff2';\n\n// NotoSerif WOFF\nimport './NotoSerif-Bold.woff';\nimport './NotoSerif-BoldItalic.woff';\nimport './NotoSerif-Italic.woff';\nimport './NotoSerif-Regular.woff';\n\n// NotoSerif WOFF2\nimport './NotoSerif-Bold.woff2';\nimport './NotoSerif-BoldItalic.woff2';\nimport './NotoSerif-Italic.woff2';\nimport './NotoSerif-Regular.woff2';\n"})}),"\n",(0,o.jsx)(t.admonition,{type:"tip",children:(0,o.jsxs)(t.p,{children:["If you don't need to support IE11, don't include ",(0,o.jsx)(t.code,{children:".woff"})," files. This will save you some bandwidth."]})}),"\n",(0,o.jsxs)(t.p,{children:["To add these fonts as your base font and secondary font, go to the global manifest located in ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.em,{children:"/src/Blocks"})})," and add the following inside ",(0,o.jsx)(t.code,{children:"globalVariables"}),":"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"globalVariables": {\n\t// ...\n\t"baseFont": "SourceSansPro",\n\t"secondaryFont": "NotoSerif",\n\t// ...\n}\n'})}),"\n",(0,o.jsxs)(t.p,{children:["Next, you can create a new file called ",(0,o.jsxs)(t.strong,{children:["_",(0,o.jsx)(t.em,{children:"typography.scss"})]})," inside your ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.em,{children:"/assets/styles/parts/utils/"})})," folder and add the following:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-scss",children:"@include font-face(global-settings(baseFont), 'SourceSansPro-Light', 300);\n@include font-face(global-settings(baseFont), 'SourceSansPro-LightItalic', 300, italic);\n@include font-face(global-settings(baseFont), 'SourceSansPro-Regular', 400);\n@include font-face(global-settings(baseFont), 'SourceSansPro-Italic', 400, italic);\n@include font-face(global-settings(baseFont), 'SourceSansPro-Bold', 700);\n@include font-face(global-settings(baseFont), 'SourceSansPro-BoldItalic', 700, italic);\n\n@include font-face(global-settings(secondaryFont), 'NotoSerif-Bold', 700);\n@include font-face(global-settings(secondaryFont), 'NotoSerif-BoldItalic', 700, italic);\n@include font-face(global-settings(secondaryFont), 'NotoSerif-Italic', 400, italic);\n@include font-face(global-settings(secondaryFont), 'NotoSerif-Regular', 400);\n"})}),"\n",(0,o.jsxs)(t.p,{children:["If you would like to know more about the ",(0,o.jsx)(t.code,{children:"font-face"})," mixin, you can take a look at our ",(0,o.jsx)(t.a,{href:"/docs/basics/library",children:"Sass documentation"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["Because this is a new file, we have to include it. You can do that inside ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.em,{children:"/assets/styles/parts/_shared.scss"})})," file:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-scss",children:"// Project specific.\n@import 'utils/shared-variables';\n@import 'utils/typography';\n"})}),"\n",(0,o.jsxs)(t.p,{children:["Run ",(0,o.jsx)(t.code,{children:"npm start"})," to rebuild your ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.em,{children:"public"})})," folder and assets. If you did everything correctly, your build should pass and you will see your fonts inside the ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.em,{children:"public"})})," folder."]}),"\n",(0,o.jsx)(t.h2,{id:"using-only-one-font-in-a-block",children:"Using only one font in a block"}),"\n",(0,o.jsxs)(t.p,{children:["There are multiple ways of using fonts in a block. The simplest use case is if you have only one font you want to use for that specific block. In this case, we want the Heading block to only use ",(0,o.jsx)(t.em,{children:"Noto Serif"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["To make our secondary font available for use, we need to first define it as a CSS variable. We can do that in ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.em,{children:"/assets/styles/parts/utils/_shared-variables.scss"})}),". The base font is already defined there, so all we need to do is add our secondary font definition below it."]}),"\n",(0,o.jsxs)(t.p,{children:["To make things a bit more consistent, we may also want to rename ",(0,o.jsx)(t.code,{children:"--global-font-family"})," CSS variable to ",(0,o.jsx)(t.code,{children:"--base-font-family"}),". Just don't forget to search/replace this new variable name across your project! Please note that the fallbacks for the fonts can be anything, this is just an example. Once we're done, it should look like this:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-scss",children:"\t--base-font-family: var(--global-base-font), -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica,\n\t\tArial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n\n\t--secondary-font-family: var(--global-secondary-font), -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica,\n\t\tArial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n"})}),"\n",(0,o.jsxs)(t.p,{children:["After defining the ",(0,o.jsx)(t.code,{children:"--secondary-font-family"})," CSS variable, we can go to ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.em,{children:"/src/Blocks/components/heading/heading-style.scss"})})," and add the following rule to the ",(0,o.jsx)(t.code,{children:".heading"})," class:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-scss",children:"\tfont-family: var(--secondary-font-family);\n"})}),"\n",(0,o.jsxs)(t.p,{children:["And that's it! The Heading block will now use the ",(0,o.jsx)(t.em,{children:"Noto Serif"})," font."]}),"\n",(0,o.jsx)(t.h2,{id:"adding-a-font-picker",children:"Adding a font picker"}),"\n",(0,o.jsxs)(t.p,{children:["In some cases, you may want to give users the option to choose between fonts that they want to use in their block. For this example, we'll use the ",(0,o.jsx)(t.code,{children:"paragraph"})," block where we want users to have both ",(0,o.jsx)(t.em,{children:"Source Sans Pro"})," and ",(0,o.jsx)(t.em,{children:"Noto Serif"})," available."]}),"\n",(0,o.jsxs)(t.p,{children:["First step is to add a new attribute, options and CSS variable values in ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.em,{children:"/src/Blocks/components/paragraph/manifest.json"})}),":"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'// ...\n\t"attributes": {\n\t\t// ...\n\t\t"paragraphFontFamily": {\n\t\t\t"type": "string",\n\t\t\t"default": "base"\n\t\t}\n\t},\n\t"options": {\n\t\t// ...\n\t\t"paragraphFontFamily": [\n\t\t\t{\n\t\t\t\t"label": "SourceSansPro",\n\t\t\t\t"value": "base"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "NotoSerif",\n\t\t\t\t"value": "secondary"\n\t\t\t}\n\t\t],\n\t\t// ...\n\t}\n'})}),"\n",(0,o.jsxs)(t.p,{children:["After defining the new attribute and options for the font family, we now have to add a variable to ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.em,{children:"manifest.json"})}),". We can add it to the ",(0,o.jsx)(t.code,{children:"variables"})," object. This approach is slightly different from the one explained in the ",(0,o.jsx)(t.a,{href:"/blog/modifying-blocks-color-theme",children:"Modifying blocks"})," blog post. Here we can use ",(0,o.jsx)(t.code,{children:"%value%"})," wildcard to dynamically add the selected value to our CSS variable."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"paragraphFontFamily": [\n\t{\n\t\t"variable": {\n\t\t\t"paragraph-font-family": "var(--%value%-font-family)"\n\t\t}\n\t}\n]\n'})}),"\n",(0,o.jsxs)(t.p,{children:["The next step is to go to ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.em,{children:"/src/Blocks/components/paragraph/components/paragraph-options.js"})})," and add a control for the new font family option. The first thing we can add is a new attribute that will allow us to toggle showing the Paragraph font family option on other blocks which are using the Paragraph component. There might be a case where we want only one font family, so this option may come in handy in some other blocks."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"const {\n\t\tsetAttributes,\n\t\t//...\n\t\tshowParagraphFontFamily = true,\n\t} = attributes;\n"})}),"\n",(0,o.jsxs)(t.p,{children:["After that, we need to fetch either the saved attribute value or get the default one from the manifest. We can do that with the ",(0,o.jsx)(t.code,{children:"checkAttr"})," helper, adding it just below ",(0,o.jsx)(t.code,{children:"paragraphColor"})," and ",(0,o.jsx)(t.code,{children:"paragraphSize"}),"."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"\tconst paragraphFontFamily = checkAttr('paragraphFontFamily', attributes, manifest);\n"})}),"\n",(0,o.jsx)(t.p,{children:"Now we have to add an actual control to the options panel which will allow us to choose between fonts."}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"\treturn (\n\t\t// ...\n\t\t{showParagraphFontFamily &&\n\t\t\t<CustomSelect\n\t\t\t\tlabel={<IconLabel icon={icons.fontFamily} label={__('Font Family', 'eightshift-theme')} />}\n\t\t\t\tvalue={paragraphFontFamily}\n\t\t\t\toptions={getOption('paragraphFontFamily', attributes, manifest)}\n\t\t\t\tonChange={(value) => setAttributes({ [getAttrKey('paragraphFontFamily', attributes, manifest)]: value })}\n\t\t\t\tisClearable={false}\n\t\t\t\tisSearchable={false}\n\t\t\t\tsimpleValue\n\t\t\t/>\n\t\t}\n\t\t// ...\n\t);\n"})}),"\n",(0,o.jsx)(t.p,{children:"The control for selecting a font should now be available under Paragraph options. Saving the choice now works, but the font stays the same both in the editor and on the frontend."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Font Picker",src:n(75490).A+"",width:"272",height:"184"})}),"\n",(0,o.jsxs)(t.p,{children:["The final step we need to make this work is to add a CSS rule that consumes our variable to ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.em,{children:"/src/Blocks/components/paragraph/paragraph-style.scss"})}),":"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-scss",children:".paragraph {\n\t// ...\n\tfont-family: var(--paragraph-font-family, var(--base-font-family));\n\t// ...\n}\n"})}),"\n",(0,o.jsx)(t.p,{children:"After adding this single line of CSS code, your new option for selecting fonts will now be fully functional."}),"\n",(0,o.jsx)(t.h2,{id:"closing-thoughts",children:"Closing thoughts"}),"\n",(0,o.jsx)(t.p,{children:"Adding fonts to a project is something you will usually only do when setting up a new project and then forget about it. As you could see in this blog post, this isn't a complicated process, but it has a specific set of steps that have to be taken in order for custom fonts to work in your project."}),"\n",(0,o.jsx)(t.p,{children:"Of course, there are other ways to include fonts in your project, but the described process is what we recommend and use. This is the (Eightshift) Way."})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},75490:(e,t,n)=>{n.d(t,{A:()=>o});const o="data:image/webp;base64,UklGRmwOAABXRUJQVlA4IGAOAADwSwCdASoQAbgAPjEUiUQiIQkkJvQQAYJaW7hbvDUXX7gcIU4bwHoMbTl+oHYA/Gb1YOsA9ADpCP2P/bf4AP1h1aTyJ/Uuy/+o/ix/OPS/vCd1PXP+jf93/F6Y/8R+mX0r+wfr9+Snwr0unqBfiH8Y/nf47f2b9ofVJ7ovGP0W/HT4AvRH4t/VP67+0P9l/cX1m/3D8cvcn6Kf2D8d/oA/g/8b/pH5C/1//+fQHei+Hf2D8ZvoC/jv8w/s/9x/Zj/Cf//7Sf1n/Jf2r92/7p7O/x/+qf4z+9/uT/f///+AX8S/lX9u/rP+d/2v92//f/c+1X1ofr17GH6q/+EuoRhE4FJBKQEnbLkp0TKZJPMIoJJnCPGH3/UboZiIMW43ZxcCfP1Bt6cLS24JKLF+wD9ddBPgR0G6saJH/OpfX3jqRkkzhHOnyIkUm3FGvFxzg7ywo0fjplBquKWJA45qz1QtNzmErEs2uChOIzXJscADgsih/dB1m2D4Ck/tbqcK8jGosKiOhZKZX9BKY7Sxp9oZdR5F4lSEWdbrpcSZm51WUa8XHFfdC1I6FQA/tsUvRtS6raiIA9JlUE8y27BQosyn5w2fx5mJdh6pESFHDbi5Oa4ZwQESx2QMzqMxdbkOivrypcheMQEzF/SIVjryRBK6efaRbtUi8XZVjAiJyBZrKm8qUzsss9DsoiEfSYDvzneKgKtynZDSW0E0Tt6V20E0SUtbCkv+mFafNnYyyl2PYjNotao19Q6RtWPVnWgscYgLpYwi8+DeYtJLLifGqcbIVZ3KK0+bO5RGEVsVwOiw78WPz1WIC4QAAP7/t2Xr06KOb2jF0qt7j8hibx1Zh13G89njze2xUqC3H9fZbDFK5OQwc3tJDYUw5xuT7aamlQ/P/47Vsuh16ppzHG1DNGmuYV//qmZDi/3MWNwRn+Ipc/CO/mthW/bsWA1GD+CQ92smddGGxlC3EmYUDo6GnCH2FeHXFx+LNxC7dqFLAZG01linsIxdLtRcRhmCN5fhfKp2cgbtkhXD8JndxqYE3hxakItNzA9s0SVj/g4a2jW1iJ4rUdimPLpCR+v6xuBN8XKatXzx3A//PcF4YY92XIzCs2eqGsabBO/FS/HNTjP6UPQ6WMXaxHlRderBz8AH5VWPVcfOMAvw7fGrRhv0/5mrqS3XqJTCkl1+KGfqOyd/80DEeZeZMHs3x3EMdtP/21CNX+DbRxXZDaVt3R46DSHYpnXixDDcmdUMIK3eRnE4i0YQTFdiy+4Spwjf4Ms4OPPDN0fuefy+j6XqDf1FKsr/KjX7rKp0z/x+rWHaCr/9QfB94bX8/tQKUk204XanVHBmPb5tNUlz7PYdF9svcIDYsvb7bXz+/QQrdXfupiWb4DtwnVBPSIVOYW4R/mwZQf/o8Ov1wZrdOWQ+PhIRDW//v0PD9P/nM0cXxlAco7s4bCvGCiY5/wWoJvBWCA9Cn3ouy/Yds+cQIA0IvkEH/HMcC3AB+w7a2Bdf5hSvuJ8FWvfzylqMcJMfUlW+acNMeTn02fJpp/D1JqAJG4ZAc4pmdx/jweWZH2YQtK6/Nbv6nuXFl70QFnKS4qCsTwtgJg5cYrbLVhGa03M9OS1XHwTjVkGUWETSKHrxUqrP1G/2tebg9HIJF4xP1uUY8YRXjIR57w4s3JRgC/wiERMsjx2WK1gPl4GRm8dMus9aw9/cd15LGRBAzhPsgIfC/qMmMXvL5i1Q5qqkirj7J3rWO7TeYlCoP//2T9KgTQR9MTdg1mx/AMRpC4nE1P5vtgiLgBwp0k/XCdaAMFzTZbCaRLxXl9jGSWMxBf//xn+N889U7fm3RG6IthF+PlK7QqKzJmY5n49zo4APv/9PDM8M0LzgSCRG8b9sfirwcIvjoSeEAAAByCElF9wm69ru8BT75uoyrf3gWWBEgEvc6bgGfAss/bMipJnbbjyU03wDo4Qdnfius5oW4npLhrs921e0XHd+uA0pEMEtq6kYA7S75WA9HR4FuSHCcmPz5KwAhMS3JE2TDduum9MkrIwY0o6s8B0j6c9HFqs2QEOn1XlW6RRdkpblNMM9QwnwV5lnHMmhUh6hxpv5xrsH25cQa+n4aCy1z2sWaXTy6f2ErMOC1xd8sRzUzkFiYIjTEcpDy3NjpCFjHwJnXQzePvzNA57tfr5Yd6Td/RIx6wG3rHtXxJO862hyQJ2m86sVPOw51ZjWImUR7ehOvtJ7zrtdBkfG8bCxP+9NZdQHR1cM6ZZxIzgW1WiC4vBnMrqW93ZjY/x7StT0d8mXP0cLymblT5V4Te3R0Rmcuh+ULNoDuP7IVLNs1hw9zNf84MbupvmSLeqRNmviQm29qDpAA3N/InafyzPZvHD4SvQXtnImziqzBmh4RgLO+6Q0CUxL/PXLsse36laJNNVhlCebrzPPABRI+jMxpKthKjJ9fokkAzCGtLafVL8kMkTTsDNhF0VB/DE8rRBWE5JVHV6TZKSKQOUpts0CvbfdV1x6gNE7MkaqMw6zfYB1HJVQyh3tlUYI9hneBV2gQ549e0pvk1rFmyAMDd51IYqFp3jZrFzi21+UDxtGCE50gKO9///vpdJ9D4Cs+NWr79bZ//bKb8HUlDJSPejZBQDduxOvrp+5O7txzfW5ZVo2SgQonxjtwU+z5EoWbKlZMK3ehTQSer4I4B8lOpH8VBfsT/Jqts29Byf7y4D2uRzyOZudZW5ELHnbEeJsEjeFJNv554Joxk1ROxQPdB4YOh2FLf+HKzpaAqhZzv17OiP4JpwQcy/dhneZd3yxeV7P88AGdXOdqtKYdB3Ji53i3sPsl9DpUXeINxcggIdGcDNrzek57G0fQCT+Euf7TMF5byHZAl99OAtljH72e0j7yhhx4+DMYuP1vUmb0nRrvc4o7BcA1Af5n4W0BDMQDf5NAysOCdp76IqxjuV/OGx1EvXs4Xhqe//UvxpDScdvUV7lPll9wxxVeHLZ/DL93mbr0cdnb02qsitEEdm4WzvBR7mghcSjpo3gV6b7g4CmqsdUK5di4KeOIqp+6/XtjqaK7Y6njEjUjrZFXnAkKHyPU1D5YyEkbSboFw29GADLctWpchHB/0uZLMePyAAaKGiygh+LeNQsiKShCHALYcsIR0N9iPXcAOuG6Hy/41WwKK+1bN+jY+PCabCmZDXafsu1Gp/MudaIt3T26lIV7Gkw0Fr/A+nyFJb0xk4u7XNPNpfe1tVEHCRcUlnxgycp5+V+tTrqegeu7q1iu0DHqihdEhG8oS5BU/7Z3m1Xd92ckiTD5ogIF51mB8UfUmjdSN/sfw/s8BiH+5U8EXH5NropRjye9vkoK8d8OynhJsW1aYUSwsM+tV+shiJa13P16sbYVH7VB6l39gzRQNJqp+lWYtjbBJOWrOLdYdMrS9SaA+Ar5lKwPdz9IlpcQURNLi9g5LazVZhn2uz90EhZXu/KIAXUBaXoA7fOdrUJZm6UO28MO9GY3QnefTo8umPXN5EzSbgcvZxKgIA1HycMucwKXI47uwBvYSjL03tbaLypxkqg2T4klp91yZ4UVVXyrIciW8ymFTz6cwE1VzOxlRt3Z5L9XBpGVWVSUnpwiijfRoLihHXsMIrI8EcBF0fPmAdKHker3CoJKdAXRBeA8tHCQZnl7i0HTILPpCT0yCH5fm8qgvxBpaJDu/ShC2hGHyk4HEMZwEe8tseQbfY1WLjNt7F34fWNBHselENB2DK8BUT8kAxofRNJPrWhu/vTsFrcsUxLIhXFe9efTnJrr0s8+4Z4AUHX63kCqHrui8PMtdFqyJJlZmW5GXF82mguNpw2IKXq0N6aDfwXsVoKCOLcwWhAyOBz3ILkP+R2s0Dg1J32dJ9BY9oTAuFWnxV+VeMZSzgh2qvHBZh+NVVf+ULmnRQzfN8oIyOkM579zgMMxCDOAfyoAHHTdEx1QnDA0iJLS1l/R4pegqEn8g7+Q72z8898fjkQA97OGGip/syHR/XiH9+BZiU9Cd3mM0HpVw/VcaTDurrD1w4p4s+ZbynAKo1j+zjXVY67QVWz2GMMlw13ifkZgKM58o/t1Vjx4DMvrjnjdrJzpWQdQyLjhrZYaGUpIg+k+fv5hdUbe8OnUkDJ0dsCjq9ezriiC3nBlZMqpkQXfWbbqrIt078Zg945PCmE6556tTtzk8yO0FgbO85i+FHu+Few786DU6U1RYg6z/r/g0KKJvzy4i2v/U0/wdL09TtXE3haiW56QNOxTD3QDMdi5cP0Gl0j3hAiZKI9fNWJykoL5n7+a1VKjngyiQBMoX5iNebqKDOipbj6REl2MPoBY6tye1xxjD4ujx1qCut1aM2ZE3A026QdMIGrQhq/5mAjOMe25MJ9AHyyvIodlsgX7yFzmrxZ9dipEhKzV8VPxjI9kJl2jsVJhWWAqGB+mTylw/Yg9jcSbN7hwsszfmBhgRKC+LFLorJiiWs1KY3m9XXzXjatdIhew/TLyTeNf9AdR5NN8k69qf5PozDKysBFn8v/7tR38y0CvtKAHvbF0uufyLag2FkMxVdUyVjrl1poy6nQVQpPeDWjjTjp02zVLfqItmknPdeG4J1P1SZOCn9JpIVYujeeVi5CZe/52ozh8WDjr9y9bBo8xGAYlJgqnuzMZUhJOgI3Xz8H2kN2n1u6XJwCcAP68EAaq4gB5yhRMySaPwxVDDGhBwUwGQc0mDeKG2jsZgHwM20nKWe7hn1A78u1rAt9PXnL59WmYswZp3k5odGpUAC3y2TnllpqERWh1HiSgXWpJzzBPB0OLNk9KoKUSX5d+ukEK2UoGs4ogVby5AkPSSog2/f5WOwhgKgg8gYxTxMwVAXxi7LSQdaATLZLvrMygU90DYePWhRTvh0r2AbSwHw5WNNnKVnymFRzCcqPAAAAAA=="},28453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>r});var o=n(96540);const s={},i=o.createContext(s);function a(e){const t=o.useContext(i);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(s):e.components||s:a(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/590322ab.814d05a8.js b/assets/js/590322ab.814d05a8.js deleted file mode 100644 index 5062f0057..000000000 --- a/assets/js/590322ab.814d05a8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[4203],{57759:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var o=n(74848),s=n(28453);const i={title:"Adding fonts",description:"An intro to adding fonts to your project.",slug:"adding-fonts",authors:"obradovic",date:new Date("2022-04-12T00:00:00.000Z"),tags:["eightshift","boilerplate","fonts"],hide_table_of_contents:!1},a=void 0,r={permalink:"/blog/adding-fonts",source:"@site/blog/2022-04-08-adding-fonts.md",title:"Adding fonts",description:"An intro to adding fonts to your project.",date:"2022-04-12T00:00:00.000Z",formattedDate:"April 12, 2022",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"fonts",permalink:"/blog/tags/fonts"}],readingTime:6.005,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Adding fonts",description:"An intro to adding fonts to your project.",slug:"adding-fonts",authors:"obradovic",date:"2022-04-12T00:00:00.000Z",tags:["eightshift","boilerplate","fonts"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Using assets in a project",permalink:"/blog/using-assets"},nextItem:{title:"Modifying blocks - Color Theme",permalink:"/blog/modifying-blocks-color-theme"}},l={authorsImageUrls:[void 0]},c=[{value:"Importing fonts into your project",id:"importing-fonts-into-your-project",level:2},{value:"Using only one font in a block",id:"using-only-one-font-in-a-block",level:2},{value:"Adding a font picker",id:"adding-a-font-picker",level:2},{value:"Closing thoughts",id:"closing-thoughts",level:2}];function d(e){const t={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"Every project is unique. Logo, colors, fonts, etc. are what define the visual identity of your website. In this post, we'll cover adding fonts to a project."}),"\n",(0,o.jsx)(t.h2,{id:"importing-fonts-into-your-project",children:"Importing fonts into your project"}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.a,{href:"/docs/basics/fonts",children:"Our documentation"})," covers the necessary steps to add a font to your project, but here we'll cover the process in a bit more detail. To start, we need a font (or two). For this example, I'll use ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.em,{children:"Source Sans Pro"})})," and ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.em,{children:"Noto Serif"})})," which I've downloaded from ",(0,o.jsx)(t.a,{href:"https://fonts.google.com/",children:"Google Fonts"}),". They are in the ",(0,o.jsx)(t.code,{children:".ttf"})," format (you may find some which are ",(0,o.jsx)(t.code,{children:".otf"}),", which will work in the same way), so you need to convert them to ",(0,o.jsx)(t.code,{children:".woff"})," and ",(0,o.jsx)(t.code,{children:".woff2"}),". Whatever approach you use is okay - we recommend the following tools:"]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:(0,o.jsx)(t.a,{href:"https://convertio.co/ttf-woff/",children:"Convertio"})}),"\n",(0,o.jsx)(t.li,{children:(0,o.jsx)(t.a,{href:"https://cloudconvert.com/ttf-to-woff",children:"Cloud Convert"})}),"\n",(0,o.jsx)(t.li,{children:(0,o.jsx)(t.a,{href:"https://everythingfonts.com/ttf-to-woff",children:"Everything Fonts"})}),"\n",(0,o.jsx)(t.li,{children:(0,o.jsx)(t.a,{href:"https://transfonter.org/",children:"Transfonter"})}),"\n"]}),"\n",(0,o.jsx)(t.admonition,{title:"Warning",type:"caution",children:(0,o.jsx)(t.p,{children:"Make sure you have the proper license for the fonts you are converting."})}),"\n",(0,o.jsxs)(t.p,{children:["Fonts should go inside your theme's ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.em,{children:"/assets/fonts"})})," folder. Copy the fonts you want to use there. You will also notice that this folder contains an ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.em,{children:"index.js"})})," file, used to import fonts into your project. Here's an example of how I imported my fonts:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"// SourceSansPro WOFF\nimport './SourceSansPro-Bold.woff';\nimport './SourceSansPro-BoldItalic.woff';\nimport './SourceSansPro-Italic.woff';\nimport './SourceSansPro-Regular.woff';\nimport './SourceSansPro-Light.woff';\nimport './SourceSansPro-LightItalic.woff';\n\n// SourceSansPro WOFF2\nimport './SourceSansPro-Bold.woff2';\nimport './SourceSansPro-BoldItalic.woff2';\nimport './SourceSansPro-Italic.woff2';\nimport './SourceSansPro-Regular.woff2';\nimport './SourceSansPro-Light.woff2';\nimport './SourceSansPro-LightItalic.woff2';\n\n// NotoSerif WOFF\nimport './NotoSerif-Bold.woff';\nimport './NotoSerif-BoldItalic.woff';\nimport './NotoSerif-Italic.woff';\nimport './NotoSerif-Regular.woff';\n\n// NotoSerif WOFF2\nimport './NotoSerif-Bold.woff2';\nimport './NotoSerif-BoldItalic.woff2';\nimport './NotoSerif-Italic.woff2';\nimport './NotoSerif-Regular.woff2';\n"})}),"\n",(0,o.jsx)(t.admonition,{type:"tip",children:(0,o.jsxs)(t.p,{children:["If you don't need to support IE11, don't include ",(0,o.jsx)(t.code,{children:".woff"})," files. This will save you some bandwidth."]})}),"\n",(0,o.jsxs)(t.p,{children:["To add these fonts as your base font and secondary font, go to the global manifest located in ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.em,{children:"/src/Blocks"})})," and add the following inside ",(0,o.jsx)(t.code,{children:"globalVariables"}),":"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"globalVariables": {\n\t// ...\n\t"baseFont": "SourceSansPro",\n\t"secondaryFont": "NotoSerif",\n\t// ...\n}\n'})}),"\n",(0,o.jsxs)(t.p,{children:["Next, you can create a new file called ",(0,o.jsxs)(t.strong,{children:["_",(0,o.jsx)(t.em,{children:"typography.scss"})]})," inside your ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.em,{children:"/assets/styles/parts/utils/"})})," folder and add the following:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-scss",children:"@include font-face(global-settings(baseFont), 'SourceSansPro-Light', 300);\n@include font-face(global-settings(baseFont), 'SourceSansPro-LightItalic', 300, italic);\n@include font-face(global-settings(baseFont), 'SourceSansPro-Regular', 400);\n@include font-face(global-settings(baseFont), 'SourceSansPro-Italic', 400, italic);\n@include font-face(global-settings(baseFont), 'SourceSansPro-Bold', 700);\n@include font-face(global-settings(baseFont), 'SourceSansPro-BoldItalic', 700, italic);\n\n@include font-face(global-settings(secondaryFont), 'NotoSerif-Bold', 700);\n@include font-face(global-settings(secondaryFont), 'NotoSerif-BoldItalic', 700, italic);\n@include font-face(global-settings(secondaryFont), 'NotoSerif-Italic', 400, italic);\n@include font-face(global-settings(secondaryFont), 'NotoSerif-Regular', 400);\n"})}),"\n",(0,o.jsxs)(t.p,{children:["If you would like to know more about the ",(0,o.jsx)(t.code,{children:"font-face"})," mixin, you can take a look at our ",(0,o.jsx)(t.a,{href:"/docs/basics/library",children:"Sass documentation"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["Because this is a new file, we have to include it. You can do that inside ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.em,{children:"/assets/styles/parts/_shared.scss"})})," file:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-scss",children:"// Project specific.\n@import 'utils/shared-variables';\n@import 'utils/typography';\n"})}),"\n",(0,o.jsxs)(t.p,{children:["Run ",(0,o.jsx)(t.code,{children:"npm start"})," to rebuild your ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.em,{children:"public"})})," folder and assets. If you did everything correctly, your build should pass and you will see your fonts inside the ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.em,{children:"public"})})," folder."]}),"\n",(0,o.jsx)(t.h2,{id:"using-only-one-font-in-a-block",children:"Using only one font in a block"}),"\n",(0,o.jsxs)(t.p,{children:["There are multiple ways of using fonts in a block. The simplest use case is if you have only one font you want to use for that specific block. In this case, we want the Heading block to only use ",(0,o.jsx)(t.em,{children:"Noto Serif"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["To make our secondary font available for use, we need to first define it as a CSS variable. We can do that in ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.em,{children:"/assets/styles/parts/utils/_shared-variables.scss"})}),". The base font is already defined there, so all we need to do is add our secondary font definition below it."]}),"\n",(0,o.jsxs)(t.p,{children:["To make things a bit more consistent, we may also want to rename ",(0,o.jsx)(t.code,{children:"--global-font-family"})," CSS variable to ",(0,o.jsx)(t.code,{children:"--base-font-family"}),". Just don't forget to search/replace this new variable name across your project! Please note that the fallbacks for the fonts can be anything, this is just an example. Once we're done, it should look like this:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-scss",children:"\t--base-font-family: var(--global-base-font), -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica,\n\t\tArial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n\n\t--secondary-font-family: var(--global-secondary-font), -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica,\n\t\tArial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n"})}),"\n",(0,o.jsxs)(t.p,{children:["After defining the ",(0,o.jsx)(t.code,{children:"--secondary-font-family"})," CSS variable, we can go to ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.em,{children:"/src/Blocks/components/heading/heading-style.scss"})})," and add the following rule to the ",(0,o.jsx)(t.code,{children:".heading"})," class:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-scss",children:"\tfont-family: var(--secondary-font-family);\n"})}),"\n",(0,o.jsxs)(t.p,{children:["And that's it! The Heading block will now use the ",(0,o.jsx)(t.em,{children:"Noto Serif"})," font."]}),"\n",(0,o.jsx)(t.h2,{id:"adding-a-font-picker",children:"Adding a font picker"}),"\n",(0,o.jsxs)(t.p,{children:["In some cases, you may want to give users the option to choose between fonts that they want to use in their block. For this example, we'll use the ",(0,o.jsx)(t.code,{children:"paragraph"})," block where we want users to have both ",(0,o.jsx)(t.em,{children:"Source Sans Pro"})," and ",(0,o.jsx)(t.em,{children:"Noto Serif"})," available."]}),"\n",(0,o.jsxs)(t.p,{children:["First step is to add a new attribute, options and CSS variable values in ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.em,{children:"/src/Blocks/components/paragraph/manifest.json"})}),":"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'// ...\n\t"attributes": {\n\t\t// ...\n\t\t"paragraphFontFamily": {\n\t\t\t"type": "string",\n\t\t\t"default": "base"\n\t\t}\n\t},\n\t"options": {\n\t\t// ...\n\t\t"paragraphFontFamily": [\n\t\t\t{\n\t\t\t\t"label": "SourceSansPro",\n\t\t\t\t"value": "base"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"label": "NotoSerif",\n\t\t\t\t"value": "secondary"\n\t\t\t}\n\t\t],\n\t\t// ...\n\t}\n'})}),"\n",(0,o.jsxs)(t.p,{children:["After defining the new attribute and options for the font family, we now have to add a variable to ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.em,{children:"manifest.json"})}),". We can add it to the ",(0,o.jsx)(t.code,{children:"variables"})," object. This approach is slightly different from the one explained in the ",(0,o.jsx)(t.a,{href:"/blog/modifying-blocks-color-theme",children:"Modifying blocks"})," blog post. Here we can use ",(0,o.jsx)(t.code,{children:"%value%"})," wildcard to dynamically add the selected value to our CSS variable."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"paragraphFontFamily": [\n\t{\n\t\t"variable": {\n\t\t\t"paragraph-font-family": "var(--%value%-font-family)"\n\t\t}\n\t}\n]\n'})}),"\n",(0,o.jsxs)(t.p,{children:["The next step is to go to ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.em,{children:"/src/Blocks/components/paragraph/components/paragraph-options.js"})})," and add a control for the new font family option. The first thing we can add is a new attribute that will allow us to toggle showing the Paragraph font family option on other blocks which are using the Paragraph component. There might be a case where we want only one font family, so this option may come in handy in some other blocks."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"const {\n\t\tsetAttributes,\n\t\t//...\n\t\tshowParagraphFontFamily = true,\n\t} = attributes;\n"})}),"\n",(0,o.jsxs)(t.p,{children:["After that, we need to fetch either the saved attribute value or get the default one from the manifest. We can do that with the ",(0,o.jsx)(t.code,{children:"checkAttr"})," helper, adding it just below ",(0,o.jsx)(t.code,{children:"paragraphColor"})," and ",(0,o.jsx)(t.code,{children:"paragraphSize"}),"."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"\tconst paragraphFontFamily = checkAttr('paragraphFontFamily', attributes, manifest);\n"})}),"\n",(0,o.jsx)(t.p,{children:"Now we have to add an actual control to the options panel which will allow us to choose between fonts."}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-js",children:"\treturn (\n\t\t// ...\n\t\t{showParagraphFontFamily &&\n\t\t\t<CustomSelect\n\t\t\t\tlabel={<IconLabel icon={icons.fontFamily} label={__('Font Family', 'eightshift-theme')} />}\n\t\t\t\tvalue={paragraphFontFamily}\n\t\t\t\toptions={getOption('paragraphFontFamily', attributes, manifest)}\n\t\t\t\tonChange={(value) => setAttributes({ [getAttrKey('paragraphFontFamily', attributes, manifest)]: value })}\n\t\t\t\tisClearable={false}\n\t\t\t\tisSearchable={false}\n\t\t\t\tsimpleValue\n\t\t\t/>\n\t\t}\n\t\t// ...\n\t);\n"})}),"\n",(0,o.jsx)(t.p,{children:"The control for selecting a font should now be available under Paragraph options. Saving the choice now works, but the font stays the same both in the editor and on the frontend."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Font Picker",src:n(75490).A+"",width:"272",height:"184"})}),"\n",(0,o.jsxs)(t.p,{children:["The final step we need to make this work is to add a CSS rule that consumes our variable to ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.em,{children:"/src/Blocks/components/paragraph/paragraph-style.scss"})}),":"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-scss",children:".paragraph {\n\t// ...\n\tfont-family: var(--paragraph-font-family, var(--base-font-family));\n\t// ...\n}\n"})}),"\n",(0,o.jsx)(t.p,{children:"After adding this single line of CSS code, your new option for selecting fonts will now be fully functional."}),"\n",(0,o.jsx)(t.h2,{id:"closing-thoughts",children:"Closing thoughts"}),"\n",(0,o.jsx)(t.p,{children:"Adding fonts to a project is something you will usually only do when setting up a new project and then forget about it. As you could see in this blog post, this isn't a complicated process, but it has a specific set of steps that have to be taken in order for custom fonts to work in your project."}),"\n",(0,o.jsx)(t.p,{children:"Of course, there are other ways to include fonts in your project, but the described process is what we recommend and use. This is the (Eightshift) Way."})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},75490:(e,t,n)=>{n.d(t,{A:()=>o});const o="data:image/webp;base64,UklGRmwOAABXRUJQVlA4IGAOAADwSwCdASoQAbgAPjEUiUQiIQkkJvQQAYJaW7hbvDUXX7gcIU4bwHoMbTl+oHYA/Gb1YOsA9ADpCP2P/bf4AP1h1aTyJ/Uuy/+o/ix/OPS/vCd1PXP+jf93/F6Y/8R+mX0r+wfr9+Snwr0unqBfiH8Y/nf47f2b9ofVJ7ovGP0W/HT4AvRH4t/VP67+0P9l/cX1m/3D8cvcn6Kf2D8d/oA/g/8b/pH5C/1//+fQHei+Hf2D8ZvoC/jv8w/s/9x/Zj/Cf//7Sf1n/Jf2r92/7p7O/x/+qf4z+9/uT/f///+AX8S/lX9u/rP+d/2v92//f/c+1X1ofr17GH6q/+EuoRhE4FJBKQEnbLkp0TKZJPMIoJJnCPGH3/UboZiIMW43ZxcCfP1Bt6cLS24JKLF+wD9ddBPgR0G6saJH/OpfX3jqRkkzhHOnyIkUm3FGvFxzg7ywo0fjplBquKWJA45qz1QtNzmErEs2uChOIzXJscADgsih/dB1m2D4Ck/tbqcK8jGosKiOhZKZX9BKY7Sxp9oZdR5F4lSEWdbrpcSZm51WUa8XHFfdC1I6FQA/tsUvRtS6raiIA9JlUE8y27BQosyn5w2fx5mJdh6pESFHDbi5Oa4ZwQESx2QMzqMxdbkOivrypcheMQEzF/SIVjryRBK6efaRbtUi8XZVjAiJyBZrKm8qUzsss9DsoiEfSYDvzneKgKtynZDSW0E0Tt6V20E0SUtbCkv+mFafNnYyyl2PYjNotao19Q6RtWPVnWgscYgLpYwi8+DeYtJLLifGqcbIVZ3KK0+bO5RGEVsVwOiw78WPz1WIC4QAAP7/t2Xr06KOb2jF0qt7j8hibx1Zh13G89njze2xUqC3H9fZbDFK5OQwc3tJDYUw5xuT7aamlQ/P/47Vsuh16ppzHG1DNGmuYV//qmZDi/3MWNwRn+Ipc/CO/mthW/bsWA1GD+CQ92smddGGxlC3EmYUDo6GnCH2FeHXFx+LNxC7dqFLAZG01linsIxdLtRcRhmCN5fhfKp2cgbtkhXD8JndxqYE3hxakItNzA9s0SVj/g4a2jW1iJ4rUdimPLpCR+v6xuBN8XKatXzx3A//PcF4YY92XIzCs2eqGsabBO/FS/HNTjP6UPQ6WMXaxHlRderBz8AH5VWPVcfOMAvw7fGrRhv0/5mrqS3XqJTCkl1+KGfqOyd/80DEeZeZMHs3x3EMdtP/21CNX+DbRxXZDaVt3R46DSHYpnXixDDcmdUMIK3eRnE4i0YQTFdiy+4Spwjf4Ms4OPPDN0fuefy+j6XqDf1FKsr/KjX7rKp0z/x+rWHaCr/9QfB94bX8/tQKUk204XanVHBmPb5tNUlz7PYdF9svcIDYsvb7bXz+/QQrdXfupiWb4DtwnVBPSIVOYW4R/mwZQf/o8Ov1wZrdOWQ+PhIRDW//v0PD9P/nM0cXxlAco7s4bCvGCiY5/wWoJvBWCA9Cn3ouy/Yds+cQIA0IvkEH/HMcC3AB+w7a2Bdf5hSvuJ8FWvfzylqMcJMfUlW+acNMeTn02fJpp/D1JqAJG4ZAc4pmdx/jweWZH2YQtK6/Nbv6nuXFl70QFnKS4qCsTwtgJg5cYrbLVhGa03M9OS1XHwTjVkGUWETSKHrxUqrP1G/2tebg9HIJF4xP1uUY8YRXjIR57w4s3JRgC/wiERMsjx2WK1gPl4GRm8dMus9aw9/cd15LGRBAzhPsgIfC/qMmMXvL5i1Q5qqkirj7J3rWO7TeYlCoP//2T9KgTQR9MTdg1mx/AMRpC4nE1P5vtgiLgBwp0k/XCdaAMFzTZbCaRLxXl9jGSWMxBf//xn+N889U7fm3RG6IthF+PlK7QqKzJmY5n49zo4APv/9PDM8M0LzgSCRG8b9sfirwcIvjoSeEAAAByCElF9wm69ru8BT75uoyrf3gWWBEgEvc6bgGfAss/bMipJnbbjyU03wDo4Qdnfius5oW4npLhrs921e0XHd+uA0pEMEtq6kYA7S75WA9HR4FuSHCcmPz5KwAhMS3JE2TDduum9MkrIwY0o6s8B0j6c9HFqs2QEOn1XlW6RRdkpblNMM9QwnwV5lnHMmhUh6hxpv5xrsH25cQa+n4aCy1z2sWaXTy6f2ErMOC1xd8sRzUzkFiYIjTEcpDy3NjpCFjHwJnXQzePvzNA57tfr5Yd6Td/RIx6wG3rHtXxJO862hyQJ2m86sVPOw51ZjWImUR7ehOvtJ7zrtdBkfG8bCxP+9NZdQHR1cM6ZZxIzgW1WiC4vBnMrqW93ZjY/x7StT0d8mXP0cLymblT5V4Te3R0Rmcuh+ULNoDuP7IVLNs1hw9zNf84MbupvmSLeqRNmviQm29qDpAA3N/InafyzPZvHD4SvQXtnImziqzBmh4RgLO+6Q0CUxL/PXLsse36laJNNVhlCebrzPPABRI+jMxpKthKjJ9fokkAzCGtLafVL8kMkTTsDNhF0VB/DE8rRBWE5JVHV6TZKSKQOUpts0CvbfdV1x6gNE7MkaqMw6zfYB1HJVQyh3tlUYI9hneBV2gQ549e0pvk1rFmyAMDd51IYqFp3jZrFzi21+UDxtGCE50gKO9///vpdJ9D4Cs+NWr79bZ//bKb8HUlDJSPejZBQDduxOvrp+5O7txzfW5ZVo2SgQonxjtwU+z5EoWbKlZMK3ehTQSer4I4B8lOpH8VBfsT/Jqts29Byf7y4D2uRzyOZudZW5ELHnbEeJsEjeFJNv554Joxk1ROxQPdB4YOh2FLf+HKzpaAqhZzv17OiP4JpwQcy/dhneZd3yxeV7P88AGdXOdqtKYdB3Ji53i3sPsl9DpUXeINxcggIdGcDNrzek57G0fQCT+Euf7TMF5byHZAl99OAtljH72e0j7yhhx4+DMYuP1vUmb0nRrvc4o7BcA1Af5n4W0BDMQDf5NAysOCdp76IqxjuV/OGx1EvXs4Xhqe//UvxpDScdvUV7lPll9wxxVeHLZ/DL93mbr0cdnb02qsitEEdm4WzvBR7mghcSjpo3gV6b7g4CmqsdUK5di4KeOIqp+6/XtjqaK7Y6njEjUjrZFXnAkKHyPU1D5YyEkbSboFw29GADLctWpchHB/0uZLMePyAAaKGiygh+LeNQsiKShCHALYcsIR0N9iPXcAOuG6Hy/41WwKK+1bN+jY+PCabCmZDXafsu1Gp/MudaIt3T26lIV7Gkw0Fr/A+nyFJb0xk4u7XNPNpfe1tVEHCRcUlnxgycp5+V+tTrqegeu7q1iu0DHqihdEhG8oS5BU/7Z3m1Xd92ckiTD5ogIF51mB8UfUmjdSN/sfw/s8BiH+5U8EXH5NropRjye9vkoK8d8OynhJsW1aYUSwsM+tV+shiJa13P16sbYVH7VB6l39gzRQNJqp+lWYtjbBJOWrOLdYdMrS9SaA+Ar5lKwPdz9IlpcQURNLi9g5LazVZhn2uz90EhZXu/KIAXUBaXoA7fOdrUJZm6UO28MO9GY3QnefTo8umPXN5EzSbgcvZxKgIA1HycMucwKXI47uwBvYSjL03tbaLypxkqg2T4klp91yZ4UVVXyrIciW8ymFTz6cwE1VzOxlRt3Z5L9XBpGVWVSUnpwiijfRoLihHXsMIrI8EcBF0fPmAdKHker3CoJKdAXRBeA8tHCQZnl7i0HTILPpCT0yCH5fm8qgvxBpaJDu/ShC2hGHyk4HEMZwEe8tseQbfY1WLjNt7F34fWNBHselENB2DK8BUT8kAxofRNJPrWhu/vTsFrcsUxLIhXFe9efTnJrr0s8+4Z4AUHX63kCqHrui8PMtdFqyJJlZmW5GXF82mguNpw2IKXq0N6aDfwXsVoKCOLcwWhAyOBz3ILkP+R2s0Dg1J32dJ9BY9oTAuFWnxV+VeMZSzgh2qvHBZh+NVVf+ULmnRQzfN8oIyOkM579zgMMxCDOAfyoAHHTdEx1QnDA0iJLS1l/R4pegqEn8g7+Q72z8898fjkQA97OGGip/syHR/XiH9+BZiU9Cd3mM0HpVw/VcaTDurrD1w4p4s+ZbynAKo1j+zjXVY67QVWz2GMMlw13ifkZgKM58o/t1Vjx4DMvrjnjdrJzpWQdQyLjhrZYaGUpIg+k+fv5hdUbe8OnUkDJ0dsCjq9ezriiC3nBlZMqpkQXfWbbqrIt078Zg945PCmE6556tTtzk8yO0FgbO85i+FHu+Few786DU6U1RYg6z/r/g0KKJvzy4i2v/U0/wdL09TtXE3haiW56QNOxTD3QDMdi5cP0Gl0j3hAiZKI9fNWJykoL5n7+a1VKjngyiQBMoX5iNebqKDOipbj6REl2MPoBY6tye1xxjD4ujx1qCut1aM2ZE3A026QdMIGrQhq/5mAjOMe25MJ9AHyyvIodlsgX7yFzmrxZ9dipEhKzV8VPxjI9kJl2jsVJhWWAqGB+mTylw/Yg9jcSbN7hwsszfmBhgRKC+LFLorJiiWs1KY3m9XXzXjatdIhew/TLyTeNf9AdR5NN8k69qf5PozDKysBFn8v/7tR38y0CvtKAHvbF0uufyLag2FkMxVdUyVjrl1poy6nQVQpPeDWjjTjp02zVLfqItmknPdeG4J1P1SZOCn9JpIVYujeeVi5CZe/52ozh8WDjr9y9bBo8xGAYlJgqnuzMZUhJOgI3Xz8H2kN2n1u6XJwCcAP68EAaq4gB5yhRMySaPwxVDDGhBwUwGQc0mDeKG2jsZgHwM20nKWe7hn1A78u1rAt9PXnL59WmYswZp3k5odGpUAC3y2TnllpqERWh1HiSgXWpJzzBPB0OLNk9KoKUSX5d+ukEK2UoGs4ogVby5AkPSSog2/f5WOwhgKgg8gYxTxMwVAXxi7LSQdaATLZLvrMygU90DYePWhRTvh0r2AbSwHw5WNNnKVnymFRzCcqPAAAAAA=="},28453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>r});var o=n(96540);const s={},i=o.createContext(s);function a(e){const t=o.useContext(i);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(s):e.components||s:a(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5b027e06.5f67e512.js b/assets/js/5b027e06.5f67e512.js deleted file mode 100644 index b8596399e..000000000 --- a/assets/js/5b027e06.5f67e512.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[11030],{34637:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/taxonomies","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/5ba3e239.8556d97a.js b/assets/js/5ba3e239.8556d97a.js new file mode 100644 index 000000000..cf489a16b --- /dev/null +++ b/assets/js/5ba3e239.8556d97a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[19811],{2827:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var i=t(74848),s=t(28453);const o={title:"Making your project multilingual",description:"Examples of using I18n in a project",slug:"making-your-project-multilingual",authors:"obradovic",date:new Date("2024-02-01T00:00:00.000Z"),tags:["eightshift","boilerplate","i18n","multilingual"],hide_table_of_contents:!1},r=void 0,a={permalink:"/blog/making-your-project-multilingual",source:"@site/blog/2024-02-01-making-your-project-multilingual.md",title:"Making your project multilingual",description:"Examples of using I18n in a project",date:"2024-02-01T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"i18n",permalink:"/blog/tags/i-18-n"},{label:"multilingual",permalink:"/blog/tags/multilingual"}],readingTime:5.75,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Making your project multilingual",description:"Examples of using I18n in a project",slug:"making-your-project-multilingual",authors:"obradovic",date:"2024-02-01T00:00:00.000Z",tags:["eightshift","boilerplate","i18n","multilingual"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Tips & useful features",permalink:"/blog/tips-useful-features"},nextItem:{title:"How to use the Wrapper as a standalone component",permalink:"/blog/wrapper-as-a-standalone-component"}},l={authorsImageUrls:[void 0]},c=[{value:"Making strings translatable in PHP",id:"making-strings-translatable-in-php",level:2},{value:"Making strings translatable in JS",id:"making-strings-translatable-in-js",level:2},{value:"The I18n class",id:"the-i18n-class",level:2},{value:"Generating .pot file",id:"generating-pot-file",level:2},{value:"Translating with Poedit",id:"translating-with-poedit",level:2},{value:"JS translations",id:"js-translations",level:2},{value:"Enabling languages and content translation",id:"enabling-languages-and-content-translation",level:2},{value:"Additional resources",id:"additional-resources",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"Tools like Google Translate can automatically translate websites with reasonable quality. However, users will have a much better experience if you add support for multiple languages in your project and manage the translations yourself."}),"\n",(0,i.jsx)(n.h2,{id:"making-strings-translatable-in-php",children:"Making strings translatable in PHP"}),"\n",(0,i.jsx)(n.p,{children:"A good practice is to use one of the I18n (internationalization) functions for your hardcoded strings, even if your website starts with a single language. This way, you can add multilingual support more easily later."}),"\n",(0,i.jsxs)(n.p,{children:["If you've worked on a multilanguage-capable project, you most likely came across ",(0,i.jsx)(n.code,{children:"__()"})," and ",(0,i.jsx)(n.code,{children:"_e()"})," functions. The main difference between the ",(0,i.jsx)(n.code,{children:"__()"})," and ",(0,i.jsx)(n.code,{children:"_e()"})," is that ",(0,i.jsx)(n.code,{children:"__()"})," returns the value, while ",(0,i.jsx)(n.code,{children:"_e()"})," echoes it. Both functions take two arguments: the first one is the string to be translated, and the second one is the textdomain that identifies the translation file."]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Textdomain is usually your project name written in kebab-case."}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["While WordPress functions like ",(0,i.jsx)(n.code,{children:"__()"})," and ",(0,i.jsx)(n.code,{children:"_e()"})," will definitely do the job, it is much better to use the variants of these functions that also escape the output. These are ",(0,i.jsx)(n.code,{children:"esc_html__()"})," and ",(0,i.jsx)(n.code,{children:"esc_html_e()"}),". There are also a few more functions for I18n you can use, but to keep it simple, we'll just mention these two for now."]}),"\n",(0,i.jsx)(n.p,{children:"Here is an example of using one of these functions:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-php",children:"<?php echo esc_html__('Contact', 'project-name'); ?>\n"})}),"\n",(0,i.jsx)(n.h2,{id:"making-strings-translatable-in-js",children:"Making strings translatable in JS"}),"\n",(0,i.jsxs)(n.p,{children:["To translate the strings in the Block editor or options, you will first have to import the function from the ",(0,i.jsx)(n.code,{children:"@wordpress/i18n"})," library."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"import { __ } from '@wordpress/i18n';\n"})}),"\n",(0,i.jsx)(n.p,{children:"To output your string, simply use it like this:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"{__('Icon position', 'project-name')}\n"})}),"\n",(0,i.jsx)(n.p,{children:"Alternative functions you can use are:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"_n"})," for singular/plural forms"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"_nx"})," for singular/plural forms with ",(0,i.jsx)(n.em,{children:"gettext"})," context"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"_x"})," for a translated string with a ",(0,i.jsx)(n.em,{children:"gettext"})," context"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["You can refer to the ",(0,i.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/reference-guides/packages/packages-i18n/",children:"block editor handbook"})," for more information on these functions."]}),"\n",(0,i.jsx)(n.h2,{id:"the-i18n-class",children:"The I18n class"}),"\n",(0,i.jsx)(n.p,{children:"The easiest way to add I18n support to a project created with Eightshift boilerplate is by using the WP-CLI command:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"wp boilerplate create i18n\n"})}),"\n",(0,i.jsxs)(n.p,{children:["This command generated a new class inside the ",(0,i.jsx)(n.code,{children:"src/I18n"})," folder. This class instructs WordPress to look for translations in ",(0,i.jsx)(n.code,{children:"src/I18n/languages"})," with the textdomain defined as your project name. The next step is generating .po and .mo files that are used for translation."]}),"\n",(0,i.jsx)(n.h2,{id:"generating-pot-file",children:"Generating .pot file"}),"\n",(0,i.jsxs)(n.p,{children:["You can create a ",(0,i.jsx)(n.code,{children:".pot"})," (",(0,i.jsx)(n.em,{children:"Portable object template"}),") file by using WP-CLI. Run the following command in your project root:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"wp i18n make-pot\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Alternatively, you can use tools like ",(0,i.jsx)(n.a,{href:"https://poedit.net/",children:"Poedit"})," to generate a ",(0,i.jsx)(n.code,{children:".pot"})," file and generate translations from it later."]}),"\n",(0,i.jsx)(n.h2,{id:"translating-with-poedit",children:"Translating with Poedit"}),"\n",(0,i.jsxs)(n.p,{children:["Once you have the ",(0,i.jsx)(n.code,{children:".pot"})," file, you can use Poedit to generate ",(0,i.jsx)(n.code,{children:".po"})," and ",(0,i.jsx)(n.code,{children:".mo"})," files that are used for translating hardcoded strings in your project. When generating the files, you can choose for which locale you're creating the translation for. For example, if you are creating a translation for the German language, your files should be named ",(0,i.jsx)(n.code,{children:"de_DE.po"})," and ",(0,i.jsx)(n.code,{children:"de_DE.mo"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["After generating the files, go to ",(0,i.jsx)(n.strong,{children:"Translation -> Properties"})," and navigate to the ",(0,i.jsx)(n.strong,{children:"Sources Paths"})," tab. Set the ",(0,i.jsx)(n.em,{children:"Base path"})," to the theme folder path. In ",(0,i.jsx)(n.em,{children:"Excluded paths"})," you can add folders like ",(0,i.jsx)(n.code,{children:"node_modules"}),", ",(0,i.jsx)(n.code,{children:"vendor"}),", and ",(0,i.jsx)(n.code,{children:"public"})," to exclude external packages."]}),"\n",(0,i.jsxs)(n.p,{children:["In the ",(0,i.jsx)(n.em,{children:"Sources keywords"})," tab you can set additional functions for use in your project for translations. Commonly used functions are:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"_e"})," for translating a string and echoing it"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"__"})," for returning a translated string"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"esc_html__"})," for returning a translated string which is escaped in a way it's safe to use within HTML"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"esc_html_e"})," for echoing a translated string which is escaped in a way it's safe to use within HTML"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"esc_attr__"})," for returning a translated string which is escaped in a way it's safe to use within an attribute"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"esc_html_x"})," for returning a translated string which is escaped in a way it's safe to use within HTML, with a ",(0,i.jsx)(n.em,{children:"gettext"})," context"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"_n"})," for returning a translated string in a singular or plural form, based on the supplied number"]}),"\n"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["If you're missing a string in your ",(0,i.jsx)(n.code,{children:".po"})," file be sure to check which function is used for translation for that string, and that the function is added to ",(0,i.jsx)(n.em,{children:"Sources keywords"}),"."]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["After updating the settings, click on ",(0,i.jsx)(n.em,{children:"Update from source code"})," option to get the updated list of strings to translate."]}),"\n",(0,i.jsxs)(n.p,{children:["The translation process is simple. The left column represents the source text, and the right column the translation. When you have finished translating the strings, copy the ",(0,i.jsx)(n.code,{children:".po"})," and ",(0,i.jsx)(n.code,{children:".mo"})," files to the ",(0,i.jsx)(n.code,{children:"src/I18n/languages"})," folder."]}),"\n",(0,i.jsx)(n.h2,{id:"js-translations",children:"JS translations"}),"\n",(0,i.jsx)(n.p,{children:"The process of translating strings in JS has a couple of extra steps."}),"\n",(0,i.jsxs)(n.p,{children:["In order to translate strings in JS (e.g. Block editor strings), you will have to generate translation file. To do this, navigate to your ",(0,i.jsx)(n.code,{children:"src/I18n/languages"})," folder and use the following WP-CLI command:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"wp i18n make-json <po-file> --no-purge\n"})}),"\n",(0,i.jsxs)(n.p,{children:["This will generate a ",(0,i.jsx)(n.code,{children:".json"})," file for each JS file present. The strings are extracted from ",(0,i.jsx)(n.code,{children:".po"})," files, so you'll already have the translations added. The ",(0,i.jsx)(n.code,{children:"--no-purge"})," flag is used to keep the existing translations in the ",(0,i.jsx)(n.code,{children:".po"})," file."]}),"\n",(0,i.jsxs)(n.p,{children:["The method used for setting the script translations is ",(0,i.jsx)(n.code,{children:"setScriptTranslations()"})," from the ",(0,i.jsx)(n.code,{children:"I18n"})," class."]}),"\n",(0,i.jsxs)(n.p,{children:["The default way this works in Eightshift DevKit is that you need to have a single ",(0,i.jsx)(n.code,{children:".json"})," file with all the JS translations. If needed, you can either modify this method to read from multiple files, or just merge all the ",(0,i.jsx)(n.code,{children:".json"})," files into one."]}),"\n",(0,i.jsxs)(n.p,{children:["If using the default setup (everything in one file) follow this naming structure: ",(0,i.jsx)(n.code,{children:"{textdomain}-{locale}-{handle}.json"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["For example, if your ",(0,i.jsx)(n.em,{children:"textdomain"})," is ",(0,i.jsx)(n.code,{children:"project-name"})," and your locale is ",(0,i.jsx)(n.code,{children:"de_DE"}),", your file should be named ",(0,i.jsx)(n.code,{children:"project-name-de_DE-project-name-block-editor-scripts.json"}),"."]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"The block-related translations depend on the language the user has set in WP admin."}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"enabling-languages-and-content-translation",children:"Enabling languages and content translation"}),"\n",(0,i.jsx)(n.p,{children:"If the website itself needs to support content in multiple languages, a plugin is a good option."}),"\n",(0,i.jsx)(n.p,{children:"The most common multi-language plugins are:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"WPML"})," - one of the most popular plugins on the market. It is a paid plugin, but offers a lot of advanced options."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Polylang"})," - a free plugin (also has a paid ",(0,i.jsx)(n.em,{children:"Pro"})," version)."]}),"\n"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Explore other options as well, you might find a plugin that is a better fit for your project than WPML or Polylang."}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Most of the translation work will be done through the editor, since you'll need to translate the content on posts and pages."}),"\n",(0,i.jsx)(n.h2,{id:"additional-resources",children:"Additional resources"}),"\n",(0,i.jsxs)(n.p,{children:["Internationalization (",(0,i.jsx)(n.em,{children:"I18n"}),") and Localization (",(0,i.jsx)(n.em,{children:"L10n"}),") are very broad topics, so it's impossible to cover everything in a single blog post."]}),"\n",(0,i.jsx)(n.p,{children:"If you wish to know about the core I18n functionalities, or a bit more about how it is used in the Eightshift DevKit, here are a few resources which you may find interesting:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://codex.wordpress.org/I18n_for_WordPress_Developers",children:"WordPress Codex - I18n for WordPress Developers"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://eightshift.com/docs/basics/tips-tricks/#internationalization-i18n-and-localization-l10n",children:"Eightshift Development kit documentation - Tips & Tricks"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://infinum.com/handbook/wordpress/translations/localization",children:"Infinum WordPress Handbook - Localization"})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},28453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>a});var i=t(96540);const s={},o=i.createContext(s);function r(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5ba3e239.a9cfad90.js b/assets/js/5ba3e239.a9cfad90.js deleted file mode 100644 index b89aaf40b..000000000 --- a/assets/js/5ba3e239.a9cfad90.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[19811],{2827:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var i=t(74848),s=t(28453);const o={title:"Making your project multilingual",description:"Examples of using I18n in a project",slug:"making-your-project-multilingual",authors:"obradovic",date:new Date("2024-02-01T00:00:00.000Z"),tags:["eightshift","boilerplate","i18n","multilingual"],hide_table_of_contents:!1},r=void 0,a={permalink:"/blog/making-your-project-multilingual",source:"@site/blog/2024-02-01-making-your-project-multilingual.md",title:"Making your project multilingual",description:"Examples of using I18n in a project",date:"2024-02-01T00:00:00.000Z",formattedDate:"February 1, 2024",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"i18n",permalink:"/blog/tags/i-18-n"},{label:"multilingual",permalink:"/blog/tags/multilingual"}],readingTime:5.75,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Making your project multilingual",description:"Examples of using I18n in a project",slug:"making-your-project-multilingual",authors:"obradovic",date:"2024-02-01T00:00:00.000Z",tags:["eightshift","boilerplate","i18n","multilingual"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Tips & useful features",permalink:"/blog/tips-useful-features"},nextItem:{title:"How to use the Wrapper as a standalone component",permalink:"/blog/wrapper-as-a-standalone-component"}},l={authorsImageUrls:[void 0]},c=[{value:"Making strings translatable in PHP",id:"making-strings-translatable-in-php",level:2},{value:"Making strings translatable in JS",id:"making-strings-translatable-in-js",level:2},{value:"The I18n class",id:"the-i18n-class",level:2},{value:"Generating .pot file",id:"generating-pot-file",level:2},{value:"Translating with Poedit",id:"translating-with-poedit",level:2},{value:"JS translations",id:"js-translations",level:2},{value:"Enabling languages and content translation",id:"enabling-languages-and-content-translation",level:2},{value:"Additional resources",id:"additional-resources",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"Tools like Google Translate can automatically translate websites with reasonable quality. However, users will have a much better experience if you add support for multiple languages in your project and manage the translations yourself."}),"\n",(0,i.jsx)(n.h2,{id:"making-strings-translatable-in-php",children:"Making strings translatable in PHP"}),"\n",(0,i.jsx)(n.p,{children:"A good practice is to use one of the I18n (internationalization) functions for your hardcoded strings, even if your website starts with a single language. This way, you can add multilingual support more easily later."}),"\n",(0,i.jsxs)(n.p,{children:["If you've worked on a multilanguage-capable project, you most likely came across ",(0,i.jsx)(n.code,{children:"__()"})," and ",(0,i.jsx)(n.code,{children:"_e()"})," functions. The main difference between the ",(0,i.jsx)(n.code,{children:"__()"})," and ",(0,i.jsx)(n.code,{children:"_e()"})," is that ",(0,i.jsx)(n.code,{children:"__()"})," returns the value, while ",(0,i.jsx)(n.code,{children:"_e()"})," echoes it. Both functions take two arguments: the first one is the string to be translated, and the second one is the textdomain that identifies the translation file."]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Textdomain is usually your project name written in kebab-case."}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["While WordPress functions like ",(0,i.jsx)(n.code,{children:"__()"})," and ",(0,i.jsx)(n.code,{children:"_e()"})," will definitely do the job, it is much better to use the variants of these functions that also escape the output. These are ",(0,i.jsx)(n.code,{children:"esc_html__()"})," and ",(0,i.jsx)(n.code,{children:"esc_html_e()"}),". There are also a few more functions for I18n you can use, but to keep it simple, we'll just mention these two for now."]}),"\n",(0,i.jsx)(n.p,{children:"Here is an example of using one of these functions:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-php",children:"<?php echo esc_html__('Contact', 'project-name'); ?>\n"})}),"\n",(0,i.jsx)(n.h2,{id:"making-strings-translatable-in-js",children:"Making strings translatable in JS"}),"\n",(0,i.jsxs)(n.p,{children:["To translate the strings in the Block editor or options, you will first have to import the function from the ",(0,i.jsx)(n.code,{children:"@wordpress/i18n"})," library."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"import { __ } from '@wordpress/i18n';\n"})}),"\n",(0,i.jsx)(n.p,{children:"To output your string, simply use it like this:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"{__('Icon position', 'project-name')}\n"})}),"\n",(0,i.jsx)(n.p,{children:"Alternative functions you can use are:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"_n"})," for singular/plural forms"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"_nx"})," for singular/plural forms with ",(0,i.jsx)(n.em,{children:"gettext"})," context"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"_x"})," for a translated string with a ",(0,i.jsx)(n.em,{children:"gettext"})," context"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["You can refer to the ",(0,i.jsx)(n.a,{href:"https://developer.wordpress.org/block-editor/reference-guides/packages/packages-i18n/",children:"block editor handbook"})," for more information on these functions."]}),"\n",(0,i.jsx)(n.h2,{id:"the-i18n-class",children:"The I18n class"}),"\n",(0,i.jsx)(n.p,{children:"The easiest way to add I18n support to a project created with Eightshift boilerplate is by using the WP-CLI command:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"wp boilerplate create i18n\n"})}),"\n",(0,i.jsxs)(n.p,{children:["This command generated a new class inside the ",(0,i.jsx)(n.code,{children:"src/I18n"})," folder. This class instructs WordPress to look for translations in ",(0,i.jsx)(n.code,{children:"src/I18n/languages"})," with the textdomain defined as your project name. The next step is generating .po and .mo files that are used for translation."]}),"\n",(0,i.jsx)(n.h2,{id:"generating-pot-file",children:"Generating .pot file"}),"\n",(0,i.jsxs)(n.p,{children:["You can create a ",(0,i.jsx)(n.code,{children:".pot"})," (",(0,i.jsx)(n.em,{children:"Portable object template"}),") file by using WP-CLI. Run the following command in your project root:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"wp i18n make-pot\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Alternatively, you can use tools like ",(0,i.jsx)(n.a,{href:"https://poedit.net/",children:"Poedit"})," to generate a ",(0,i.jsx)(n.code,{children:".pot"})," file and generate translations from it later."]}),"\n",(0,i.jsx)(n.h2,{id:"translating-with-poedit",children:"Translating with Poedit"}),"\n",(0,i.jsxs)(n.p,{children:["Once you have the ",(0,i.jsx)(n.code,{children:".pot"})," file, you can use Poedit to generate ",(0,i.jsx)(n.code,{children:".po"})," and ",(0,i.jsx)(n.code,{children:".mo"})," files that are used for translating hardcoded strings in your project. When generating the files, you can choose for which locale you're creating the translation for. For example, if you are creating a translation for the German language, your files should be named ",(0,i.jsx)(n.code,{children:"de_DE.po"})," and ",(0,i.jsx)(n.code,{children:"de_DE.mo"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["After generating the files, go to ",(0,i.jsx)(n.strong,{children:"Translation -> Properties"})," and navigate to the ",(0,i.jsx)(n.strong,{children:"Sources Paths"})," tab. Set the ",(0,i.jsx)(n.em,{children:"Base path"})," to the theme folder path. In ",(0,i.jsx)(n.em,{children:"Excluded paths"})," you can add folders like ",(0,i.jsx)(n.code,{children:"node_modules"}),", ",(0,i.jsx)(n.code,{children:"vendor"}),", and ",(0,i.jsx)(n.code,{children:"public"})," to exclude external packages."]}),"\n",(0,i.jsxs)(n.p,{children:["In the ",(0,i.jsx)(n.em,{children:"Sources keywords"})," tab you can set additional functions for use in your project for translations. Commonly used functions are:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"_e"})," for translating a string and echoing it"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"__"})," for returning a translated string"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"esc_html__"})," for returning a translated string which is escaped in a way it's safe to use within HTML"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"esc_html_e"})," for echoing a translated string which is escaped in a way it's safe to use within HTML"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"esc_attr__"})," for returning a translated string which is escaped in a way it's safe to use within an attribute"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"esc_html_x"})," for returning a translated string which is escaped in a way it's safe to use within HTML, with a ",(0,i.jsx)(n.em,{children:"gettext"})," context"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"_n"})," for returning a translated string in a singular or plural form, based on the supplied number"]}),"\n"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["If you're missing a string in your ",(0,i.jsx)(n.code,{children:".po"})," file be sure to check which function is used for translation for that string, and that the function is added to ",(0,i.jsx)(n.em,{children:"Sources keywords"}),"."]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["After updating the settings, click on ",(0,i.jsx)(n.em,{children:"Update from source code"})," option to get the updated list of strings to translate."]}),"\n",(0,i.jsxs)(n.p,{children:["The translation process is simple. The left column represents the source text, and the right column the translation. When you have finished translating the strings, copy the ",(0,i.jsx)(n.code,{children:".po"})," and ",(0,i.jsx)(n.code,{children:".mo"})," files to the ",(0,i.jsx)(n.code,{children:"src/I18n/languages"})," folder."]}),"\n",(0,i.jsx)(n.h2,{id:"js-translations",children:"JS translations"}),"\n",(0,i.jsx)(n.p,{children:"The process of translating strings in JS has a couple of extra steps."}),"\n",(0,i.jsxs)(n.p,{children:["In order to translate strings in JS (e.g. Block editor strings), you will have to generate translation file. To do this, navigate to your ",(0,i.jsx)(n.code,{children:"src/I18n/languages"})," folder and use the following WP-CLI command:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"wp i18n make-json <po-file> --no-purge\n"})}),"\n",(0,i.jsxs)(n.p,{children:["This will generate a ",(0,i.jsx)(n.code,{children:".json"})," file for each JS file present. The strings are extracted from ",(0,i.jsx)(n.code,{children:".po"})," files, so you'll already have the translations added. The ",(0,i.jsx)(n.code,{children:"--no-purge"})," flag is used to keep the existing translations in the ",(0,i.jsx)(n.code,{children:".po"})," file."]}),"\n",(0,i.jsxs)(n.p,{children:["The method used for setting the script translations is ",(0,i.jsx)(n.code,{children:"setScriptTranslations()"})," from the ",(0,i.jsx)(n.code,{children:"I18n"})," class."]}),"\n",(0,i.jsxs)(n.p,{children:["The default way this works in Eightshift DevKit is that you need to have a single ",(0,i.jsx)(n.code,{children:".json"})," file with all the JS translations. If needed, you can either modify this method to read from multiple files, or just merge all the ",(0,i.jsx)(n.code,{children:".json"})," files into one."]}),"\n",(0,i.jsxs)(n.p,{children:["If using the default setup (everything in one file) follow this naming structure: ",(0,i.jsx)(n.code,{children:"{textdomain}-{locale}-{handle}.json"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["For example, if your ",(0,i.jsx)(n.em,{children:"textdomain"})," is ",(0,i.jsx)(n.code,{children:"project-name"})," and your locale is ",(0,i.jsx)(n.code,{children:"de_DE"}),", your file should be named ",(0,i.jsx)(n.code,{children:"project-name-de_DE-project-name-block-editor-scripts.json"}),"."]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"The block-related translations depend on the language the user has set in WP admin."}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"enabling-languages-and-content-translation",children:"Enabling languages and content translation"}),"\n",(0,i.jsx)(n.p,{children:"If the website itself needs to support content in multiple languages, a plugin is a good option."}),"\n",(0,i.jsx)(n.p,{children:"The most common multi-language plugins are:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"WPML"})," - one of the most popular plugins on the market. It is a paid plugin, but offers a lot of advanced options."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Polylang"})," - a free plugin (also has a paid ",(0,i.jsx)(n.em,{children:"Pro"})," version)."]}),"\n"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"Explore other options as well, you might find a plugin that is a better fit for your project than WPML or Polylang."}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Most of the translation work will be done through the editor, since you'll need to translate the content on posts and pages."}),"\n",(0,i.jsx)(n.h2,{id:"additional-resources",children:"Additional resources"}),"\n",(0,i.jsxs)(n.p,{children:["Internationalization (",(0,i.jsx)(n.em,{children:"I18n"}),") and Localization (",(0,i.jsx)(n.em,{children:"L10n"}),") are very broad topics, so it's impossible to cover everything in a single blog post."]}),"\n",(0,i.jsx)(n.p,{children:"If you wish to know about the core I18n functionalities, or a bit more about how it is used in the Eightshift DevKit, here are a few resources which you may find interesting:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://codex.wordpress.org/I18n_for_WordPress_Developers",children:"WordPress Codex - I18n for WordPress Developers"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://eightshift.com/docs/basics/tips-tricks/#internationalization-i18n-and-localization-l10n",children:"Eightshift Development kit documentation - Tips & Tricks"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://infinum.com/handbook/wordpress/translations/localization",children:"Infinum WordPress Handbook - Localization"})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},28453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>a});var i=t(96540);const s={},o=i.createContext(s);function r(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5e95c892.27bf0ee7.js b/assets/js/5e95c892.df3324cc.js similarity index 82% rename from assets/js/5e95c892.27bf0ee7.js rename to assets/js/5e95c892.df3324cc.js index f708667b4..e20c28ecc 100644 --- a/assets/js/5e95c892.27bf0ee7.js +++ b/assets/js/5e95c892.df3324cc.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[9647],{7121:(e,s,r)=>{r.r(s),r.d(s,{default:()=>d});r(96540);var t=r(34164),c=r(69024),h=r(17559),u=r(22831),a=r(49641),i=r(74848);function d(e){return(0,i.jsx)(c.e3,{className:(0,t.A)(h.G.wrapper.docsPages),children:(0,i.jsx)(a.A,{children:(0,u.v)(e.route.routes)})})}}}]); \ No newline at end of file +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[9647],{7121:(e,s,r)=>{r.r(s),r.d(s,{default:()=>d});r(96540);var t=r(34164),c=r(45500),h=r(17559),u=r(22831),a=r(49641),i=r(74848);function d(e){return(0,i.jsx)(c.e3,{className:(0,t.A)(h.G.wrapper.docsPages),children:(0,i.jsx)(a.A,{children:(0,u.v)(e.route.routes)})})}}}]); \ No newline at end of file diff --git a/assets/js/5eed5ded.c8d6b5be.js b/assets/js/5eed5ded.c8d6b5be.js deleted file mode 100644 index 1056a6c68..000000000 --- a/assets/js/5eed5ded.c8d6b5be.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[25994],{76821:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>n,contentTitle:()=>r,default:()=>p,frontMatter:()=>a,metadata:()=>l,toc:()=>u});var i=s(74848),o=s(28453);const a={title:"Tips & useful features",description:"Various tips and useful features for your project included in Eightshift DevKit.",slug:"tips-useful-features",authors:"obradovic",date:new Date("2024-02-29T00:00:00.000Z"),tags:["eightshift","boilerplate","blocks","plugins","colors","images","classes"],hide_table_of_contents:!1},r=void 0,l={permalink:"/blog/tips-useful-features",source:"@site/blog/2024-02-29-tips-useful-features.md",title:"Tips & useful features",description:"Various tips and useful features for your project included in Eightshift DevKit.",date:"2024-02-29T00:00:00.000Z",formattedDate:"February 29, 2024",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"blocks",permalink:"/blog/tags/blocks"},{label:"plugins",permalink:"/blog/tags/plugins"},{label:"colors",permalink:"/blog/tags/colors"},{label:"images",permalink:"/blog/tags/images"},{label:"classes",permalink:"/blog/tags/classes"}],readingTime:5.665,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Tips & useful features",description:"Various tips and useful features for your project included in Eightshift DevKit.",slug:"tips-useful-features",authors:"obradovic",date:"2024-02-29T00:00:00.000Z",tags:["eightshift","boilerplate","blocks","plugins","colors","images","classes"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Using inner blocks",permalink:"/blog/using-inner-blocks"},nextItem:{title:"Making your project multilingual",permalink:"/blog/making-your-project-multilingual"}},n={authorsImageUrls:[void 0]},u=[];function c(e){const t={p:"p",...(0,o.R)(),...e.components};return(0,i.jsx)(t.p,{children:"Eightshift DevKit has lots of features that can make your development experience easier. These are mostly minor features which can\u2019t be a blog post of its own, so they\u2019ll be listed here. This isn\u2019t a complete list, so there may be a part 2 in the future."})}function p(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},28453:(e,t,s)=>{s.d(t,{R:()=>r,x:()=>l});var i=s(96540);const o={},a=i.createContext(o);function r(e){const t=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5eed5ded.f9aa4010.js b/assets/js/5eed5ded.f9aa4010.js new file mode 100644 index 000000000..d51dcae8e --- /dev/null +++ b/assets/js/5eed5ded.f9aa4010.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[25994],{76821:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>n,contentTitle:()=>l,default:()=>p,frontMatter:()=>a,metadata:()=>r,toc:()=>u});var i=s(74848),o=s(28453);const a={title:"Tips & useful features",description:"Various tips and useful features for your project included in Eightshift DevKit.",slug:"tips-useful-features",authors:"obradovic",date:new Date("2024-02-29T00:00:00.000Z"),tags:["eightshift","boilerplate","blocks","plugins","colors","images","classes"],hide_table_of_contents:!1},l=void 0,r={permalink:"/blog/tips-useful-features",source:"@site/blog/2024-02-29-tips-useful-features.md",title:"Tips & useful features",description:"Various tips and useful features for your project included in Eightshift DevKit.",date:"2024-02-29T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"blocks",permalink:"/blog/tags/blocks"},{label:"plugins",permalink:"/blog/tags/plugins"},{label:"colors",permalink:"/blog/tags/colors"},{label:"images",permalink:"/blog/tags/images"},{label:"classes",permalink:"/blog/tags/classes"}],readingTime:5.665,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Tips & useful features",description:"Various tips and useful features for your project included in Eightshift DevKit.",slug:"tips-useful-features",authors:"obradovic",date:"2024-02-29T00:00:00.000Z",tags:["eightshift","boilerplate","blocks","plugins","colors","images","classes"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Using inner blocks",permalink:"/blog/using-inner-blocks"},nextItem:{title:"Making your project multilingual",permalink:"/blog/making-your-project-multilingual"}},n={authorsImageUrls:[void 0]},u=[];function c(e){const t={p:"p",...(0,o.R)(),...e.components};return(0,i.jsx)(t.p,{children:"Eightshift DevKit has lots of features that can make your development experience easier. These are mostly minor features which can\u2019t be a blog post of its own, so they\u2019ll be listed here. This isn\u2019t a complete list, so there may be a part 2 in the future."})}function p(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},28453:(e,t,s)=>{s.d(t,{R:()=>l,x:()=>r});var i=s(96540);const o={},a=i.createContext(o);function l(e){const t=i.useContext(a);return i.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(o):e.components||o:l(e.components),i.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/60d85392.fd07ea4e.js b/assets/js/60d85392.fd07ea4e.js deleted file mode 100644 index 83383b13b..000000000 --- a/assets/js/60d85392.fd07ea4e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[16536],{4061:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/615207d7.5affd8a6.js b/assets/js/615207d7.5affd8a6.js new file mode 100644 index 000000000..89fc1fd7a --- /dev/null +++ b/assets/js/615207d7.5affd8a6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[67937],{92883:t=>{t.exports=JSON.parse('{"tag":{"label":"patterns","permalink":"/blog/tags/patterns","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/patterns","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/6299beff.13579aec.js b/assets/js/6299beff.13579aec.js deleted file mode 100644 index 35ef31d17..000000000 --- a/assets/js/6299beff.13579aec.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[63498],{87147:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var n=o(74848),s=o(28453);const i={title:"How to use ACF in your project",description:"Example of using ACF plugin in your project",slug:"acf-in-a-project",authors:"obradovic",date:new Date("2022-05-17T00:00:00.000Z"),tags:["eightshift","boilerplate","acf","advanced custom fields","theme options"],hide_table_of_contents:!1},a=void 0,r={permalink:"/blog/acf-in-a-project",source:"@site/blog/2022-05-10-acf-in-a-project.md",title:"How to use ACF in your project",description:"Example of using ACF plugin in your project",date:"2022-05-17T00:00:00.000Z",formattedDate:"May 17, 2022",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"acf",permalink:"/blog/tags/acf"},{label:"advanced custom fields",permalink:"/blog/tags/advanced-custom-fields"},{label:"theme options",permalink:"/blog/tags/theme-options"}],readingTime:5.485,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"How to use ACF in your project",description:"Example of using ACF plugin in your project",slug:"acf-in-a-project",authors:"obradovic",date:"2022-05-17T00:00:00.000Z",tags:["eightshift","boilerplate","acf","advanced custom fields","theme options"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Block Variations",permalink:"/blog/block-variations"},nextItem:{title:"Using assets in a project",permalink:"/blog/using-assets"}},l={authorsImageUrls:[void 0]},c=[];function u(e){const t={em:"em",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,n.jsxs)(t.p,{children:["If you've worked with WordPress for a long time, you've heard of the ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"Advanced Custom Fields"})})," plugin (",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"ACF"})})," for short). While the use of blocks has simplified content editing, thus making meta fields less of a necessity, there are still cases in which meta fields are very useful."]})}function d(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},28453:(e,t,o)=>{o.d(t,{R:()=>a,x:()=>r});var n=o(96540);const s={},i=n.createContext(s);function a(e){const t=n.useContext(i);return n.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(s):e.components||s:a(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6299beff.7106f5f1.js b/assets/js/6299beff.7106f5f1.js new file mode 100644 index 000000000..3a8e1cbe7 --- /dev/null +++ b/assets/js/6299beff.7106f5f1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[63498],{87147:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var n=o(74848),s=o(28453);const i={title:"How to use ACF in your project",description:"Example of using ACF plugin in your project",slug:"acf-in-a-project",authors:"obradovic",date:new Date("2022-05-17T00:00:00.000Z"),tags:["eightshift","boilerplate","acf","advanced custom fields","theme options"],hide_table_of_contents:!1},a=void 0,r={permalink:"/blog/acf-in-a-project",source:"@site/blog/2022-05-10-acf-in-a-project.md",title:"How to use ACF in your project",description:"Example of using ACF plugin in your project",date:"2022-05-17T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"acf",permalink:"/blog/tags/acf"},{label:"advanced custom fields",permalink:"/blog/tags/advanced-custom-fields"},{label:"theme options",permalink:"/blog/tags/theme-options"}],readingTime:5.485,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"How to use ACF in your project",description:"Example of using ACF plugin in your project",slug:"acf-in-a-project",authors:"obradovic",date:"2022-05-17T00:00:00.000Z",tags:["eightshift","boilerplate","acf","advanced custom fields","theme options"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Block Variations",permalink:"/blog/block-variations"},nextItem:{title:"Using assets in a project",permalink:"/blog/using-assets"}},l={authorsImageUrls:[void 0]},c=[];function u(e){const t={em:"em",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,n.jsxs)(t.p,{children:["If you've worked with WordPress for a long time, you've heard of the ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"Advanced Custom Fields"})})," plugin (",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"ACF"})})," for short). While the use of blocks has simplified content editing, thus making meta fields less of a necessity, there are still cases in which meta fields are very useful."]})}function p(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},28453:(e,t,o)=>{o.d(t,{R:()=>a,x:()=>r});var n=o(96540);const s={},i=n.createContext(s);function a(e){const t=n.useContext(i);return n.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(s):e.components||s:a(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/62a6c31f.175cca2c.js b/assets/js/62a6c31f.175cca2c.js new file mode 100644 index 000000000..5255d0d30 --- /dev/null +++ b/assets/js/62a6c31f.175cca2c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[87869],{38819:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>a});var o=t(74848),s=t(28453);const r={title:"Using inner blocks",description:"Various tips and useful features for your project included in Eightshift DevKit.",slug:"using-inner-blocks",authors:"obradovic",date:new Date("2024-03-07T00:00:00.000Z"),tags:["eightshift","boilerplate","inner blocks"],hide_table_of_contents:!1},i=void 0,l={permalink:"/blog/using-inner-blocks",source:"@site/blog/2024-03-07-using-inner-blocks.md",title:"Using inner blocks",description:"Various tips and useful features for your project included in Eightshift DevKit.",date:"2024-03-07T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"inner blocks",permalink:"/blog/tags/inner-blocks"}],readingTime:4.71,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Using inner blocks",description:"Various tips and useful features for your project included in Eightshift DevKit.",slug:"using-inner-blocks",authors:"obradovic",date:"2024-03-07T00:00:00.000Z",tags:["eightshift","boilerplate","inner blocks"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Using post templates",permalink:"/blog/using-post-templates"},nextItem:{title:"Tips & useful features",permalink:"/blog/tips-useful-features"}},c={authorsImageUrls:[void 0]},a=[{value:"Why use inner blocks?",id:"why-use-inner-blocks",level:2},{value:"Adding inner block support",id:"adding-inner-block-support",level:2},{value:"Overriding inner block attributes",id:"overriding-inner-block-attributes",level:2},{value:"overrideInnerBlockAttributes",id:"overrideinnerblockattributes",level:3},{value:"useBlockProps and useInnerBlocksProps",id:"useblockprops-and-useinnerblocksprops",level:3},{value:"Conclusion",id:"conclusion",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:"InnerBlocks in WordPress enable the creation of nested block structures within the Gutenberg editor, allowing for the development of more complex and customizable content layouts."}),"\n",(0,o.jsx)(n.h2,{id:"why-use-inner-blocks",children:"Why use inner blocks?"}),"\n",(0,o.jsx)(n.p,{children:"Use of inner blocks allows for more flexibility when building content. Let\u2019s say you\u2019re building a simple two-column layout with image on one side and content on the other side. You can define the components that will be used (e.g. header, paragraph, list, button) and then just toggle the ones you don\u2019t need."}),"\n",(0,o.jsx)(n.p,{children:"This approach works perfectly fine when you have a strict layout and don\u2019t need larger content structure variations. Using inner blocks may introduce a bit more complexity - both for developers and content editors, but ultimately gives the editors much more freedom."}),"\n",(0,o.jsx)(n.p,{children:"Another example where inner blocks are used is the Carousel block. Using inner blocks allows you to add as many slides as you'd like in your carousel. Let\u2019s not forget about Columns and Group blocks. These also use inner blocks."}),"\n",(0,o.jsx)(n.h2,{id:"adding-inner-block-support",children:"Adding inner block support"}),"\n",(0,o.jsxs)(n.p,{children:["The example used in this blog post is a two-column Card that was made for a project. First thing that needs to be updated is the ",(0,o.jsx)(n.em,{children:(0,o.jsx)(n.strong,{children:"manifest.json"})})," file. For the sake of simplicity and not having too much code, the parts that aren\u2019t related to the inner blocks have been removed."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n\t"hasInnerBlocks": true,\n\t"innerBlocksDependency": [\n\t\t"heading",\n\t\t"paragraph"\n\t],\n\t"attributes": {\n\t\t"cardTwoColumnAllowedBlocks": {\n\t\t\t"type": "array",\n\t\t\t"items": {\n\t\t\t\t"type": "string"\n\t\t\t},\n\t\t\t"default": [\n\t\t\t\t"eightshift-boilerplate/paragraph",\n\t\t\t\t"eightshift-boilerplate/heading",\n\t\t\t\t"eightshift-boilerplate/button",\n\t\t\t\t"eightshift-boilerplate/lists"\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"hasInnerBlocks"})," key defines that this block supports inner blocks. The ",(0,o.jsx)(n.code,{children:"innerBlocksDependency"})," is generally used to output block dependencies when adding a block via CLI, but it can also be used to add inner blocks automatically. You can see an example of using it in the Columns block ",(0,o.jsx)(n.code,{children:"editor.js"})," file."]}),"\n",(0,o.jsxs)(n.p,{children:["In case we need to limit which blocks can be added inside inner blocks, we can do so with an attribute. Usually, the attribute is named ",(0,o.jsx)(n.code,{children:"{blockName}AllowedBlocks"}),". Set the default value as an array of strings that represent block names you want to allow."]}),"\n",(0,o.jsxs)(n.p,{children:["Please note that the block names must include the block namespace! (",(0,o.jsx)(n.code,{children:"eightshift-boilerplate"})," by default, check in Global manifest)"]}),"\n",(0,o.jsxs)(n.p,{children:["Now you need to pass the allowed blocks attribute into the ",(0,o.jsx)(n.code,{children:"InnerBlocks"})," component In the ",(0,o.jsx)(n.code,{children:"{block-name}-editor.js"})," file. Here\u2019s an example of the code related only to the inner blocks:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-jsx",children:"import { InnerBlocks } from '@wordpress/block-editor';\nimport { BlockInserter } from '@eightshift/frontend-libs/scripts';\n\nexport const CardTwoColumnEditor = ({ attributes, setAttributes, clientId }) => {\n\n\tconst {\n\t\tcardTwoColumnAllowedBlocks,\n\t} = attributes;\n\n\treturn (\n\t\t<div className={contentClass}>\n\t\t\t<InnerBlocks\n\t\t\t\tallowedBlocks={(typeof cardTwoColumnAllowedBlocks === 'undefined') || cardTwoColumnAllowedBlocks}\n\t\t\t\torientation='vertical'\n\t\t\t\trenderAppender={() => <BlockInserter clientId={clientId} />}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n"})}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"InnerBlocks"})," component comes from Gutenberg. In order to limit the allowed blocks, we need to pass the list of allowed inner blocks to the ",(0,o.jsx)(n.code,{children:"allowedBlocks"})," attribute. If your inner blocks should be laid out horizontally in the editor, instead of vertically, you can pass ",(0,o.jsx)(n.code,{children:"orientation='horizontal'"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"renderAppender"})," prop allows passing a custom block insert button. Due to relatively frequent changes in Gutenberg, a custom ",(0,o.jsx)(n.code,{children:"BlockInserter"})," element is available in Frontend libs as a replacement, and can be passed to ",(0,o.jsx)(n.code,{children:"InnerBlocks"}),"."]}),"\n",(0,o.jsx)(n.p,{children:"Finally, to render the inner blocks in PHP, you need to add the following:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"<?php\n// phpcs:ignore Eightshift.Security.ComponentsEscape.OutputNotEscaped\necho $innerBlockContent;\n?>\n"})}),"\n",(0,o.jsx)(n.p,{children:"And that\u2019s it! Your block now supports inner blocks."}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsx)(n.p,{children:"A block can have only one set of inner blocks."})}),"\n",(0,o.jsx)(n.h2,{id:"overriding-inner-block-attributes",children:"Overriding inner block attributes"}),"\n",(0,o.jsx)(n.p,{children:"Inner blocks behave like regular blocks, which means they also have a wrapper by default. This may not always be desired and manually removing wrapper or adding custom wrapper settings on each inner block can be tedious. That\u2019s why Eightshift DevKit offers few helpers that allow you to override inner block attributes."}),"\n",(0,o.jsxs)(n.p,{children:["Both of these helpers go to your ",(0,o.jsx)(n.code,{children:"{block-name}-block.js"})," file."]}),"\n",(0,o.jsx)(n.h3,{id:"overrideinnerblockattributes",children:"overrideInnerBlockAttributes"}),"\n",(0,o.jsx)(n.p,{children:"This helper allows you to set the attributes on all inner blocks by passing them as a third parameter. The example below shows how to disable the wrapper and hide wrapper controls."}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-jsx",children:"import { useSelect } from '@wordpress/data';\nimport { overrideInnerBlockAttributes } from '@eightshift/frontend-libs/scripts';\n\nexport const Accordion = (props) => {\n\t// Set these attributes to all inner blocks once inserted in DOM.\n\tuseSelect((select) => {\n\t\toverrideInnerBlockAttributes(\n\t\t\tselect,\n\t\t\tprops.clientId,\n\t\t\t{\n\t\t\t\twrapperUse: false,\n\t\t\t\twrapperNoControls: true,\n\t\t\t},\n\t\t);\n\t});\n\n\treturn (\n\t\t// ...\n\t);\n};\n"})}),"\n",(0,o.jsx)(n.p,{children:"Keep in mind this helper allows you to set any attribute that the inner block supports, so you can even set a larger paragraph size and a different color, for example."}),"\n",(0,o.jsx)(n.h3,{id:"useblockprops-and-useinnerblocksprops",children:"useBlockProps and useInnerBlocksProps"}),"\n",(0,o.jsxs)(n.p,{children:["In case the default ",(0,o.jsx)(n.code,{children:"InnerBlocks"})," limits your styling and/or layout options too much, you can opt into the newer block prop hooks to implement inner blocks as well!"]}),"\n",(0,o.jsxs)(n.p,{children:["Import the ",(0,o.jsx)(n.code,{children:"useBlockProps"})," and ",(0,o.jsx)(n.code,{children:"useInnerBlocksProps"})," hooks, configure them just like regular InnerBlocks, and spread the params into an element of your choice (",(0,o.jsx)(n.code,{children:"div"})," is recommended)."]}),"\n",(0,o.jsx)(n.p,{children:"In code, it looks something like this:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-jsx",children:"import { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';\n\nexport const DemoEditor = (props) => {\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps(blockProps, {\n\t\tallowedBlocks: demoAllowedBlocks,\n\t\trenderAppender: () => <BlockInserter clientId={clientId} />,\n\t});\n\n\treturn (\n\t\t<div {...innerBlocksProps} /> // Do whatever you want with this.\n\t);\n};\n"})}),"\n",(0,o.jsx)(n.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,o.jsxs)(n.p,{children:["The best way to understand how inner blocks work is to try to build your own block that supports inner blocks and try out various options and see what kind of results you\u2019ll get. If you ever get stuck, you can refer to the official ",(0,o.jsx)(n.a,{href:"https://eightshift.com/docs/welcome",children:"Eightshift DevKit documentation"})," or check the blocks that already have inner blocks support. These blocks are:"]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"accordion"}),"\n",(0,o.jsx)(n.li,{children:"accordion item"}),"\n",(0,o.jsx)(n.li,{children:"columns"}),"\n",(0,o.jsx)(n.li,{children:"column"}),"\n",(0,o.jsx)(n.li,{children:"carousel"}),"\n",(0,o.jsx)(n.li,{children:"group"}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},28453:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>l});var o=t(96540);const s={},r=o.createContext(s);function i(e){const n=o.useContext(r);return o.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:i(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/62a6c31f.bcf95723.js b/assets/js/62a6c31f.bcf95723.js deleted file mode 100644 index 28fcc34f8..000000000 --- a/assets/js/62a6c31f.bcf95723.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[87869],{38819:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>a});var o=t(74848),s=t(28453);const r={title:"Using inner blocks",description:"Various tips and useful features for your project included in Eightshift DevKit.",slug:"using-inner-blocks",authors:"obradovic",date:new Date("2024-03-07T00:00:00.000Z"),tags:["eightshift","boilerplate","inner blocks"],hide_table_of_contents:!1},i=void 0,l={permalink:"/blog/using-inner-blocks",source:"@site/blog/2024-03-07-using-inner-blocks.md",title:"Using inner blocks",description:"Various tips and useful features for your project included in Eightshift DevKit.",date:"2024-03-07T00:00:00.000Z",formattedDate:"March 7, 2024",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"inner blocks",permalink:"/blog/tags/inner-blocks"}],readingTime:4.71,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Using inner blocks",description:"Various tips and useful features for your project included in Eightshift DevKit.",slug:"using-inner-blocks",authors:"obradovic",date:"2024-03-07T00:00:00.000Z",tags:["eightshift","boilerplate","inner blocks"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Using post templates",permalink:"/blog/using-post-templates"},nextItem:{title:"Tips & useful features",permalink:"/blog/tips-useful-features"}},c={authorsImageUrls:[void 0]},a=[{value:"Why use inner blocks?",id:"why-use-inner-blocks",level:2},{value:"Adding inner block support",id:"adding-inner-block-support",level:2},{value:"Overriding inner block attributes",id:"overriding-inner-block-attributes",level:2},{value:"overrideInnerBlockAttributes",id:"overrideinnerblockattributes",level:3},{value:"useBlockProps and useInnerBlocksProps",id:"useblockprops-and-useinnerblocksprops",level:3},{value:"Conclusion",id:"conclusion",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:"InnerBlocks in WordPress enable the creation of nested block structures within the Gutenberg editor, allowing for the development of more complex and customizable content layouts."}),"\n",(0,o.jsx)(n.h2,{id:"why-use-inner-blocks",children:"Why use inner blocks?"}),"\n",(0,o.jsx)(n.p,{children:"Use of inner blocks allows for more flexibility when building content. Let\u2019s say you\u2019re building a simple two-column layout with image on one side and content on the other side. You can define the components that will be used (e.g. header, paragraph, list, button) and then just toggle the ones you don\u2019t need."}),"\n",(0,o.jsx)(n.p,{children:"This approach works perfectly fine when you have a strict layout and don\u2019t need larger content structure variations. Using inner blocks may introduce a bit more complexity - both for developers and content editors, but ultimately gives the editors much more freedom."}),"\n",(0,o.jsx)(n.p,{children:"Another example where inner blocks are used is the Carousel block. Using inner blocks allows you to add as many slides as you'd like in your carousel. Let\u2019s not forget about Columns and Group blocks. These also use inner blocks."}),"\n",(0,o.jsx)(n.h2,{id:"adding-inner-block-support",children:"Adding inner block support"}),"\n",(0,o.jsxs)(n.p,{children:["The example used in this blog post is a two-column Card that was made for a project. First thing that needs to be updated is the ",(0,o.jsx)(n.em,{children:(0,o.jsx)(n.strong,{children:"manifest.json"})})," file. For the sake of simplicity and not having too much code, the parts that aren\u2019t related to the inner blocks have been removed."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n\t"hasInnerBlocks": true,\n\t"innerBlocksDependency": [\n\t\t"heading",\n\t\t"paragraph"\n\t],\n\t"attributes": {\n\t\t"cardTwoColumnAllowedBlocks": {\n\t\t\t"type": "array",\n\t\t\t"items": {\n\t\t\t\t"type": "string"\n\t\t\t},\n\t\t\t"default": [\n\t\t\t\t"eightshift-boilerplate/paragraph",\n\t\t\t\t"eightshift-boilerplate/heading",\n\t\t\t\t"eightshift-boilerplate/button",\n\t\t\t\t"eightshift-boilerplate/lists"\n\t\t\t]\n\t\t}\n\t}\n}\n'})}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"hasInnerBlocks"})," key defines that this block supports inner blocks. The ",(0,o.jsx)(n.code,{children:"innerBlocksDependency"})," is generally used to output block dependencies when adding a block via CLI, but it can also be used to add inner blocks automatically. You can see an example of using it in the Columns block ",(0,o.jsx)(n.code,{children:"editor.js"})," file."]}),"\n",(0,o.jsxs)(n.p,{children:["In case we need to limit which blocks can be added inside inner blocks, we can do so with an attribute. Usually, the attribute is named ",(0,o.jsx)(n.code,{children:"{blockName}AllowedBlocks"}),". Set the default value as an array of strings that represent block names you want to allow."]}),"\n",(0,o.jsxs)(n.p,{children:["Please note that the block names must include the block namespace! (",(0,o.jsx)(n.code,{children:"eightshift-boilerplate"})," by default, check in Global manifest)"]}),"\n",(0,o.jsxs)(n.p,{children:["Now you need to pass the allowed blocks attribute into the ",(0,o.jsx)(n.code,{children:"InnerBlocks"})," component In the ",(0,o.jsx)(n.code,{children:"{block-name}-editor.js"})," file. Here\u2019s an example of the code related only to the inner blocks:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-jsx",children:"import { InnerBlocks } from '@wordpress/block-editor';\nimport { BlockInserter } from '@eightshift/frontend-libs/scripts';\n\nexport const CardTwoColumnEditor = ({ attributes, setAttributes, clientId }) => {\n\n\tconst {\n\t\tcardTwoColumnAllowedBlocks,\n\t} = attributes;\n\n\treturn (\n\t\t<div className={contentClass}>\n\t\t\t<InnerBlocks\n\t\t\t\tallowedBlocks={(typeof cardTwoColumnAllowedBlocks === 'undefined') || cardTwoColumnAllowedBlocks}\n\t\t\t\torientation='vertical'\n\t\t\t\trenderAppender={() => <BlockInserter clientId={clientId} />}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n"})}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"InnerBlocks"})," component comes from Gutenberg. In order to limit the allowed blocks, we need to pass the list of allowed inner blocks to the ",(0,o.jsx)(n.code,{children:"allowedBlocks"})," attribute. If your inner blocks should be laid out horizontally in the editor, instead of vertically, you can pass ",(0,o.jsx)(n.code,{children:"orientation='horizontal'"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"renderAppender"})," prop allows passing a custom block insert button. Due to relatively frequent changes in Gutenberg, a custom ",(0,o.jsx)(n.code,{children:"BlockInserter"})," element is available in Frontend libs as a replacement, and can be passed to ",(0,o.jsx)(n.code,{children:"InnerBlocks"}),"."]}),"\n",(0,o.jsx)(n.p,{children:"Finally, to render the inner blocks in PHP, you need to add the following:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"<?php\n// phpcs:ignore Eightshift.Security.ComponentsEscape.OutputNotEscaped\necho $innerBlockContent;\n?>\n"})}),"\n",(0,o.jsx)(n.p,{children:"And that\u2019s it! Your block now supports inner blocks."}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsx)(n.p,{children:"A block can have only one set of inner blocks."})}),"\n",(0,o.jsx)(n.h2,{id:"overriding-inner-block-attributes",children:"Overriding inner block attributes"}),"\n",(0,o.jsx)(n.p,{children:"Inner blocks behave like regular blocks, which means they also have a wrapper by default. This may not always be desired and manually removing wrapper or adding custom wrapper settings on each inner block can be tedious. That\u2019s why Eightshift DevKit offers few helpers that allow you to override inner block attributes."}),"\n",(0,o.jsxs)(n.p,{children:["Both of these helpers go to your ",(0,o.jsx)(n.code,{children:"{block-name}-block.js"})," file."]}),"\n",(0,o.jsx)(n.h3,{id:"overrideinnerblockattributes",children:"overrideInnerBlockAttributes"}),"\n",(0,o.jsx)(n.p,{children:"This helper allows you to set the attributes on all inner blocks by passing them as a third parameter. The example below shows how to disable the wrapper and hide wrapper controls."}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-jsx",children:"import { useSelect } from '@wordpress/data';\nimport { overrideInnerBlockAttributes } from '@eightshift/frontend-libs/scripts';\n\nexport const Accordion = (props) => {\n\t// Set these attributes to all inner blocks once inserted in DOM.\n\tuseSelect((select) => {\n\t\toverrideInnerBlockAttributes(\n\t\t\tselect,\n\t\t\tprops.clientId,\n\t\t\t{\n\t\t\t\twrapperUse: false,\n\t\t\t\twrapperNoControls: true,\n\t\t\t},\n\t\t);\n\t});\n\n\treturn (\n\t\t// ...\n\t);\n};\n"})}),"\n",(0,o.jsx)(n.p,{children:"Keep in mind this helper allows you to set any attribute that the inner block supports, so you can even set a larger paragraph size and a different color, for example."}),"\n",(0,o.jsx)(n.h3,{id:"useblockprops-and-useinnerblocksprops",children:"useBlockProps and useInnerBlocksProps"}),"\n",(0,o.jsxs)(n.p,{children:["In case the default ",(0,o.jsx)(n.code,{children:"InnerBlocks"})," limits your styling and/or layout options too much, you can opt into the newer block prop hooks to implement inner blocks as well!"]}),"\n",(0,o.jsxs)(n.p,{children:["Import the ",(0,o.jsx)(n.code,{children:"useBlockProps"})," and ",(0,o.jsx)(n.code,{children:"useInnerBlocksProps"})," hooks, configure them just like regular InnerBlocks, and spread the params into an element of your choice (",(0,o.jsx)(n.code,{children:"div"})," is recommended)."]}),"\n",(0,o.jsx)(n.p,{children:"In code, it looks something like this:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-jsx",children:"import { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';\n\nexport const DemoEditor = (props) => {\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps(blockProps, {\n\t\tallowedBlocks: demoAllowedBlocks,\n\t\trenderAppender: () => <BlockInserter clientId={clientId} />,\n\t});\n\n\treturn (\n\t\t<div {...innerBlocksProps} /> // Do whatever you want with this.\n\t);\n};\n"})}),"\n",(0,o.jsx)(n.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,o.jsxs)(n.p,{children:["The best way to understand how inner blocks work is to try to build your own block that supports inner blocks and try out various options and see what kind of results you\u2019ll get. If you ever get stuck, you can refer to the official ",(0,o.jsx)(n.a,{href:"https://eightshift.com/docs/welcome",children:"Eightshift DevKit documentation"})," or check the blocks that already have inner blocks support. These blocks are:"]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"accordion"}),"\n",(0,o.jsx)(n.li,{children:"accordion item"}),"\n",(0,o.jsx)(n.li,{children:"columns"}),"\n",(0,o.jsx)(n.li,{children:"column"}),"\n",(0,o.jsx)(n.li,{children:"carousel"}),"\n",(0,o.jsx)(n.li,{children:"group"}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},28453:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>l});var o=t(96540);const s={},r=o.createContext(s);function i(e){const n=o.useContext(r);return o.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:i(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/66092bc9.b5604431.js b/assets/js/66092bc9.b5604431.js new file mode 100644 index 000000000..666d0914c --- /dev/null +++ b/assets/js/66092bc9.b5604431.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[42862],{59233:t=>{t.exports=JSON.parse('{"tag":{"label":"eightshift","permalink":"/blog/tags/eightshift","allTagsPath":"/blog/tags","count":17,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/eightshift","page":1,"postsPerPage":9,"totalPages":2,"totalCount":17,"nextPage":"/blog/tags/eightshift/page/2","blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/67da9612.1b1e1c9f.js b/assets/js/67da9612.1b1e1c9f.js deleted file mode 100644 index 90b0d3ec7..000000000 --- a/assets/js/67da9612.1b1e1c9f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[14731],{63309:s=>{s.exports=JSON.parse('{"label":"icons","permalink":"/blog/tags/icons","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/6875c492.109e2a6b.js b/assets/js/6875c492.0deae62f.js similarity index 94% rename from assets/js/6875c492.109e2a6b.js rename to assets/js/6875c492.0deae62f.js index 0ae960c4e..7b9b97574 100644 --- a/assets/js/6875c492.109e2a6b.js +++ b/assets/js/6875c492.0deae62f.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[84813,18401],{47713:(e,t,n)=>{n.d(t,{A:()=>r});n(96540);var s=n(21312),a=n(39022),i=n(74848);function r(e){const{metadata:t}=e,{previousPage:n,nextPage:r}=t;return(0,i.jsxs)("nav",{className:"pagination-nav","aria-label":(0,s.T)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[n&&(0,i.jsx)(a.A,{permalink:n,title:(0,i.jsx)(s.A,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)",children:"Newer Entries"})}),r&&(0,i.jsx)(a.A,{permalink:r,title:(0,i.jsx)(s.A,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older Entries"}),isNext:!0})]})}},33892:(e,t,n)=>{n.d(t,{A:()=>r});n(96540);var s=n(7131),a=n(48258),i=n(74848);function r(e){let{items:t,component:n=a.A}=e;return(0,i.jsx)(i.Fragment,{children:t.map((e=>{let{content:t}=e;return(0,i.jsx)(s.i,{content:t,children:(0,i.jsx)(n,{children:(0,i.jsx)(t,{})})},t.metadata.permalink)}))})}},33069:(e,t,n)=>{n.r(t),n.d(t,{default:()=>A});n(96540);var s=n(34164),a=n(21312),i=n(53465),r=n(69024),l=n(17559),o=n(28774),c=n(26535),g=n(47713),d=n(41463),u=n(33892),h=n(50996),p=n(51107),m=n(74848);function x(e){const t=function(){const{selectMessage:e}=(0,i.W)();return t=>e(t,(0,a.T)({id:"theme.blog.post.plurals",description:'Pluralized label for "{count} posts". 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 post|{count} posts"},{count:t}))}();return(0,a.T)({id:"theme.blog.tagTitle",description:"The title of the page for a blog tag",message:'{nPosts} tagged with "{tagName}"'},{nPosts:t(e.count),tagName:e.label})}function j(e){let{tag:t}=e;const n=x(t);return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(r.be,{title:n}),(0,m.jsx)(d.A,{tag:"blog_tags_posts"})]})}function b(e){let{tag:t,items:n,sidebar:s,listMetadata:i}=e;const r=x(t);return(0,m.jsxs)(c.A,{sidebar:s,children:[t.unlisted&&(0,m.jsx)(h.A,{}),(0,m.jsxs)("header",{className:"margin-bottom--xl",children:[(0,m.jsx)(p.A,{as:"h1",children:r}),(0,m.jsx)(o.A,{href:t.allTagsPath,children:(0,m.jsx)(a.A,{id:"theme.tags.tagsPageLink",description:"The label of the link targeting the tag list page",children:"View All Tags"})})]}),(0,m.jsx)(u.A,{items:n}),(0,m.jsx)(g.A,{metadata:i})]})}function A(e){return(0,m.jsxs)(r.e3,{className:(0,s.A)(l.G.wrapper.blogPages,l.G.page.blogTagPostListPage),children:[(0,m.jsx)(j,{...e}),(0,m.jsx)(b,{...e})]})}},50996:(e,t,n)=>{n.d(t,{A:()=>h});n(96540);var s=n(34164),a=n(21312),i=n(5260),r=n(74848);function l(){return(0,r.jsx)(a.A,{id:"theme.unlistedContent.title",description:"The unlisted content banner title",children:"Unlisted page"})}function o(){return(0,r.jsx)(a.A,{id:"theme.unlistedContent.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function c(){return(0,r.jsx)(i.A,{children:(0,r.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}var g=n(17559),d=n(71608);function u(e){let{className:t}=e;return(0,r.jsx)(d.A,{type:"caution",title:(0,r.jsx)(l,{}),className:(0,s.A)(t,g.G.common.unlistedBanner),children:(0,r.jsx)(o,{})})}function h(e){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(c,{}),(0,r.jsx)(u,{...e})]})}},71608:(e,t,n)=>{n.d(t,{A:()=>i});n(96540);var s=n(25552),a=n(74848);function i(e){return(0,a.jsx)(s.V,{...e})}}}]); \ No newline at end of file +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[84813,18401],{47713:(e,t,n)=>{n.d(t,{A:()=>r});n(96540);var s=n(21312),a=n(39022),i=n(74848);function r(e){const{metadata:t}=e,{previousPage:n,nextPage:r}=t;return(0,i.jsxs)("nav",{className:"pagination-nav","aria-label":(0,s.T)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[n&&(0,i.jsx)(a.A,{permalink:n,title:(0,i.jsx)(s.A,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)",children:"Newer Entries"})}),r&&(0,i.jsx)(a.A,{permalink:r,title:(0,i.jsx)(s.A,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older Entries"}),isNext:!0})]})}},33892:(e,t,n)=>{n.d(t,{A:()=>r});n(96540);var s=n(7131),a=n(24651),i=n(74848);function r(e){let{items:t,component:n=a.A}=e;return(0,i.jsx)(i.Fragment,{children:t.map((e=>{let{content:t}=e;return(0,i.jsx)(s.i,{content:t,children:(0,i.jsx)(n,{children:(0,i.jsx)(t,{})})},t.metadata.permalink)}))})}},33069:(e,t,n)=>{n.r(t),n.d(t,{default:()=>A});n(96540);var s=n(34164),a=n(21312),i=n(53465),r=n(45500),l=n(17559),o=n(28774),c=n(26535),g=n(47713),d=n(41463),u=n(33892),h=n(50996),p=n(51107),m=n(74848);function x(e){const t=function(){const{selectMessage:e}=(0,i.W)();return t=>e(t,(0,a.T)({id:"theme.blog.post.plurals",description:'Pluralized label for "{count} posts". 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 post|{count} posts"},{count:t}))}();return(0,a.T)({id:"theme.blog.tagTitle",description:"The title of the page for a blog tag",message:'{nPosts} tagged with "{tagName}"'},{nPosts:t(e.count),tagName:e.label})}function j(e){let{tag:t}=e;const n=x(t);return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(r.be,{title:n}),(0,m.jsx)(d.A,{tag:"blog_tags_posts"})]})}function b(e){let{tag:t,items:n,sidebar:s,listMetadata:i}=e;const r=x(t);return(0,m.jsxs)(c.A,{sidebar:s,children:[t.unlisted&&(0,m.jsx)(h.A,{}),(0,m.jsxs)("header",{className:"margin-bottom--xl",children:[(0,m.jsx)(p.A,{as:"h1",children:r}),(0,m.jsx)(o.A,{href:t.allTagsPath,children:(0,m.jsx)(a.A,{id:"theme.tags.tagsPageLink",description:"The label of the link targeting the tag list page",children:"View All Tags"})})]}),(0,m.jsx)(u.A,{items:n}),(0,m.jsx)(g.A,{metadata:i})]})}function A(e){return(0,m.jsxs)(r.e3,{className:(0,s.A)(l.G.wrapper.blogPages,l.G.page.blogTagPostListPage),children:[(0,m.jsx)(j,{...e}),(0,m.jsx)(b,{...e})]})}},50996:(e,t,n)=>{n.d(t,{A:()=>h});n(96540);var s=n(34164),a=n(21312),i=n(5260),r=n(74848);function l(){return(0,r.jsx)(a.A,{id:"theme.unlistedContent.title",description:"The unlisted content banner title",children:"Unlisted page"})}function o(){return(0,r.jsx)(a.A,{id:"theme.unlistedContent.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function c(){return(0,r.jsx)(i.A,{children:(0,r.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}var g=n(17559),d=n(71608);function u(e){let{className:t}=e;return(0,r.jsx)(d.A,{type:"caution",title:(0,r.jsx)(l,{}),className:(0,s.A)(t,g.G.common.unlistedBanner),children:(0,r.jsx)(o,{})})}function h(e){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(c,{}),(0,r.jsx)(u,{...e})]})}},71608:(e,t,n)=>{n.d(t,{A:()=>i});n(96540);var s=n(25552),a=n(74848);function i(e){return(0,a.jsx)(s.V,{...e})}}}]); \ No newline at end of file diff --git a/assets/js/6b8dfc08.4071eaeb.js b/assets/js/6b8dfc08.4071eaeb.js deleted file mode 100644 index 28505d493..000000000 --- a/assets/js/6b8dfc08.4071eaeb.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[32282],{25594:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/wrapper","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/6f52e085.5914dfd3.js b/assets/js/6f52e085.5914dfd3.js deleted file mode 100644 index 7b62fbcea..000000000 --- a/assets/js/6f52e085.5914dfd3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[42468],{7241:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/advanced-custom-fields","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/72822034.75809a29.js b/assets/js/72822034.75809a29.js deleted file mode 100644 index a6dfb85d2..000000000 --- a/assets/js/72822034.75809a29.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[37261],{35012:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/i-18-n","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/73496ed9.974ab08b.js b/assets/js/73496ed9.974ab08b.js deleted file mode 100644 index 24ab1e49f..000000000 --- a/assets/js/73496ed9.974ab08b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[20802],{38326:s=>{s.exports=JSON.parse('{"label":"service","permalink":"/blog/tags/service","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/74ea67e3.074bb9ba.js b/assets/js/74ea67e3.074bb9ba.js new file mode 100644 index 000000000..377343668 --- /dev/null +++ b/assets/js/74ea67e3.074bb9ba.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[61277],{23317:t=>{t.exports=JSON.parse('{"tag":{"label":"wpcli","permalink":"/blog/tags/wpcli","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/wpcli","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/752c6bfa.aa4b8d4e.js b/assets/js/752c6bfa.aa4b8d4e.js deleted file mode 100644 index 0ddd89652..000000000 --- a/assets/js/752c6bfa.aa4b8d4e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[11257],{64891:s=>{s.exports=JSON.parse('{"label":"plugins","permalink":"/blog/tags/plugins","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/794bc8f2.5869f9eb.js b/assets/js/794bc8f2.5869f9eb.js deleted file mode 100644 index e032d03c3..000000000 --- a/assets/js/794bc8f2.5869f9eb.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[23856],{3049:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>r,toc:()=>p});var s=o(74848),n=o(28453);const a={title:"Using post templates",description:"Explaining post templates and how to use them.",slug:"using-post-templates",authors:"obradovic",date:new Date("2024-03-28T00:00:00.000Z"),tags:["eightshift","boilerplate","templates"],hide_table_of_contents:!1},i=void 0,r={permalink:"/blog/using-post-templates",source:"@site/blog/2024-03-28-using-post-templates.md",title:"Using post templates",description:"Explaining post templates and how to use them.",date:"2024-03-28T00:00:00.000Z",formattedDate:"March 28, 2024",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"templates",permalink:"/blog/tags/templates"}],readingTime:5.05,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Using post templates",description:"Explaining post templates and how to use them.",slug:"using-post-templates",authors:"obradovic",date:"2024-03-28T00:00:00.000Z",tags:["eightshift","boilerplate","templates"],hide_table_of_contents:!1},unlisted:!1,nextItem:{title:"Using inner blocks",permalink:"/blog/using-inner-blocks"}},l={authorsImageUrls:[void 0]},p=[];function c(t){const e={p:"p",...(0,n.R)(),...t.components};return(0,s.jsx)(e.p,{children:"Sometimes you need your posts to follow a specific structure, or you simply want to provide a good starting point for the editors. This blog post will cover what post templates are, how to set them up, and what options they offer."})}function u(t={}){const{wrapper:e}={...(0,n.R)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(c,{...t})}):c(t)}},28453:(t,e,o)=>{o.d(e,{R:()=>i,x:()=>r});var s=o(96540);const n={},a=s.createContext(n);function i(t){const e=s.useContext(a);return s.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(n):t.components||n:i(t.components),s.createElement(a.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/794bc8f2.587bf5b7.js b/assets/js/794bc8f2.587bf5b7.js new file mode 100644 index 000000000..ffef3defc --- /dev/null +++ b/assets/js/794bc8f2.587bf5b7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[23856],{3049:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>i,metadata:()=>r,toc:()=>p});var s=o(74848),n=o(28453);const i={title:"Using post templates",description:"Explaining post templates and how to use them.",slug:"using-post-templates",authors:"obradovic",date:new Date("2024-03-28T00:00:00.000Z"),tags:["eightshift","boilerplate","templates"],hide_table_of_contents:!1},a=void 0,r={permalink:"/blog/using-post-templates",source:"@site/blog/2024-03-28-using-post-templates.md",title:"Using post templates",description:"Explaining post templates and how to use them.",date:"2024-03-28T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"templates",permalink:"/blog/tags/templates"}],readingTime:5.05,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Using post templates",description:"Explaining post templates and how to use them.",slug:"using-post-templates",authors:"obradovic",date:"2024-03-28T00:00:00.000Z",tags:["eightshift","boilerplate","templates"],hide_table_of_contents:!1},unlisted:!1,nextItem:{title:"Using inner blocks",permalink:"/blog/using-inner-blocks"}},l={authorsImageUrls:[void 0]},p=[];function c(t){const e={p:"p",...(0,n.R)(),...t.components};return(0,s.jsx)(e.p,{children:"Sometimes you need your posts to follow a specific structure, or you simply want to provide a good starting point for the editors. This blog post will cover what post templates are, how to set them up, and what options they offer."})}function u(t={}){const{wrapper:e}={...(0,n.R)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(c,{...t})}):c(t)}},28453:(t,e,o)=>{o.d(e,{R:()=>a,x:()=>r});var s=o(96540);const n={},i=s.createContext(n);function a(t){const e=s.useContext(i);return s.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(n):t.components||n:a(t.components),s.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/7c110bd0.0463ff88.js b/assets/js/7c110bd0.0463ff88.js new file mode 100644 index 000000000..0f69c7320 --- /dev/null +++ b/assets/js/7c110bd0.0463ff88.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[76877],{82614:s=>{s.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docs":[{"type":"category","label":"Getting Started","items":[{"type":"link","label":"Welcome","href":"/docs/welcome","docId":"welcome","unlisted":false},{"type":"link","label":"Eightshift Libs","href":"/docs/eightshift-libs","docId":"eightshift-libs","unlisted":false},{"type":"link","label":"Eightshift Frontend Libs","href":"/docs/eightshift-frontend-libs","docId":"eightshift-frontend-libs","unlisted":false},{"type":"link","label":"Requirements","href":"/docs/requirements","docId":"requirements","unlisted":false},{"type":"link","label":"Versions","href":"/docs/versions","docId":"versions","unlisted":false},{"type":"link","label":"Create New Theme","href":"/docs/theme","docId":"theme","unlisted":false},{"type":"link","label":"Create New Plugin","href":"/docs/plugin","docId":"plugin","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Basics","items":[{"type":"link","label":"Basics","href":"/docs/basics/basics-intro","docId":"basics/basics-intro","unlisted":false},{"type":"link","label":"WP-CLI","href":"/docs/basics/wp-cli","docId":"basics/wp-cli","unlisted":false},{"type":"link","label":"Architecture concepts","href":"/docs/basics/architecture-concepts","docId":"basics/architecture-concepts","unlisted":false},{"type":"category","label":"Backend","items":[{"type":"link","label":"General","href":"/docs/basics/backend","docId":"basics/backend","unlisted":false},{"type":"link","label":"Namespaces","href":"/docs/basics/namespaces","docId":"basics/namespaces","unlisted":false},{"type":"link","label":"Extending Classes","href":"/docs/basics/extending-classes","docId":"basics/extending-classes","unlisted":false},{"type":"link","label":"Autowiring","href":"/docs/basics/autowiring","docId":"basics/autowiring","unlisted":false},{"type":"link","label":"Example Class","href":"/docs/basics/example-class","docId":"basics/example-class","unlisted":false},{"type":"link","label":"Assets Manifest","href":"/docs/basics/manifest","docId":"basics/manifest","unlisted":false},{"type":"category","label":"Rest","items":[{"type":"link","label":"REST Intro","href":"/docs/basics/rest","docId":"basics/rest","unlisted":false},{"type":"link","label":"REST Field","href":"/docs/basics/rest-field","docId":"basics/rest-field","unlisted":false},{"type":"link","label":"REST Route","href":"/docs/basics/rest-route","docId":"basics/rest-route","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Frontend","items":[{"type":"link","label":"General","href":"/docs/basics/frontend","docId":"basics/frontend","unlisted":false},{"type":"link","label":"Webpack","href":"/docs/basics/webpack","docId":"basics/webpack","unlisted":false},{"type":"link","label":"SCSS Library","href":"/docs/basics/library","docId":"basics/library","unlisted":false},{"type":"link","label":"Global Settings","href":"/docs/basics/global-settings","docId":"basics/global-settings","unlisted":false},{"type":"link","label":"Writing Styles","href":"/docs/basics/writing-styles","docId":"basics/writing-styles","unlisted":false},{"type":"link","label":"Fonts","href":"/docs/basics/fonts","docId":"basics/fonts","unlisted":false},{"type":"link","label":"Browsersync","href":"/docs/basics/browser-sync","docId":"basics/browser-sync","unlisted":false},{"type":"link","label":"Dynamic Import","href":"/docs/basics/dynamic-import","docId":"basics/dynamic-import","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Blocks","items":[{"type":"link","label":"Blocks","href":"/docs/basics/blocks","docId":"basics/blocks","unlisted":false},{"type":"link","label":"Important","href":"/docs/basics/blocks-important","docId":"basics/blocks-important","unlisted":false},{"type":"link","label":"Faq","href":"/docs/basics/blocks-faq","docId":"basics/blocks-faq","unlisted":false},{"type":"link","label":"Registration","href":"/docs/basics/blocks-registration","docId":"basics/blocks-registration","unlisted":false},{"type":"link","label":"Structure","href":"/docs/basics/blocks-structure","docId":"basics/blocks-structure","unlisted":false},{"type":"link","label":"Global Manifest","href":"/docs/basics/blocks-global-manifest","docId":"basics/blocks-global-manifest","unlisted":false},{"type":"link","label":"Block Structure","href":"/docs/basics/block-structure","docId":"basics/block-structure","unlisted":false},{"type":"link","label":"Component Structure","href":"/docs/basics/blocks-component-structure","docId":"basics/blocks-component-structure","unlisted":false},{"type":"link","label":"Block Manifest","href":"/docs/basics/block-manifest","docId":"basics/block-manifest","unlisted":false},{"type":"link","label":"Component Manifest","href":"/docs/basics/blocks-component-manifest","docId":"basics/blocks-component-manifest","unlisted":false},{"type":"link","label":"Attributes","href":"/docs/basics/blocks-attributes","docId":"basics/blocks-attributes","unlisted":false},{"type":"link","label":"Component in a Block","href":"/docs/basics/blocks-component-in-block","docId":"basics/blocks-component-in-block","unlisted":false},{"type":"link","label":"Wrapper","href":"/docs/basics/blocks-wrapper","docId":"basics/blocks-wrapper","unlisted":false},{"type":"link","label":"Variations","href":"/docs/basics/blocks-variations","docId":"basics/blocks-variations","unlisted":false},{"type":"link","label":"Patterns","href":"/docs/basics/blocks-patterns","docId":"basics/blocks-patterns","unlisted":false},{"type":"link","label":"Transforms","href":"/docs/basics/blocks-transforms","docId":"basics/blocks-transforms","unlisted":false},{"type":"link","label":"Hooks","href":"/docs/basics/blocks-hooks","docId":"basics/blocks-hooks","unlisted":false},{"type":"link","label":"Special Use Cases","href":"/docs/basics/blocks-special-use-cases","docId":"basics/blocks-special-use-cases","unlisted":false},{"type":"link","label":"Reusable Blocks","href":"/docs/basics/blocks-reusable","docId":"basics/blocks-reusable","unlisted":false},{"type":"link","label":"Styles","href":"/docs/basics/blocks-styles","docId":"basics/blocks-styles","unlisted":false},{"type":"link","label":"Storybook","href":"/docs/basics/blocks-storybook","docId":"basics/blocks-storybook","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Helpers","items":[{"type":"link","label":"Helpers","href":"/docs/basics/helpers","docId":"basics/helpers","unlisted":false},{"type":"link","label":"JavaScript","href":"/docs/basics/helpers-javascript","docId":"basics/helpers-javascript","unlisted":false},{"type":"link","label":"Scss","href":"/docs/basics/helpers-scss","docId":"basics/helpers-scss","unlisted":false},{"type":"link","label":"PHP","href":"/docs/basics/helpers-php","docId":"basics/helpers-php","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","label":"Tips & Tricks","href":"/docs/basics/tips-tricks","docId":"basics/tips-tricks","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Tutorials","items":[{"type":"link","label":"Intro","href":"/docs/tutorials/intro","docId":"tutorials/intro","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Migrations","items":[{"type":"link","label":"Version 10 to 11","href":"/docs/migrations/10-11","docId":"migrations/10-11","unlisted":false},{"type":"link","label":"Version 9 to 10","href":"/docs/migrations/9-10","docId":"migrations/9-10","unlisted":false},{"type":"link","label":"Version 8 to 9","href":"/docs/migrations/8-9","docId":"migrations/8-9","unlisted":false},{"type":"link","label":"Version 7 to 8","href":"/docs/migrations/7-8","docId":"migrations/7-8","unlisted":false},{"type":"link","label":"Version 6 to 7","href":"/docs/migrations/6-7","docId":"migrations/6-7","unlisted":false},{"type":"link","label":"Version 5 to 6","href":"/docs/migrations/5-6","docId":"migrations/5-6","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Additional Libraries","items":[{"type":"link","label":"Eightshift Boilerplate","href":"/docs/additional-libraries/boilerplate","docId":"additional-libraries/boilerplate","unlisted":false},{"type":"link","label":"Eightshift Boilerplate Plugin","href":"/docs/additional-libraries/boilerplate-plugin","docId":"additional-libraries/boilerplate-plugin","unlisted":false},{"type":"link","label":"Eightshift Frontend Libs","href":"/docs/additional-libraries/frontend-libs","docId":"additional-libraries/frontend-libs","unlisted":false},{"type":"link","label":"Eightshift Libs","href":"/docs/additional-libraries/libs","docId":"additional-libraries/libs","unlisted":false},{"type":"link","label":"Eightshift Forms","href":"/docs/additional-libraries/forms","docId":"additional-libraries/forms","unlisted":false},{"type":"link","label":"Eightshift Docs","href":"/docs/additional-libraries/docs","docId":"additional-libraries/docs","unlisted":false},{"type":"link","label":"Eightshift Coding Standards","href":"/docs/additional-libraries/coding-standards","docId":"additional-libraries/coding-standards","unlisted":false},{"type":"link","label":"Eightshift Storybook","href":"/docs/additional-libraries/storybook","docId":"additional-libraries/storybook","unlisted":false},{"type":"link","label":"Eightshift Libs Stubs","href":"/docs/additional-libraries/stubs","docId":"additional-libraries/stubs","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Legacy","items":[{"type":"category","label":"v8","items":[{"type":"link","label":"Versions","href":"/docs/legacy/v8/versions","docId":"legacy/v8/versions","unlisted":false},{"type":"category","label":"Basics","items":[{"type":"link","label":"Basics","href":"/docs/legacy/v8/basics/basics-intro","docId":"legacy/v8/basics/basics-intro","unlisted":false},{"type":"link","label":"WP-CLI","href":"/docs/legacy/v8/basics/wp-cli","docId":"legacy/v8/basics/wp-cli","unlisted":false},{"type":"link","label":"Architecture concepts","href":"/docs/legacy/v8/basics/architecture-concepts","docId":"legacy/v8/basics/architecture-concepts","unlisted":false},{"type":"category","label":"Backend","items":[{"type":"link","label":"General","href":"/docs/legacy/v8/basics/backend","docId":"legacy/v8/basics/backend","unlisted":false},{"type":"link","label":"Namespaces","href":"/docs/legacy/v8/basics/namespaces","docId":"legacy/v8/basics/namespaces","unlisted":false},{"type":"link","label":"Extending Classes","href":"/docs/legacy/v8/basics/extending-classes","docId":"legacy/v8/basics/extending-classes","unlisted":false},{"type":"link","label":"Autowiring","href":"/docs/legacy/v8/basics/autowiring","docId":"legacy/v8/basics/autowiring","unlisted":false},{"type":"link","label":"Example Class","href":"/docs/legacy/v8/basics/example-class","docId":"legacy/v8/basics/example-class","unlisted":false},{"type":"link","label":"Assets Manifest","href":"/docs/legacy/v8/basics/manifest","docId":"legacy/v8/basics/manifest","unlisted":false},{"type":"category","label":"Rest","items":[{"type":"link","label":"REST Intro","href":"/docs/legacy/v8/basics/rest","docId":"legacy/v8/basics/rest","unlisted":false},{"type":"link","label":"REST Field","href":"/docs/legacy/v8/basics/rest-field","docId":"legacy/v8/basics/rest-field","unlisted":false},{"type":"link","label":"REST Route","href":"/docs/legacy/v8/basics/rest-route","docId":"legacy/v8/basics/rest-route","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Frontend","items":[{"type":"link","label":"General","href":"/docs/legacy/v8/basics/frontend","docId":"legacy/v8/basics/frontend","unlisted":false},{"type":"link","label":"Webpack","href":"/docs/legacy/v8/basics/webpack","docId":"legacy/v8/basics/webpack","unlisted":false},{"type":"link","label":"SCSS Library","href":"/docs/legacy/v8/basics/library","docId":"legacy/v8/basics/library","unlisted":false},{"type":"link","label":"Global Settings","href":"/docs/legacy/v8/basics/global-settings","docId":"legacy/v8/basics/global-settings","unlisted":false},{"type":"link","label":"Writing Styles","href":"/docs/legacy/v8/basics/writing-styles","docId":"legacy/v8/basics/writing-styles","unlisted":false},{"type":"link","label":"Fonts","href":"/docs/legacy/v8/basics/fonts","docId":"legacy/v8/basics/fonts","unlisted":false},{"type":"link","label":"Browsersync","href":"/docs/legacy/v8/basics/browser-sync","docId":"legacy/v8/basics/browser-sync","unlisted":false},{"type":"link","label":"Dynamic Import","href":"/docs/legacy/v8/basics/dynamic-import","docId":"legacy/v8/basics/dynamic-import","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Blocks","items":[{"type":"link","label":"Blocks","href":"/docs/legacy/v8/basics/blocks","docId":"legacy/v8/basics/blocks","unlisted":false},{"type":"link","label":"Important","href":"/docs/legacy/v8/basics/blocks-important","docId":"legacy/v8/basics/blocks-important","unlisted":false},{"type":"link","label":"Faq","href":"/docs/legacy/v8/basics/blocks-faq","docId":"legacy/v8/basics/blocks-faq","unlisted":false},{"type":"link","label":"Registration","href":"/docs/legacy/v8/basics/blocks-registration","docId":"legacy/v8/basics/blocks-registration","unlisted":false},{"type":"link","label":"Structure","href":"/docs/legacy/v8/basics/blocks-structure","docId":"legacy/v8/basics/blocks-structure","unlisted":false},{"type":"link","label":"Global Manifest","href":"/docs/legacy/v8/basics/blocks-global-manifest","docId":"legacy/v8/basics/blocks-global-manifest","unlisted":false},{"type":"link","label":"Block Structure","href":"/docs/legacy/v8/basics/block-structure","docId":"legacy/v8/basics/block-structure","unlisted":false},{"type":"link","label":"Component Structure","href":"/docs/legacy/v8/basics/blocks-component-structure","docId":"legacy/v8/basics/blocks-component-structure","unlisted":false},{"type":"link","label":"Block Manifest","href":"/docs/legacy/v8/basics/block-manifest","docId":"legacy/v8/basics/block-manifest","unlisted":false},{"type":"link","label":"Component Manifest","href":"/docs/legacy/v8/basics/blocks-component-manifest","docId":"legacy/v8/basics/blocks-component-manifest","unlisted":false},{"type":"link","label":"Attributes","href":"/docs/legacy/v8/basics/blocks-attributes","docId":"legacy/v8/basics/blocks-attributes","unlisted":false},{"type":"link","label":"Component in a Block","href":"/docs/legacy/v8/basics/blocks-component-in-block","docId":"legacy/v8/basics/blocks-component-in-block","unlisted":false},{"type":"link","label":"Wrapper","href":"/docs/legacy/v8/basics/blocks-wrapper","docId":"legacy/v8/basics/blocks-wrapper","unlisted":false},{"type":"link","label":"Variations","href":"/docs/legacy/v8/basics/blocks-variations","docId":"legacy/v8/basics/blocks-variations","unlisted":false},{"type":"link","label":"Patterns","href":"/docs/legacy/v8/basics/blocks-patterns","docId":"legacy/v8/basics/blocks-patterns","unlisted":false},{"type":"link","label":"Transforms","href":"/docs/legacy/v8/basics/blocks-transforms","docId":"legacy/v8/basics/blocks-transforms","unlisted":false},{"type":"link","label":"Hooks","href":"/docs/legacy/v8/basics/blocks-hooks","docId":"legacy/v8/basics/blocks-hooks","unlisted":false},{"type":"link","label":"Special Use Cases","href":"/docs/legacy/v8/basics/blocks-special-use-cases","docId":"legacy/v8/basics/blocks-special-use-cases","unlisted":false},{"type":"link","label":"Reusable Blocks","href":"/docs/legacy/v8/basics/blocks-reusable","docId":"legacy/v8/basics/blocks-reusable","unlisted":false},{"type":"link","label":"Styles","href":"/docs/legacy/v8/basics/blocks-styles","docId":"legacy/v8/basics/blocks-styles","unlisted":false},{"type":"link","label":"Storybook","href":"/docs/legacy/v8/basics/blocks-storybook","docId":"legacy/v8/basics/blocks-storybook","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Helpers","items":[{"type":"link","label":"Helpers","href":"/docs/legacy/v8/basics/helpers","docId":"legacy/v8/basics/helpers","unlisted":false},{"type":"link","label":"JavaScript","href":"/docs/legacy/v8/basics/helpers-javascript","docId":"legacy/v8/basics/helpers-javascript","unlisted":false},{"type":"link","label":"Scss","href":"/docs/legacy/v8/basics/helpers-scss","docId":"legacy/v8/basics/helpers-scss","unlisted":false},{"type":"link","label":"PHP","href":"/docs/legacy/v8/basics/helpers-php","docId":"legacy/v8/basics/helpers-php","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","label":"Tips & Tricks","href":"/docs/legacy/v8/basics/tips-tricks","docId":"legacy/v8/basics/tips-tricks","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"v7","items":[{"type":"link","label":"Versions","href":"/docs/legacy/v7/versions","docId":"legacy/v7/versions","unlisted":false},{"type":"category","label":"Basics","items":[{"type":"link","label":"Basics","href":"/docs/legacy/v7/basics/basics-intro","docId":"legacy/v7/basics/basics-intro","unlisted":false},{"type":"link","label":"WP-CLI","href":"/docs/legacy/v7/basics/wp-cli","docId":"legacy/v7/basics/wp-cli","unlisted":false},{"type":"link","label":"Architecture concepts","href":"/docs/legacy/v7/basics/architecture-concepts","docId":"legacy/v7/basics/architecture-concepts","unlisted":false},{"type":"category","label":"Backend","items":[{"type":"link","label":"General","href":"/docs/legacy/v7/basics/backend","docId":"legacy/v7/basics/backend","unlisted":false},{"type":"link","label":"Namespaces","href":"/docs/legacy/v7/basics/namespaces","docId":"legacy/v7/basics/namespaces","unlisted":false},{"type":"link","label":"Extending Classes","href":"/docs/legacy/v7/basics/extending-classes","docId":"legacy/v7/basics/extending-classes","unlisted":false},{"type":"link","label":"Autowiring","href":"/docs/legacy/v7/basics/autowiring","docId":"legacy/v7/basics/autowiring","unlisted":false},{"type":"link","label":"Example Class","href":"/docs/legacy/v7/basics/example-class","docId":"legacy/v7/basics/example-class","unlisted":false},{"type":"link","label":"Assets Manifest","href":"/docs/legacy/v7/basics/manifest","docId":"legacy/v7/basics/manifest","unlisted":false},{"type":"category","label":"Rest","items":[{"type":"link","label":"REST Intro","href":"/docs/legacy/v7/basics/rest","docId":"legacy/v7/basics/rest","unlisted":false},{"type":"link","label":"REST Field","href":"/docs/legacy/v7/basics/rest-field","docId":"legacy/v7/basics/rest-field","unlisted":false},{"type":"link","label":"REST Route","href":"/docs/legacy/v7/basics/rest-route","docId":"legacy/v7/basics/rest-route","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Frontend","items":[{"type":"link","label":"General","href":"/docs/legacy/v7/basics/frontend","docId":"legacy/v7/basics/frontend","unlisted":false},{"type":"link","label":"Webpack","href":"/docs/legacy/v7/basics/webpack","docId":"legacy/v7/basics/webpack","unlisted":false},{"type":"link","label":"SCSS Library","href":"/docs/legacy/v7/basics/library","docId":"legacy/v7/basics/library","unlisted":false},{"type":"link","label":"Global Settings","href":"/docs/legacy/v7/basics/global-settings","docId":"legacy/v7/basics/global-settings","unlisted":false},{"type":"link","label":"Writing Styles","href":"/docs/legacy/v7/basics/writing-styles","docId":"legacy/v7/basics/writing-styles","unlisted":false},{"type":"link","label":"Fonts","href":"/docs/legacy/v7/basics/fonts","docId":"legacy/v7/basics/fonts","unlisted":false},{"type":"link","label":"Browsersync","href":"/docs/legacy/v7/basics/browser-sync","docId":"legacy/v7/basics/browser-sync","unlisted":false},{"type":"link","label":"Dynamic Import","href":"/docs/legacy/v7/basics/dynamic-import","docId":"legacy/v7/basics/dynamic-import","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Blocks","items":[{"type":"link","label":"Blocks","href":"/docs/legacy/v7/basics/blocks","docId":"legacy/v7/basics/blocks","unlisted":false},{"type":"link","label":"Important","href":"/docs/legacy/v7/basics/blocks-important","docId":"legacy/v7/basics/blocks-important","unlisted":false},{"type":"link","label":"Faq","href":"/docs/legacy/v7/basics/blocks-faq","docId":"legacy/v7/basics/blocks-faq","unlisted":false},{"type":"link","label":"Registration","href":"/docs/legacy/v7/basics/blocks-registration","docId":"legacy/v7/basics/blocks-registration","unlisted":false},{"type":"link","label":"Structure","href":"/docs/legacy/v7/basics/blocks-structure","docId":"legacy/v7/basics/blocks-structure","unlisted":false},{"type":"link","label":"Global Manifest","href":"/docs/legacy/v7/basics/blocks-global-manifest","docId":"legacy/v7/basics/blocks-global-manifest","unlisted":false},{"type":"link","label":"Block Structure","href":"/docs/legacy/v7/basics/block-structure","docId":"legacy/v7/basics/block-structure","unlisted":false},{"type":"link","label":"Component Structure","href":"/docs/legacy/v7/basics/blocks-component-structure","docId":"legacy/v7/basics/blocks-component-structure","unlisted":false},{"type":"link","label":"Block Manifest","href":"/docs/legacy/v7/basics/block-manifest","docId":"legacy/v7/basics/block-manifest","unlisted":false},{"type":"link","label":"Component Manifest","href":"/docs/legacy/v7/basics/blocks-component-manifest","docId":"legacy/v7/basics/blocks-component-manifest","unlisted":false},{"type":"link","label":"Attributes","href":"/docs/legacy/v7/basics/blocks-attributes","docId":"legacy/v7/basics/blocks-attributes","unlisted":false},{"type":"link","label":"Component in a Block","href":"/docs/legacy/v7/basics/blocks-component-in-block","docId":"legacy/v7/basics/blocks-component-in-block","unlisted":false},{"type":"link","label":"Wrapper","href":"/docs/legacy/v7/basics/blocks-wrapper","docId":"legacy/v7/basics/blocks-wrapper","unlisted":false},{"type":"link","label":"Variations","href":"/docs/legacy/v7/basics/blocks-variations","docId":"legacy/v7/basics/blocks-variations","unlisted":false},{"type":"link","label":"Patterns","href":"/docs/legacy/v7/basics/blocks-patterns","docId":"legacy/v7/basics/blocks-patterns","unlisted":false},{"type":"link","label":"Transforms","href":"/docs/legacy/v7/basics/blocks-transforms","docId":"legacy/v7/basics/blocks-transforms","unlisted":false},{"type":"link","label":"Hooks","href":"/docs/legacy/v7/basics/blocks-hooks","docId":"legacy/v7/basics/blocks-hooks","unlisted":false},{"type":"link","label":"Special Use Cases","href":"/docs/legacy/v7/basics/blocks-special-use-cases","docId":"legacy/v7/basics/blocks-special-use-cases","unlisted":false},{"type":"link","label":"Reusable Blocks","href":"/docs/legacy/v7/basics/blocks-reusable","docId":"legacy/v7/basics/blocks-reusable","unlisted":false},{"type":"link","label":"Styles","href":"/docs/legacy/v7/basics/blocks-styles","docId":"legacy/v7/basics/blocks-styles","unlisted":false},{"type":"link","label":"Storybook","href":"/docs/legacy/v7/basics/blocks-storybook","docId":"legacy/v7/basics/blocks-storybook","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Helpers","items":[{"type":"link","label":"Helpers","href":"/docs/legacy/v7/basics/helpers","docId":"legacy/v7/basics/helpers","unlisted":false},{"type":"link","label":"JavaScript","href":"/docs/legacy/v7/basics/helpers-javascript","docId":"legacy/v7/basics/helpers-javascript","unlisted":false},{"type":"link","label":"Scss","href":"/docs/legacy/v7/basics/helpers-scss","docId":"legacy/v7/basics/helpers-scss","unlisted":false},{"type":"link","label":"PHP","href":"/docs/legacy/v7/basics/helpers-php","docId":"legacy/v7/basics/helpers-php","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","label":"Tips & Tricks","href":"/docs/legacy/v7/basics/tips-tricks","docId":"legacy/v7/basics/tips-tricks","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"v6","items":[{"type":"link","label":"Versions","href":"/docs/legacy/v6/versions","docId":"legacy/v6/versions","unlisted":false},{"type":"category","label":"Basics","items":[{"type":"link","label":"Basics","href":"/docs/legacy/v6/basics/basics-intro","docId":"legacy/v6/basics/basics-intro","unlisted":false},{"type":"link","label":"WP-CLI","href":"/docs/legacy/v6/basics/wp-cli","docId":"legacy/v6/basics/wp-cli","unlisted":false},{"type":"link","label":"Architecture concepts","href":"/docs/legacy/v6/basics/architecture-concepts","docId":"legacy/v6/basics/architecture-concepts","unlisted":false},{"type":"category","label":"Backend","items":[{"type":"link","label":"General","href":"/docs/legacy/v6/basics/backend","docId":"legacy/v6/basics/backend","unlisted":false},{"type":"link","label":"Namespaces","href":"/docs/legacy/v6/basics/namespaces","docId":"legacy/v6/basics/namespaces","unlisted":false},{"type":"link","label":"Extending Classes","href":"/docs/legacy/v6/basics/extending-classes","docId":"legacy/v6/basics/extending-classes","unlisted":false},{"type":"link","label":"Autowiring","href":"/docs/legacy/v6/basics/autowiring","docId":"legacy/v6/basics/autowiring","unlisted":false},{"type":"link","label":"Example Class","href":"/docs/legacy/v6/basics/example-class","docId":"legacy/v6/basics/example-class","unlisted":false},{"type":"link","label":"Assets Manifest","href":"/docs/legacy/v6/basics/manifest","docId":"legacy/v6/basics/manifest","unlisted":false},{"type":"category","label":"Rest","items":[{"type":"link","label":"REST Intro","href":"/docs/legacy/v6/basics/rest","docId":"legacy/v6/basics/rest","unlisted":false},{"type":"link","label":"REST Field","href":"/docs/legacy/v6/basics/rest-field","docId":"legacy/v6/basics/rest-field","unlisted":false},{"type":"link","label":"REST Route","href":"/docs/legacy/v6/basics/rest-route","docId":"legacy/v6/basics/rest-route","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Frontend","items":[{"type":"link","label":"General","href":"/docs/legacy/v6/basics/frontend","docId":"legacy/v6/basics/frontend","unlisted":false},{"type":"link","label":"Webpack","href":"/docs/legacy/v6/basics/webpack","docId":"legacy/v6/basics/webpack","unlisted":false},{"type":"link","label":"SCSS Library","href":"/docs/legacy/v6/basics/library","docId":"legacy/v6/basics/library","unlisted":false},{"type":"link","label":"Global Settings","href":"/docs/legacy/v6/basics/global-settings","docId":"legacy/v6/basics/global-settings","unlisted":false},{"type":"link","label":"Writing Styles","href":"/docs/legacy/v6/basics/writing-styles","docId":"legacy/v6/basics/writing-styles","unlisted":false},{"type":"link","label":"Fonts","href":"/docs/legacy/v6/basics/fonts","docId":"legacy/v6/basics/fonts","unlisted":false},{"type":"link","label":"Browsersync","href":"/docs/legacy/v6/basics/browser-sync","docId":"legacy/v6/basics/browser-sync","unlisted":false},{"type":"link","label":"Dynamic Import","href":"/docs/legacy/v6/basics/dynamic-import","docId":"legacy/v6/basics/dynamic-import","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Blocks","items":[{"type":"link","label":"Blocks","href":"/docs/legacy/v6/basics/blocks","docId":"legacy/v6/basics/blocks","unlisted":false},{"type":"link","label":"Important","href":"/docs/legacy/v6/basics/blocks-important","docId":"legacy/v6/basics/blocks-important","unlisted":false},{"type":"link","label":"Faq","href":"/docs/legacy/v6/basics/blocks-faq","docId":"legacy/v6/basics/blocks-faq","unlisted":false},{"type":"link","label":"Registration","href":"/docs/legacy/v6/basics/blocks-registration","docId":"legacy/v6/basics/blocks-registration","unlisted":false},{"type":"link","label":"Structure","href":"/docs/legacy/v6/basics/blocks-structure","docId":"legacy/v6/basics/blocks-structure","unlisted":false},{"type":"link","label":"Global Manifest","href":"/docs/legacy/v6/basics/blocks-global-manifest","docId":"legacy/v6/basics/blocks-global-manifest","unlisted":false},{"type":"link","label":"Block Structure","href":"/docs/legacy/v6/basics/block-structure","docId":"legacy/v6/basics/block-structure","unlisted":false},{"type":"link","label":"Component Structure","href":"/docs/legacy/v6/basics/blocks-component-structure","docId":"legacy/v6/basics/blocks-component-structure","unlisted":false},{"type":"link","label":"Block Manifest","href":"/docs/legacy/v6/basics/block-manifest","docId":"legacy/v6/basics/block-manifest","unlisted":false},{"type":"link","label":"Component Manifest","href":"/docs/legacy/v6/basics/blocks-component-manifest","docId":"legacy/v6/basics/blocks-component-manifest","unlisted":false},{"type":"link","label":"Attributes","href":"/docs/legacy/v6/basics/blocks-attributes","docId":"legacy/v6/basics/blocks-attributes","unlisted":false},{"type":"link","label":"Component in a Block","href":"/docs/legacy/v6/basics/blocks-component-in-block","docId":"legacy/v6/basics/blocks-component-in-block","unlisted":false},{"type":"link","label":"Wrapper","href":"/docs/legacy/v6/basics/blocks-wrapper","docId":"legacy/v6/basics/blocks-wrapper","unlisted":false},{"type":"link","label":"Variations","href":"/docs/legacy/v6/basics/blocks-variations","docId":"legacy/v6/basics/blocks-variations","unlisted":false},{"type":"link","label":"Patterns","href":"/docs/legacy/v6/basics/blocks-patterns","docId":"legacy/v6/basics/blocks-patterns","unlisted":false},{"type":"link","label":"Transforms","href":"/docs/legacy/v6/basics/blocks-transforms","docId":"legacy/v6/basics/blocks-transforms","unlisted":false},{"type":"link","label":"Hooks","href":"/docs/legacy/v6/basics/blocks-hooks","docId":"legacy/v6/basics/blocks-hooks","unlisted":false},{"type":"link","label":"Special Use Cases","href":"/docs/legacy/v6/basics/blocks-special-use-cases","docId":"legacy/v6/basics/blocks-special-use-cases","unlisted":false},{"type":"link","label":"Reusable Blocks","href":"/docs/legacy/v6/basics/blocks-reusable","docId":"legacy/v6/basics/blocks-reusable","unlisted":false},{"type":"link","label":"Styles","href":"/docs/legacy/v6/basics/blocks-styles","docId":"legacy/v6/basics/blocks-styles","unlisted":false},{"type":"link","label":"Storybook","href":"/docs/legacy/v6/basics/blocks-storybook","docId":"legacy/v6/basics/blocks-storybook","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Helpers","items":[{"type":"link","label":"Helpers","href":"/docs/legacy/v6/basics/helpers","docId":"legacy/v6/basics/helpers","unlisted":false},{"type":"link","label":"JavaScript","href":"/docs/legacy/v6/basics/helpers-javascript","docId":"legacy/v6/basics/helpers-javascript","unlisted":false},{"type":"link","label":"Scss","href":"/docs/legacy/v6/basics/helpers-scss","docId":"legacy/v6/basics/helpers-scss","unlisted":false},{"type":"link","label":"PHP","href":"/docs/legacy/v6/basics/helpers-php","docId":"legacy/v6/basics/helpers-php","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","label":"Tips & Tricks","href":"/docs/legacy/v6/basics/tips-tricks","docId":"legacy/v6/basics/tips-tricks","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"v5","items":[{"type":"link","label":"Versions","href":"/docs/legacy/v5/versions","docId":"legacy/v5/versions","unlisted":false},{"type":"category","label":"Basics","items":[{"type":"link","label":"Basics","href":"/docs/legacy/v5/basics/basics-intro","docId":"legacy/v5/basics/basics-intro","unlisted":false},{"type":"link","label":"WP-CLI","href":"/docs/legacy/v5/basics/wp-cli","docId":"legacy/v5/basics/wp-cli","unlisted":false},{"type":"category","label":"Backend Stuff","items":[{"type":"link","label":"Backend","href":"/docs/legacy/v5/basics/backend","docId":"legacy/v5/basics/backend","unlisted":false},{"type":"link","label":"Namespaces","href":"/docs/legacy/v5/basics/namespaces","docId":"legacy/v5/basics/namespaces","unlisted":false},{"type":"link","label":"Extending Classes","href":"/docs/legacy/v5/basics/extending-classes","docId":"legacy/v5/basics/extending-classes","unlisted":false},{"type":"link","label":"Autowiring","href":"/docs/legacy/v5/basics/autowiring","docId":"legacy/v5/basics/autowiring","unlisted":false},{"type":"link","label":"Example Class","href":"/docs/legacy/v5/basics/example-class","docId":"legacy/v5/basics/example-class","unlisted":false},{"type":"link","label":"The Structure","href":"/docs/legacy/v5/basics/the-structure","docId":"legacy/v5/basics/the-structure","unlisted":false},{"type":"link","label":"Manifest","href":"/docs/legacy/v5/basics/manifest","docId":"legacy/v5/basics/manifest","unlisted":false},{"type":"category","label":"Rest","items":[{"type":"link","label":"Rest Intro","href":"/docs/legacy/v5/basics/rest","docId":"legacy/v5/basics/rest","unlisted":false},{"type":"link","label":"Rest Field","href":"/docs/legacy/v5/basics/rest-field","docId":"legacy/v5/basics/rest-field","unlisted":false},{"type":"link","label":"Rest Route","href":"/docs/legacy/v5/basics/rest-route","docId":"legacy/v5/basics/rest-route","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Frontend Stuff","items":[{"type":"link","label":"Front End","href":"/docs/legacy/v5/basics/frontend","docId":"legacy/v5/basics/frontend","unlisted":false},{"type":"link","label":"Webpack","href":"/docs/legacy/v5/basics/webpack","docId":"legacy/v5/basics/webpack","unlisted":false},{"type":"link","label":"Library","href":"/docs/legacy/v5/basics/library","docId":"legacy/v5/basics/library","unlisted":false},{"type":"link","label":"Global Settings","href":"/docs/legacy/v5/basics/global-settings","docId":"legacy/v5/basics/global-settings","unlisted":false},{"type":"link","label":"Writing Styles","href":"/docs/legacy/v5/basics/writing-styles","docId":"legacy/v5/basics/writing-styles","unlisted":false},{"type":"link","label":"Fonts","href":"/docs/legacy/v5/basics/fonts","docId":"legacy/v5/basics/fonts","unlisted":false},{"type":"link","label":"Browser Sync","href":"/docs/legacy/v5/basics/browser-sync","docId":"legacy/v5/basics/browser-sync","unlisted":false},{"type":"link","label":"Dynamic Import","href":"/docs/legacy/v5/basics/dynamic-import","docId":"legacy/v5/basics/dynamic-import","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Blocks","items":[{"type":"link","label":"Blocks","href":"/docs/legacy/v5/basics/blocks","docId":"legacy/v5/basics/blocks","unlisted":false},{"type":"link","label":"Important","href":"/docs/legacy/v5/basics/blocks-important","docId":"legacy/v5/basics/blocks-important","unlisted":false},{"type":"link","label":"Intro","href":"/docs/legacy/v5/basics/blocks-intro","docId":"legacy/v5/basics/blocks-intro","unlisted":false},{"type":"link","label":"Registration","href":"/docs/legacy/v5/basics/blocks-registration","docId":"legacy/v5/basics/blocks-registration","unlisted":false},{"type":"link","label":"Structure","href":"/docs/legacy/v5/basics/blocks-structure","docId":"legacy/v5/basics/blocks-structure","unlisted":false},{"type":"link","label":"Global Manifest","href":"/docs/legacy/v5/basics/blocks-global-manifest","docId":"legacy/v5/basics/blocks-global-manifest","unlisted":false},{"type":"link","label":"Block Structure","href":"/docs/legacy/v5/basics/block-structure","docId":"legacy/v5/basics/block-structure","unlisted":false},{"type":"link","label":"Component Structure","href":"/docs/legacy/v5/basics/blocks-component-structure","docId":"legacy/v5/basics/blocks-component-structure","unlisted":false},{"type":"link","label":"Block Manifest","href":"/docs/legacy/v5/basics/block-manifest","docId":"legacy/v5/basics/block-manifest","unlisted":false},{"type":"link","label":"Component Manifest","href":"/docs/legacy/v5/basics/blocks-component-manifest","docId":"legacy/v5/basics/blocks-component-manifest","unlisted":false},{"type":"link","label":"Attributes","href":"/docs/legacy/v5/basics/blocks-attributes","docId":"legacy/v5/basics/blocks-attributes","unlisted":false},{"type":"link","label":"Component in a Block","href":"/docs/legacy/v5/basics/blocks-component-in-block","docId":"legacy/v5/basics/blocks-component-in-block","unlisted":false},{"type":"link","label":"Wrapper","href":"/docs/legacy/v5/basics/blocks-wrapper","docId":"legacy/v5/basics/blocks-wrapper","unlisted":false},{"type":"link","label":"Variations","href":"/docs/legacy/v5/basics/blocks-variations","docId":"legacy/v5/basics/blocks-variations","unlisted":false},{"type":"link","label":"Patterns","href":"/docs/legacy/v5/basics/blocks-patterns","docId":"legacy/v5/basics/blocks-patterns","unlisted":false},{"type":"link","label":"Transforms","href":"/docs/legacy/v5/basics/blocks-transforms","docId":"legacy/v5/basics/blocks-transforms","unlisted":false},{"type":"link","label":"Hooks","href":"/docs/legacy/v5/basics/blocks-hooks","docId":"legacy/v5/basics/blocks-hooks","unlisted":false},{"type":"link","label":"Special Use Cases","href":"/docs/legacy/v5/basics/blocks-special-use-cases","docId":"legacy/v5/basics/blocks-special-use-cases","unlisted":false},{"type":"link","label":"Reusable Blocks","href":"/docs/legacy/v5/basics/blocks-reusable","docId":"legacy/v5/basics/blocks-reusable","unlisted":false},{"type":"link","label":"Styles","href":"/docs/legacy/v5/basics/blocks-styles","docId":"legacy/v5/basics/blocks-styles","unlisted":false},{"type":"link","label":"Storybook","href":"/docs/legacy/v5/basics/blocks-storybook","docId":"legacy/v5/basics/blocks-storybook","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Helpers","items":[{"type":"link","label":"Helpers","href":"/docs/legacy/v5/basics/helpers","docId":"legacy/v5/basics/helpers","unlisted":false},{"type":"link","label":"JavaScript","href":"/docs/legacy/v5/basics/helpers-javascript","docId":"legacy/v5/basics/helpers-javascript","unlisted":false},{"type":"link","label":"Scss","href":"/docs/legacy/v5/basics/helpers-scss","docId":"legacy/v5/basics/helpers-scss","unlisted":false},{"type":"link","label":"PHP","href":"/docs/legacy/v5/basics/helpers-php","docId":"legacy/v5/basics/helpers-php","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"v4","items":[{"type":"link","label":"Versions","href":"/docs/legacy/v4/versions","docId":"legacy/v4/versions","unlisted":false},{"type":"category","label":"Guides","items":[{"type":"link","label":"Extending Classes","href":"/docs/legacy/v4/guides/extending-classes","docId":"legacy/v4/guides/extending-classes","unlisted":false},{"type":"link","label":"Dependency injection container","href":"/docs/legacy/v4/guides/di-container","docId":"legacy/v4/guides/di-container","unlisted":false},{"type":"link","label":"Project Config","href":"/docs/legacy/v4/guides/config","docId":"legacy/v4/guides/config","unlisted":false},{"type":"link","label":"Manifest","href":"/docs/legacy/v4/guides/manifest","docId":"legacy/v4/guides/manifest","unlisted":false},{"type":"link","label":"Enqueue","href":"/docs/legacy/v4/guides/enqueue","docId":"legacy/v4/guides/enqueue","unlisted":false},{"type":"link","label":"Post Type","href":"/docs/legacy/v4/guides/post-type","docId":"legacy/v4/guides/post-type","unlisted":false},{"type":"link","label":"Taxonomy","href":"/docs/legacy/v4/guides/taxonomy","docId":"legacy/v4/guides/taxonomy","unlisted":false},{"type":"category","label":"Blocks","items":[{"type":"link","label":"Registration","href":"/docs/legacy/v4/guides/blocks-registration","docId":"legacy/v4/guides/blocks-registration","unlisted":false},{"type":"link","label":"Blocks Structure","href":"/docs/legacy/v4/guides/blocks-structure","docId":"legacy/v4/guides/blocks-structure","unlisted":false},{"type":"link","label":"Block Structure Item","href":"/docs/legacy/v4/guides/blocks-structure-block-item","docId":"legacy/v4/guides/blocks-structure-block-item","unlisted":false},{"type":"link","label":"Component Structure","href":"/docs/legacy/v4/guides/blocks-structure-component","docId":"legacy/v4/guides/blocks-structure-component","unlisted":false},{"type":"link","label":"Manifest Structure","href":"/docs/legacy/v4/guides/blocks-structure-manifest","docId":"legacy/v4/guides/blocks-structure-manifest","unlisted":false},{"type":"link","label":"Creating Block from Components","href":"/docs/legacy/v4/guides/blocks-block-from-components","docId":"legacy/v4/guides/blocks-block-from-components","unlisted":false},{"type":"link","label":"Render Block View Helper","href":"/docs/legacy/v4/guides/blocks-render-block-view-helper","docId":"legacy/v4/guides/blocks-render-block-view-helper","unlisted":false},{"type":"link","label":"GetActions Helper","href":"/docs/legacy/v4/guides/blocks-get-actions-helper","docId":"legacy/v4/guides/blocks-get-actions-helper","unlisted":false},{"type":"link","label":"Filter Attributes Override","href":"/docs/legacy/v4/guides/blocks-filter-block-attributes-override","docId":"legacy/v4/guides/blocks-filter-block-attributes-override","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","label":"i18n","href":"/docs/legacy/v4/guides/i18n","docId":"legacy/v4/guides/i18n","unlisted":false},{"type":"link","label":"Media","href":"/docs/legacy/v4/guides/media","docId":"legacy/v4/guides/media","unlisted":false},{"type":"link","label":"Menu","href":"/docs/legacy/v4/guides/menu","docId":"legacy/v4/guides/menu","unlisted":false},{"type":"category","label":"Rest API","items":[{"type":"link","label":"Rest Intro","href":"/docs/legacy/v4/guides/rest-intro","docId":"legacy/v4/guides/rest-intro","unlisted":false},{"type":"link","label":"Field Example","href":"/docs/legacy/v4/guides/rest-field-example","docId":"legacy/v4/guides/rest-field-example","unlisted":false},{"type":"link","label":"Route Example","href":"/docs/legacy/v4/guides/rest-route-example","docId":"legacy/v4/guides/rest-route-example","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Listing Columns","items":[{"type":"link","label":"Post Type","href":"/docs/legacy/v4/guides/columns-post-type","docId":"legacy/v4/guides/columns-post-type","unlisted":false},{"type":"link","label":"Taxonomy","href":"/docs/legacy/v4/guides/columns-taxonomy","docId":"legacy/v4/guides/columns-taxonomy","unlisted":false},{"type":"link","label":"User","href":"/docs/legacy/v4/guides/columns-user","docId":"legacy/v4/guides/columns-user","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","label":"Login","href":"/docs/legacy/v4/guides/login","docId":"legacy/v4/guides/login","unlisted":false},{"type":"category","label":"Fonts","items":[{"type":"link","label":"Custom fonts","href":"/docs/legacy/v4/guides/fonts-custom","docId":"legacy/v4/guides/fonts-custom","unlisted":false},{"type":"link","label":"Icon font","href":"/docs/legacy/v4/guides/fonts-icon","docId":"legacy/v4/guides/fonts-icon","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Advanced","items":[{"type":"link","label":"Sass","href":"/docs/legacy/v4/advanced/docs-sass","docId":"legacy/v4/advanced/docs-sass","unlisted":false},{"type":"link","label":"Webpack","href":"/docs/legacy/v4/advanced/webpack","docId":"legacy/v4/advanced/webpack","unlisted":false},{"type":"link","label":"Browsersync","href":"/docs/legacy/v4/advanced/browsersync","docId":"legacy/v4/advanced/browsersync","unlisted":false},{"type":"category","label":"Helpers","items":[{"type":"link","label":"Aliases","href":"/docs/legacy/v4/advanced/helpers-aliases-helpers","docId":"legacy/v4/advanced/helpers-aliases-helpers","unlisted":false},{"type":"link","label":"Object","href":"/docs/legacy/v4/advanced/helpers-object-helpers","docId":"legacy/v4/advanced/helpers-object-helpers","unlisted":false},{"type":"link","label":"Components","href":"/docs/legacy/v4/advanced/helpers-components-helpers","docId":"legacy/v4/advanced/helpers-components-helpers","unlisted":false},{"type":"link","label":"Shortcode","href":"/docs/legacy/v4/advanced/helpers-shortcode-helpers","docId":"legacy/v4/advanced/helpers-shortcode-helpers","unlisted":false},{"type":"link","label":"Error Logger","href":"/docs/legacy/v4/advanced/helpers-error-logger-helpers","docId":"legacy/v4/advanced/helpers-error-logger-helpers","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Custom Components","items":[{"type":"link","label":"Color Palette","href":"/docs/legacy/v4/advanced/components-color-palette","docId":"legacy/v4/advanced/components-color-palette","unlisted":false},{"type":"link","label":"Heading Level","href":"/docs/legacy/v4/advanced/components-heading-level","docId":"legacy/v4/advanced/components-heading-level","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Crash Course","items":[{"type":"link","label":"Intro","href":"/docs/crash-course/intro","docId":"crash-course/intro","unlisted":false}],"collapsed":true,"collapsible":true}]},"docs":{"additional-libraries/boilerplate":{"id":"additional-libraries/boilerplate","title":"Eightshift Boilerplate","description":"GitHub tag","sidebar":"docs"},"additional-libraries/boilerplate-plugin":{"id":"additional-libraries/boilerplate-plugin","title":"Eightshift Boilerplate Plugin","description":"GitHub tag","sidebar":"docs"},"additional-libraries/coding-standards":{"id":"additional-libraries/coding-standards","title":"Eightshift Coding Standards","description":"GitHub tag","sidebar":"docs"},"additional-libraries/docs":{"id":"additional-libraries/docs","title":"Eightshift Docs","description":"GitHub tag","sidebar":"docs"},"additional-libraries/forms":{"id":"additional-libraries/forms","title":"Eightshift Forms","description":"GitHub tag","sidebar":"docs"},"additional-libraries/frontend-libs":{"id":"additional-libraries/frontend-libs","title":"Eightshift Frontend Libs","description":"GitHub tag","sidebar":"docs"},"additional-libraries/libs":{"id":"additional-libraries/libs","title":"Eightshift Libs","description":"GitHub tag","sidebar":"docs"},"additional-libraries/storybook":{"id":"additional-libraries/storybook","title":"Eightshift Storybook","description":"GitHub tag","sidebar":"docs"},"additional-libraries/stubs":{"id":"additional-libraries/stubs","title":"Eightshift Libs Stubs","description":"GitHub tag","sidebar":"docs"},"basics/architecture-concepts":{"id":"basics/architecture-concepts","title":"Architecture concepts","description":"Project structure","sidebar":"docs"},"basics/autowiring":{"id":"basics/autowiring","title":"Autowiring","description":"docs-source","sidebar":"docs"},"basics/backend":{"id":"basics/backend","title":"General","description":"docs-source","sidebar":"docs"},"basics/basics-intro":{"id":"basics/basics-intro","title":"Basics","description":"Prior to WordPress 5.0, themes were mostly PHP-based, with JavaScript used only to provide interactive functionality on the website.","sidebar":"docs"},"basics/block-manifest":{"id":"basics/block-manifest","title":"Block Manifest","description":"docs-source","sidebar":"docs"},"basics/block-structure":{"id":"basics/block-structure","title":"Block Structure","description":"docs-source","sidebar":"docs"},"basics/blocks":{"id":"basics/blocks","title":"Blocks","description":"docs-source","sidebar":"docs"},"basics/blocks-attributes":{"id":"basics/blocks-attributes","title":"Attributes","description":"docs-source","sidebar":"docs"},"basics/blocks-component-in-block":{"id":"basics/blocks-component-in-block","title":"Component in a Block","description":"docs-source","sidebar":"docs"},"basics/blocks-component-manifest":{"id":"basics/blocks-component-manifest","title":"Component Manifest","description":"docs-source","sidebar":"docs"},"basics/blocks-component-structure":{"id":"basics/blocks-component-structure","title":"Component Structure","description":"docs-source","sidebar":"docs"},"basics/blocks-faq":{"id":"basics/blocks-faq","title":"Faq","description":"docs-source","sidebar":"docs"},"basics/blocks-global-manifest":{"id":"basics/blocks-global-manifest","title":"Global Manifest","description":"docs-source","sidebar":"docs"},"basics/blocks-hooks":{"id":"basics/blocks-hooks","title":"Hooks","description":"docs-source","sidebar":"docs"},"basics/blocks-important":{"id":"basics/blocks-important","title":"Important","description":"docs-source","sidebar":"docs"},"basics/blocks-patterns":{"id":"basics/blocks-patterns","title":"Patterns","description":"docs-source","sidebar":"docs"},"basics/blocks-registration":{"id":"basics/blocks-registration","title":"Registration","description":"docs-source","sidebar":"docs"},"basics/blocks-reusable":{"id":"basics/blocks-reusable","title":"Reusable Blocks","description":"docs-source","sidebar":"docs"},"basics/blocks-special-use-cases":{"id":"basics/blocks-special-use-cases","title":"Special Use Cases","description":"docs-source","sidebar":"docs"},"basics/blocks-storybook":{"id":"basics/blocks-storybook","title":"Storybook","description":"docs-source","sidebar":"docs"},"basics/blocks-structure":{"id":"basics/blocks-structure","title":"Structure","description":"docs-source","sidebar":"docs"},"basics/blocks-styles":{"id":"basics/blocks-styles","title":"Styles","description":"docs-source","sidebar":"docs"},"basics/blocks-transforms":{"id":"basics/blocks-transforms","title":"Transforms","description":"docs-source","sidebar":"docs"},"basics/blocks-variations":{"id":"basics/blocks-variations","title":"Variations","description":"docs-source","sidebar":"docs"},"basics/blocks-wrapper":{"id":"basics/blocks-wrapper","title":"Wrapper","description":"docs-source","sidebar":"docs"},"basics/browser-sync":{"id":"basics/browser-sync","title":"Browsersync","description":"docs-source","sidebar":"docs"},"basics/dynamic-import":{"id":"basics/dynamic-import","title":"Dynamic Import","description":"docs-source","sidebar":"docs"},"basics/example-class":{"id":"basics/example-class","title":"Example Class","description":"docs-source","sidebar":"docs"},"basics/extending-classes":{"id":"basics/extending-classes","title":"Extending Classes","description":"docs-source","sidebar":"docs"},"basics/fonts":{"id":"basics/fonts","title":"Fonts","description":"docs-source","sidebar":"docs"},"basics/frontend":{"id":"basics/frontend","title":"General","description":"docs-source","sidebar":"docs"},"basics/global-settings":{"id":"basics/global-settings","title":"Global Settings","description":"docs-source","sidebar":"docs"},"basics/helpers":{"id":"basics/helpers","title":"Helpers","description":"Each project has helper classes that help you with your project code. Helpers are parts of the code you reuse in various places in your code, but they don\'t belong to any specific service. We tried to combine all our helpers in one place for convenience. The main difference is that we have helpers for different languages:","sidebar":"docs"},"basics/helpers-javascript":{"id":"basics/helpers-javascript","title":"JavaScript","description":"docs-source","sidebar":"docs"},"basics/helpers-php":{"id":"basics/helpers-php","title":"PHP","description":"docs-source","sidebar":"docs"},"basics/helpers-scss":{"id":"basics/helpers-scss","title":"Scss","description":"docs-source","sidebar":"docs"},"basics/library":{"id":"basics/library","title":"SCSS Library","description":"docs-source","sidebar":"docs"},"basics/manifest":{"id":"basics/manifest","title":"Assets Manifest","description":"docs-source","sidebar":"docs"},"basics/namespaces":{"id":"basics/namespaces","title":"Namespaces","description":"docs-source","sidebar":"docs"},"basics/rest":{"id":"basics/rest","title":"REST Intro","description":"docs-source","sidebar":"docs"},"basics/rest-field":{"id":"basics/rest-field","title":"REST Field","description":"docs-source","sidebar":"docs"},"basics/rest-route":{"id":"basics/rest-route","title":"REST Route","description":"docs-source","sidebar":"docs"},"basics/tips-tricks":{"id":"basics/tips-tricks","title":"Tips & Tricks","description":"Since we are creating our projects using this setup, we are going to share our tips and tricks for faster development, easier debugging and some cool ideas we had along the way.","sidebar":"docs"},"basics/webpack":{"id":"basics/webpack","title":"Webpack","description":"docs-source","sidebar":"docs"},"basics/wp-cli":{"id":"basics/wp-cli","title":"WP-CLI","description":"docs-source","sidebar":"docs"},"basics/writing-styles":{"id":"basics/writing-styles","title":"Writing Styles","description":"docs-source","sidebar":"docs"},"crash-course/intro":{"id":"crash-course/intro","title":"Intro","description":"Coming soon","sidebar":"docs"},"eightshift-frontend-libs":{"id":"eightshift-frontend-libs","title":"Eightshift Frontend Libs","description":"docs-source","sidebar":"docs"},"eightshift-libs":{"id":"eightshift-libs","title":"Eightshift Libs","description":"docs-source","sidebar":"docs"},"legacy/v4/advanced/browsersync":{"id":"legacy/v4/advanced/browsersync","title":"Browsersync","description":"docs-source","sidebar":"docs"},"legacy/v4/advanced/components-color-palette":{"id":"legacy/v4/advanced/components-color-palette","title":"Color Palette","description":"docs-source","sidebar":"docs"},"legacy/v4/advanced/components-heading-level":{"id":"legacy/v4/advanced/components-heading-level","title":"Heading Level","description":"docs-source","sidebar":"docs"},"legacy/v4/advanced/docs-sass":{"id":"legacy/v4/advanced/docs-sass","title":"Sass","description":"For years we have collected a list of useful SASS mixins, functions, and all other stuff that you can use in a project. You don\'t need to have all this in your project; check out our documentation and import it from Eightshift Frontend Libs.","sidebar":"docs"},"legacy/v4/advanced/helpers-aliases-helpers":{"id":"legacy/v4/advanced/helpers-aliases-helpers","title":"Aliases","description":"docs-source","sidebar":"docs"},"legacy/v4/advanced/helpers-components-helpers":{"id":"legacy/v4/advanced/helpers-components-helpers","title":"Components","description":"docs-source","sidebar":"docs"},"legacy/v4/advanced/helpers-error-logger-helpers":{"id":"legacy/v4/advanced/helpers-error-logger-helpers","title":"Error Logger","description":"docs-source","sidebar":"docs"},"legacy/v4/advanced/helpers-object-helpers":{"id":"legacy/v4/advanced/helpers-object-helpers","title":"Object","description":"docs-source","sidebar":"docs"},"legacy/v4/advanced/helpers-shortcode-helpers":{"id":"legacy/v4/advanced/helpers-shortcode-helpers","title":"Shortcode","description":"docs-source","sidebar":"docs"},"legacy/v4/advanced/webpack":{"id":"legacy/v4/advanced/webpack","title":"Webpack","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/blocks-block-from-components":{"id":"legacy/v4/guides/blocks-block-from-components","title":"Creating Block from Components","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/blocks-filter-block-attributes-override":{"id":"legacy/v4/guides/blocks-filter-block-attributes-override","title":"Filter Attributes Override","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/blocks-get-actions-helper":{"id":"legacy/v4/guides/blocks-get-actions-helper","title":"GetActions Helper","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/blocks-registration":{"id":"legacy/v4/guides/blocks-registration","title":"Registration","description":"Block registration works using magic and being able to use them a specific folder structure and naming must be followed.","sidebar":"docs"},"legacy/v4/guides/blocks-render-block-view-helper":{"id":"legacy/v4/guides/blocks-render-block-view-helper","title":"Render Block View Helper","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/blocks-structure":{"id":"legacy/v4/guides/blocks-structure","title":"Blocks Structure","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/blocks-structure-block-item":{"id":"legacy/v4/guides/blocks-structure-block-item","title":"Block Structure Item","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/blocks-structure-component":{"id":"legacy/v4/guides/blocks-structure-component","title":"Component Structure","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/blocks-structure-manifest":{"id":"legacy/v4/guides/blocks-structure-manifest","title":"Manifest Structure","description":"This file contains all the configuration required for a block to work. It\'s used in WordPress registerBlockType method to register a block. Using manifest.json we can provide a configuration in JavaScript and PHP part of the block in one file.","sidebar":"docs"},"legacy/v4/guides/columns-post-type":{"id":"legacy/v4/guides/columns-post-type","title":"Post Type","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/columns-taxonomy":{"id":"legacy/v4/guides/columns-taxonomy","title":"Taxonomy","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/columns-user":{"id":"legacy/v4/guides/columns-user","title":"User","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/config":{"id":"legacy/v4/guides/config","title":"Project Config","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/di-container":{"id":"legacy/v4/guides/di-container","title":"Dependency injection container","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/enqueue":{"id":"legacy/v4/guides/enqueue","title":"Enqueue","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/extending-classes":{"id":"legacy/v4/guides/extending-classes","title":"Extending Classes","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/fonts-custom":{"id":"legacy/v4/guides/fonts-custom","title":"Custom fonts","description":"To add a custom font and generate @font-face rules in built CSS file we recommend using PostCSS plugin: Font Magician. Before configuring Font Magician, font files need to be included in the build process.","sidebar":"docs"},"legacy/v4/guides/fonts-icon":{"id":"legacy/v4/guides/fonts-icon","title":"Icon font","description":"Icons can be added as icon font and will be added in a similar way that the custom fonts are added. The process of file preparation is a bit different.","sidebar":"docs"},"legacy/v4/guides/i18n":{"id":"legacy/v4/guides/i18n","title":"i18n","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/login":{"id":"legacy/v4/guides/login","title":"Login","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/manifest":{"id":"legacy/v4/guides/manifest","title":"Manifest","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/media":{"id":"legacy/v4/guides/media","title":"Media","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/menu":{"id":"legacy/v4/guides/menu","title":"Menu","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/post-type":{"id":"legacy/v4/guides/post-type","title":"Post Type","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/rest-field-example":{"id":"legacy/v4/guides/rest-field-example","title":"Field Example","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/rest-intro":{"id":"legacy/v4/guides/rest-intro","title":"Rest Intro","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/rest-route-example":{"id":"legacy/v4/guides/rest-route-example","title":"Route Example","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/taxonomy":{"id":"legacy/v4/guides/taxonomy","title":"Taxonomy","description":"docs-source","sidebar":"docs"},"legacy/v4/versions":{"id":"legacy/v4/versions","title":"Versions","description":"Now that you understand what makes Eightshift tick, here is a quick reminder about what library versions this documentation refers to.","sidebar":"docs"},"legacy/v5/basics/autowiring":{"id":"legacy/v5/basics/autowiring","title":"Autowiring","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/backend":{"id":"legacy/v5/basics/backend","title":"Backend","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/basics-intro":{"id":"legacy/v5/basics/basics-intro","title":"Basics","description":"Before WordPress 5.0 release, the themes were mostly PHP based on some JavaScript and CSS. Now it\'s a bit different because we have PHP in the core, JavaScript (specifically React.js) in the block editor, and some styles in the editor and the theme parts of the website.","sidebar":"docs"},"legacy/v5/basics/block-manifest":{"id":"legacy/v5/basics/block-manifest","title":"Block Manifest","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/block-structure":{"id":"legacy/v5/basics/block-structure","title":"Block Structure","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks":{"id":"legacy/v5/basics/blocks","title":"Blocks","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-attributes":{"id":"legacy/v5/basics/blocks-attributes","title":"Attributes","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-component-in-block":{"id":"legacy/v5/basics/blocks-component-in-block","title":"Component in a Block","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-component-manifest":{"id":"legacy/v5/basics/blocks-component-manifest","title":"Component Manifest","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-component-structure":{"id":"legacy/v5/basics/blocks-component-structure","title":"Component Structure","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-global-manifest":{"id":"legacy/v5/basics/blocks-global-manifest","title":"Global Manifest","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-hooks":{"id":"legacy/v5/basics/blocks-hooks","title":"Hooks","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-important":{"id":"legacy/v5/basics/blocks-important","title":"Important","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-intro":{"id":"legacy/v5/basics/blocks-intro","title":"Intro","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-patterns":{"id":"legacy/v5/basics/blocks-patterns","title":"Patterns","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-registration":{"id":"legacy/v5/basics/blocks-registration","title":"Registration","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-reusable":{"id":"legacy/v5/basics/blocks-reusable","title":"Reusable Blocks","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-special-use-cases":{"id":"legacy/v5/basics/blocks-special-use-cases","title":"Special Use Cases","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-storybook":{"id":"legacy/v5/basics/blocks-storybook","title":"Storybook","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-structure":{"id":"legacy/v5/basics/blocks-structure","title":"Structure","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-styles":{"id":"legacy/v5/basics/blocks-styles","title":"Styles","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-transforms":{"id":"legacy/v5/basics/blocks-transforms","title":"Transforms","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-variations":{"id":"legacy/v5/basics/blocks-variations","title":"Variations","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-wrapper":{"id":"legacy/v5/basics/blocks-wrapper","title":"Wrapper","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/browser-sync":{"id":"legacy/v5/basics/browser-sync","title":"Browser Sync","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/dynamic-import":{"id":"legacy/v5/basics/dynamic-import","title":"Dynamic Import","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/example-class":{"id":"legacy/v5/basics/example-class","title":"Example Class","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/extending-classes":{"id":"legacy/v5/basics/extending-classes","title":"Extending Classes","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/fonts":{"id":"legacy/v5/basics/fonts","title":"Fonts","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/frontend":{"id":"legacy/v5/basics/frontend","title":"Front End","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/global-settings":{"id":"legacy/v5/basics/global-settings","title":"Global Settings","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/helpers":{"id":"legacy/v5/basics/helpers","title":"Helpers","description":"Each project has helper classes that help you with your project code. Helpers are parts of the code you reuse in various places in your code, but they don\'t belong to any specific service. We tried to combine all our helpers in one place for convenience. The main difference is that we have helpers for different languages:","sidebar":"docs"},"legacy/v5/basics/helpers-javascript":{"id":"legacy/v5/basics/helpers-javascript","title":"JavaScript","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/helpers-php":{"id":"legacy/v5/basics/helpers-php","title":"PHP","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/helpers-scss":{"id":"legacy/v5/basics/helpers-scss","title":"Scss","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/library":{"id":"legacy/v5/basics/library","title":"Library","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/manifest":{"id":"legacy/v5/basics/manifest","title":"Manifest","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/namespaces":{"id":"legacy/v5/basics/namespaces","title":"Namespaces","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/rest":{"id":"legacy/v5/basics/rest","title":"Rest Intro","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/rest-field":{"id":"legacy/v5/basics/rest-field","title":"Rest Field","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/rest-route":{"id":"legacy/v5/basics/rest-route","title":"Rest Route","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/the-structure":{"id":"legacy/v5/basics/the-structure","title":"The Structure","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/webpack":{"id":"legacy/v5/basics/webpack","title":"Webpack","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/wp-cli":{"id":"legacy/v5/basics/wp-cli","title":"WP-CLI","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/writing-styles":{"id":"legacy/v5/basics/writing-styles","title":"Writing Styles","description":"docs-source","sidebar":"docs"},"legacy/v5/versions":{"id":"legacy/v5/versions","title":"Versions","description":"Now that you understand what makes Eightshift tick, here is a quick reminder about what library versions this documentation refers to.","sidebar":"docs"},"legacy/v6/basics/architecture-concepts":{"id":"legacy/v6/basics/architecture-concepts","title":"Architecture concepts","description":"Project structure","sidebar":"docs"},"legacy/v6/basics/autowiring":{"id":"legacy/v6/basics/autowiring","title":"Autowiring","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/backend":{"id":"legacy/v6/basics/backend","title":"General","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/basics-intro":{"id":"legacy/v6/basics/basics-intro","title":"Basics","description":"Prior to WordPress 5.0, themes were mostly PHP-based, with JavaScript used only to provide interactive functionality on the website.","sidebar":"docs"},"legacy/v6/basics/block-manifest":{"id":"legacy/v6/basics/block-manifest","title":"Block Manifest","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/block-structure":{"id":"legacy/v6/basics/block-structure","title":"Block Structure","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks":{"id":"legacy/v6/basics/blocks","title":"Blocks","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-attributes":{"id":"legacy/v6/basics/blocks-attributes","title":"Attributes","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-component-in-block":{"id":"legacy/v6/basics/blocks-component-in-block","title":"Component in a Block","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-component-manifest":{"id":"legacy/v6/basics/blocks-component-manifest","title":"Component Manifest","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-component-structure":{"id":"legacy/v6/basics/blocks-component-structure","title":"Component Structure","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-faq":{"id":"legacy/v6/basics/blocks-faq","title":"Faq","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-global-manifest":{"id":"legacy/v6/basics/blocks-global-manifest","title":"Global Manifest","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-hooks":{"id":"legacy/v6/basics/blocks-hooks","title":"Hooks","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-important":{"id":"legacy/v6/basics/blocks-important","title":"Important","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-patterns":{"id":"legacy/v6/basics/blocks-patterns","title":"Patterns","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-registration":{"id":"legacy/v6/basics/blocks-registration","title":"Registration","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-reusable":{"id":"legacy/v6/basics/blocks-reusable","title":"Reusable Blocks","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-special-use-cases":{"id":"legacy/v6/basics/blocks-special-use-cases","title":"Special Use Cases","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-storybook":{"id":"legacy/v6/basics/blocks-storybook","title":"Storybook","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-structure":{"id":"legacy/v6/basics/blocks-structure","title":"Structure","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-styles":{"id":"legacy/v6/basics/blocks-styles","title":"Styles","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-transforms":{"id":"legacy/v6/basics/blocks-transforms","title":"Transforms","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-variations":{"id":"legacy/v6/basics/blocks-variations","title":"Variations","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-wrapper":{"id":"legacy/v6/basics/blocks-wrapper","title":"Wrapper","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/browser-sync":{"id":"legacy/v6/basics/browser-sync","title":"Browsersync","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/dynamic-import":{"id":"legacy/v6/basics/dynamic-import","title":"Dynamic Import","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/example-class":{"id":"legacy/v6/basics/example-class","title":"Example Class","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/extending-classes":{"id":"legacy/v6/basics/extending-classes","title":"Extending Classes","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/fonts":{"id":"legacy/v6/basics/fonts","title":"Fonts","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/frontend":{"id":"legacy/v6/basics/frontend","title":"General","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/global-settings":{"id":"legacy/v6/basics/global-settings","title":"Global Settings","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/helpers":{"id":"legacy/v6/basics/helpers","title":"Helpers","description":"Each project has helper classes that help you with your project code. Helpers are parts of the code you reuse in various places in your code, but they don\'t belong to any specific service. We tried to combine all our helpers in one place for convenience. The main difference is that we have helpers for different languages:","sidebar":"docs"},"legacy/v6/basics/helpers-javascript":{"id":"legacy/v6/basics/helpers-javascript","title":"JavaScript","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/helpers-php":{"id":"legacy/v6/basics/helpers-php","title":"PHP","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/helpers-scss":{"id":"legacy/v6/basics/helpers-scss","title":"Scss","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/library":{"id":"legacy/v6/basics/library","title":"SCSS Library","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/manifest":{"id":"legacy/v6/basics/manifest","title":"Assets Manifest","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/namespaces":{"id":"legacy/v6/basics/namespaces","title":"Namespaces","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/rest":{"id":"legacy/v6/basics/rest","title":"REST Intro","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/rest-field":{"id":"legacy/v6/basics/rest-field","title":"REST Field","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/rest-route":{"id":"legacy/v6/basics/rest-route","title":"REST Route","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/tips-tricks":{"id":"legacy/v6/basics/tips-tricks","title":"Tips & Tricks","description":"Since we are creating our projects using this setup, we are going to share our tips and tricks for faster development, easier debugging and some cool ideas we had along the way.","sidebar":"docs"},"legacy/v6/basics/webpack":{"id":"legacy/v6/basics/webpack","title":"Webpack","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/wp-cli":{"id":"legacy/v6/basics/wp-cli","title":"WP-CLI","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/writing-styles":{"id":"legacy/v6/basics/writing-styles","title":"Writing Styles","description":"docs-source","sidebar":"docs"},"legacy/v6/versions":{"id":"legacy/v6/versions","title":"Versions","description":"Now that you understand what makes the Eightshift Development Kit tick, here is a quick reminder about what library versions this documentation refers to.","sidebar":"docs"},"legacy/v7/basics/architecture-concepts":{"id":"legacy/v7/basics/architecture-concepts","title":"Architecture concepts","description":"Project structure","sidebar":"docs"},"legacy/v7/basics/autowiring":{"id":"legacy/v7/basics/autowiring","title":"Autowiring","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/backend":{"id":"legacy/v7/basics/backend","title":"General","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/basics-intro":{"id":"legacy/v7/basics/basics-intro","title":"Basics","description":"Prior to WordPress 5.0, themes were mostly PHP-based, with JavaScript used only to provide interactive functionality on the website.","sidebar":"docs"},"legacy/v7/basics/block-manifest":{"id":"legacy/v7/basics/block-manifest","title":"Block Manifest","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/block-structure":{"id":"legacy/v7/basics/block-structure","title":"Block Structure","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks":{"id":"legacy/v7/basics/blocks","title":"Blocks","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-attributes":{"id":"legacy/v7/basics/blocks-attributes","title":"Attributes","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-component-in-block":{"id":"legacy/v7/basics/blocks-component-in-block","title":"Component in a Block","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-component-manifest":{"id":"legacy/v7/basics/blocks-component-manifest","title":"Component Manifest","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-component-structure":{"id":"legacy/v7/basics/blocks-component-structure","title":"Component Structure","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-faq":{"id":"legacy/v7/basics/blocks-faq","title":"Faq","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-global-manifest":{"id":"legacy/v7/basics/blocks-global-manifest","title":"Global Manifest","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-hooks":{"id":"legacy/v7/basics/blocks-hooks","title":"Hooks","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-important":{"id":"legacy/v7/basics/blocks-important","title":"Important","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-patterns":{"id":"legacy/v7/basics/blocks-patterns","title":"Patterns","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-registration":{"id":"legacy/v7/basics/blocks-registration","title":"Registration","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-reusable":{"id":"legacy/v7/basics/blocks-reusable","title":"Reusable Blocks","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-special-use-cases":{"id":"legacy/v7/basics/blocks-special-use-cases","title":"Special Use Cases","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-storybook":{"id":"legacy/v7/basics/blocks-storybook","title":"Storybook","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-structure":{"id":"legacy/v7/basics/blocks-structure","title":"Structure","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-styles":{"id":"legacy/v7/basics/blocks-styles","title":"Styles","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-transforms":{"id":"legacy/v7/basics/blocks-transforms","title":"Transforms","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-variations":{"id":"legacy/v7/basics/blocks-variations","title":"Variations","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-wrapper":{"id":"legacy/v7/basics/blocks-wrapper","title":"Wrapper","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/browser-sync":{"id":"legacy/v7/basics/browser-sync","title":"Browsersync","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/dynamic-import":{"id":"legacy/v7/basics/dynamic-import","title":"Dynamic Import","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/example-class":{"id":"legacy/v7/basics/example-class","title":"Example Class","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/extending-classes":{"id":"legacy/v7/basics/extending-classes","title":"Extending Classes","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/fonts":{"id":"legacy/v7/basics/fonts","title":"Fonts","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/frontend":{"id":"legacy/v7/basics/frontend","title":"General","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/global-settings":{"id":"legacy/v7/basics/global-settings","title":"Global Settings","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/helpers":{"id":"legacy/v7/basics/helpers","title":"Helpers","description":"Each project has helper classes that help you with your project code. Helpers are parts of the code you reuse in various places in your code, but they don\'t belong to any specific service. We tried to combine all our helpers in one place for convenience. The main difference is that we have helpers for different languages:","sidebar":"docs"},"legacy/v7/basics/helpers-javascript":{"id":"legacy/v7/basics/helpers-javascript","title":"JavaScript","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/helpers-php":{"id":"legacy/v7/basics/helpers-php","title":"PHP","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/helpers-scss":{"id":"legacy/v7/basics/helpers-scss","title":"Scss","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/library":{"id":"legacy/v7/basics/library","title":"SCSS Library","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/manifest":{"id":"legacy/v7/basics/manifest","title":"Assets Manifest","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/namespaces":{"id":"legacy/v7/basics/namespaces","title":"Namespaces","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/rest":{"id":"legacy/v7/basics/rest","title":"REST Intro","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/rest-field":{"id":"legacy/v7/basics/rest-field","title":"REST Field","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/rest-route":{"id":"legacy/v7/basics/rest-route","title":"REST Route","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/tips-tricks":{"id":"legacy/v7/basics/tips-tricks","title":"Tips & Tricks","description":"Since we are creating our projects using this setup, we are going to share our tips and tricks for faster development, easier debugging and some cool ideas we had along the way.","sidebar":"docs"},"legacy/v7/basics/webpack":{"id":"legacy/v7/basics/webpack","title":"Webpack","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/wp-cli":{"id":"legacy/v7/basics/wp-cli","title":"WP-CLI","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/writing-styles":{"id":"legacy/v7/basics/writing-styles","title":"Writing Styles","description":"docs-source","sidebar":"docs"},"legacy/v7/versions":{"id":"legacy/v7/versions","title":"Versions","description":"Now that you understand what makes the Eightshift Development Kit tick, here is a quick reminder about what library versions this documentation refers to.","sidebar":"docs"},"legacy/v8/basics/architecture-concepts":{"id":"legacy/v8/basics/architecture-concepts","title":"Architecture concepts","description":"Project structure","sidebar":"docs"},"legacy/v8/basics/autowiring":{"id":"legacy/v8/basics/autowiring","title":"Autowiring","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/backend":{"id":"legacy/v8/basics/backend","title":"General","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/basics-intro":{"id":"legacy/v8/basics/basics-intro","title":"Basics","description":"Prior to WordPress 5.0, themes were mostly PHP-based, with JavaScript used only to provide interactive functionality on the website.","sidebar":"docs"},"legacy/v8/basics/block-manifest":{"id":"legacy/v8/basics/block-manifest","title":"Block Manifest","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/block-structure":{"id":"legacy/v8/basics/block-structure","title":"Block Structure","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks":{"id":"legacy/v8/basics/blocks","title":"Blocks","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-attributes":{"id":"legacy/v8/basics/blocks-attributes","title":"Attributes","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-component-in-block":{"id":"legacy/v8/basics/blocks-component-in-block","title":"Component in a Block","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-component-manifest":{"id":"legacy/v8/basics/blocks-component-manifest","title":"Component Manifest","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-component-structure":{"id":"legacy/v8/basics/blocks-component-structure","title":"Component Structure","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-faq":{"id":"legacy/v8/basics/blocks-faq","title":"Faq","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-global-manifest":{"id":"legacy/v8/basics/blocks-global-manifest","title":"Global Manifest","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-hooks":{"id":"legacy/v8/basics/blocks-hooks","title":"Hooks","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-important":{"id":"legacy/v8/basics/blocks-important","title":"Important","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-patterns":{"id":"legacy/v8/basics/blocks-patterns","title":"Patterns","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-registration":{"id":"legacy/v8/basics/blocks-registration","title":"Registration","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-reusable":{"id":"legacy/v8/basics/blocks-reusable","title":"Reusable Blocks","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-special-use-cases":{"id":"legacy/v8/basics/blocks-special-use-cases","title":"Special Use Cases","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-storybook":{"id":"legacy/v8/basics/blocks-storybook","title":"Storybook","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-structure":{"id":"legacy/v8/basics/blocks-structure","title":"Structure","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-styles":{"id":"legacy/v8/basics/blocks-styles","title":"Styles","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-transforms":{"id":"legacy/v8/basics/blocks-transforms","title":"Transforms","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-variations":{"id":"legacy/v8/basics/blocks-variations","title":"Variations","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-wrapper":{"id":"legacy/v8/basics/blocks-wrapper","title":"Wrapper","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/browser-sync":{"id":"legacy/v8/basics/browser-sync","title":"Browsersync","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/dynamic-import":{"id":"legacy/v8/basics/dynamic-import","title":"Dynamic Import","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/example-class":{"id":"legacy/v8/basics/example-class","title":"Example Class","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/extending-classes":{"id":"legacy/v8/basics/extending-classes","title":"Extending Classes","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/fonts":{"id":"legacy/v8/basics/fonts","title":"Fonts","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/frontend":{"id":"legacy/v8/basics/frontend","title":"General","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/global-settings":{"id":"legacy/v8/basics/global-settings","title":"Global Settings","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/helpers":{"id":"legacy/v8/basics/helpers","title":"Helpers","description":"Each project has helper classes that help you with your project code. Helpers are parts of the code you reuse in various places in your code, but they don\'t belong to any specific service. We tried to combine all our helpers in one place for convenience. The main difference is that we have helpers for different languages:","sidebar":"docs"},"legacy/v8/basics/helpers-javascript":{"id":"legacy/v8/basics/helpers-javascript","title":"JavaScript","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/helpers-php":{"id":"legacy/v8/basics/helpers-php","title":"PHP","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/helpers-scss":{"id":"legacy/v8/basics/helpers-scss","title":"Scss","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/library":{"id":"legacy/v8/basics/library","title":"SCSS Library","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/manifest":{"id":"legacy/v8/basics/manifest","title":"Assets Manifest","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/namespaces":{"id":"legacy/v8/basics/namespaces","title":"Namespaces","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/rest":{"id":"legacy/v8/basics/rest","title":"REST Intro","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/rest-field":{"id":"legacy/v8/basics/rest-field","title":"REST Field","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/rest-route":{"id":"legacy/v8/basics/rest-route","title":"REST Route","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/tips-tricks":{"id":"legacy/v8/basics/tips-tricks","title":"Tips & Tricks","description":"Since we are creating our projects using this setup, we are going to share our tips and tricks for faster development, easier debugging and some cool ideas we had along the way.","sidebar":"docs"},"legacy/v8/basics/webpack":{"id":"legacy/v8/basics/webpack","title":"Webpack","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/wp-cli":{"id":"legacy/v8/basics/wp-cli","title":"WP-CLI","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/writing-styles":{"id":"legacy/v8/basics/writing-styles","title":"Writing Styles","description":"docs-source","sidebar":"docs"},"legacy/v8/versions":{"id":"legacy/v8/versions","title":"Versions","description":"Now that you understand what makes the Eightshift Development Kit tick, here is a quick reminder about what library versions this documentation refers to.","sidebar":"docs"},"migrations/10-11":{"id":"migrations/10-11","title":"Version 10 to 11","description":"This migration guide contains migration instructions for:","sidebar":"docs"},"migrations/5-6":{"id":"migrations/5-6","title":"Version 5 to 6","description":"This migration guide is represents migration for:","sidebar":"docs"},"migrations/6-7":{"id":"migrations/6-7","title":"Version 6 to 7","description":"This migration guide is represents migration for:","sidebar":"docs"},"migrations/7-8":{"id":"migrations/7-8","title":"Version 7 to 8","description":"This migration guide contains migration instructions for:","sidebar":"docs"},"migrations/8-9":{"id":"migrations/8-9","title":"Version 8 to 9","description":"This migration guide contains migration instructions for:","sidebar":"docs"},"migrations/9-10":{"id":"migrations/9-10","title":"Version 9 to 10","description":"This migration guide contains migration instructions for:","sidebar":"docs"},"plugin":{"id":"plugin","title":"Create a new WordPress plugin","description":"Let\'s create a new plugin!","sidebar":"docs"},"requirements":{"id":"requirements","title":"Requirements","description":"To have the smoothest development and setup experience, you need to install a few things on your computer.","sidebar":"docs"},"theme":{"id":"theme","title":"Create a new WordPress theme","description":"Let\'s create a new theme!","sidebar":"docs"},"tutorials/intro":{"id":"tutorials/intro","title":"Intro","description":"We think that a picture is worth a thousand words, and video is worth a thousand pictures. So, we\'ve created a series of videos to help you get started with the basics of using forms. We hope you find them useful!","sidebar":"docs"},"versions":{"id":"versions","title":"Versions","description":"Now that you understand what makes the Eightshift Development Kit tick, here is a quick reminder about what library versions this documentation refers to.","sidebar":"docs"},"welcome":{"id":"welcome","title":"Welcome","description":"Eightshift Development Kit is a modern, developer-friendly solution that makes building large, feature-rich WordPress projects painless.","sidebar":"docs"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/7c673fac.a9c20a7b.js b/assets/js/7c673fac.a9c20a7b.js new file mode 100644 index 000000000..279b79f7a --- /dev/null +++ b/assets/js/7c673fac.a9c20a7b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[67587],{31203:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>s,metadata:()=>a,toc:()=>r});var n=t(74848),i=t(28453);const s={title:"Adding components and blocks with WP-CLI",description:"This blog post covers how to use our WP CLI commands for adding components and blocks into your project.",slug:"adding-blocks-wpcli",authors:"obradovic",date:new Date("2022-03-14T00:00:00.000Z"),tags:["eightshift","boilerplate","wpcli","components","blocks"],hide_table_of_contents:!1},l=void 0,a={permalink:"/blog/adding-blocks-wpcli",source:"@site/blog/2022-03-03-adding-blocks-wpcli.md",title:"Adding components and blocks with WP-CLI",description:"This blog post covers how to use our WP CLI commands for adding components and blocks into your project.",date:"2022-03-14T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"wpcli",permalink:"/blog/tags/wpcli"},{label:"components",permalink:"/blog/tags/components"},{label:"blocks",permalink:"/blog/tags/blocks"}],readingTime:2.785,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Adding components and blocks with WP-CLI",description:"This blog post covers how to use our WP CLI commands for adding components and blocks into your project.",slug:"adding-blocks-wpcli",authors:"obradovic",date:"2022-03-14T00:00:00.000Z",tags:["eightshift","boilerplate","wpcli","components","blocks"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Modifying blocks - Color Theme",permalink:"/blog/modifying-blocks-color-theme"},nextItem:{title:"Components and blocks",permalink:"/blog/components-and-blocks"}},c={authorsImageUrls:[void 0]},r=[{value:"Storybook",id:"storybook",level:2},{value:"WP-CLI commands",id:"wp-cli-commands",level:2},{value:"Adding new component and block in our project",id:"adding-new-component-and-block-in-our-project",level:2},{value:"Using Example block",id:"using-example-block",level:2},{value:"Further reading",id:"further-reading",level:2}];function d(e){const o={a:"a",admonition:"admonition",code:"code",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(o.p,{children:["Although there are a few basic blocks available after creating a project, there are a lot more blocks available in the dev kit. However, you have to add them to your project using WP-CLI (the simplest method). To see the complete list of available components and blocks, visit our ",(0,n.jsx)(o.a,{href:"/devkit-components",children:"Storybook"}),"."]}),"\n",(0,n.jsx)(o.p,{children:"These can be used out-of-the-box, but also as a good starting point if you need similar blocks in your projects. It will also speed up your development time since you don't have to build everything from scratch."}),"\n",(0,n.jsx)(o.admonition,{title:"Last update",type:"info",children:(0,n.jsx)(o.p,{children:"August 23, 2022"})}),"\n",(0,n.jsx)(o.h2,{id:"storybook",children:"Storybook"}),"\n",(0,n.jsx)(o.p,{children:"Storybook allows you to preview how the components and blocks look and which options they have available. Since Storybook is interactive, you can try out most of the options. Think of it as a catalog with all custom blocks we've built and made ready for public use."}),"\n",(0,n.jsxs)(o.p,{children:["Each entry in Storybook should have documentation that explains the block in more detail, along with implementation instructions. Before using any block, be sure to check ",(0,n.jsx)(o.code,{children:"Dependencies"})," section. Although ",(0,n.jsx)(o.code,{children:"Implementation"})," section lists all the necessary WP-CLI commands required to use a specific block or a component, it is recommended to check if you have the required dependencies ready in your theme."]}),"\n",(0,n.jsx)(o.h2,{id:"wp-cli-commands",children:"WP-CLI commands"}),"\n",(0,n.jsxs)(o.p,{children:["If you've read our ",(0,n.jsx)(o.a,{href:"/blog/initial-setup",children:"Initial Setup"})," post, you're already familiar with our custom WP-CLI commands. For implementing additional components, we have ",(0,n.jsx)(o.code,{children:"wp boilerplate blocks use-component --name="})," command. For blocks, we have ",(0,n.jsx)(o.code,{children:"wp boilerplate blocks use-block --name="})," command."]}),"\n",(0,n.jsx)(o.h2,{id:"adding-new-component-and-block-in-our-project",children:"Adding new component and block in our project"}),"\n",(0,n.jsx)(o.p,{children:"Let's say we need a Quote block in our project. After going through the documentation of the Quote block, we see that we have one dependency, and that is the Quote component. So, to make Quote block available in our project, we need two WP-CLI commands:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-bash",children:"wp boilerplate blocks use-block --name=quote\nwp boilerplate blocks use-component --name=quote\n"})}),"\n",(0,n.jsxs)(o.p,{children:["When entering the ",(0,n.jsx)(o.code,{children:"wp boilerplate blocks use-block --name='quote'"})," command, you'll notice the note about a block dependency on the Quote component. So you should run the second command as well."]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.img,{alt:"Setup - instructions",src:t(25150).A+"",width:"1014",height:"447"})}),"\n",(0,n.jsxs)(o.p,{children:["After entering these commands, run ",(0,n.jsx)(o.code,{children:"npm start"})," again to make sure everything works properly."]}),"\n",(0,n.jsx)(o.p,{children:"The Quote block is now ready to use and available in your blocks list. You may use it as-is, or you may want to expand its functionalities with some additional attributes. More about that will be covered in the next blog post."}),"\n",(0,n.jsx)(o.h2,{id:"using-example-block",children:"Using Example block"}),"\n",(0,n.jsx)(o.p,{children:"If you want to build a block almost from scratch, you can use our Example block. This is a very simple block that generates all necessary files with some example options. To add an Example block to your project, use the following WP-CLI command:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-bash",children:"wp boilerplate blocks use-block --name=example\n"})}),"\n",(0,n.jsx)(o.p,{children:'Since our blocks use a predefined structure to make everything register automatically, adding Example block with WP-CLI will generate all required files. After it\'s added, feel free to rename the folder, as well as files with the name of your block and start modifying all the files. Simply replace "example" with the name of your block.'}),"\n",(0,n.jsx)(o.h2,{id:"further-reading",children:"Further reading"}),"\n",(0,n.jsx)(o.p,{children:"Our documentation has all this covered in a lot more detail, so if you would like to better understand the structure of our blocks and components, here are some chapters covering these topics:"}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:(0,n.jsx)(o.a,{href:"/docs/basics/architecture-concepts",children:"Architecture concepts"})}),"\n",(0,n.jsx)(o.li,{children:(0,n.jsx)(o.a,{href:"/docs/basics/block-structure",children:"Block Structure"})}),"\n",(0,n.jsx)(o.li,{children:(0,n.jsx)(o.a,{href:"/docs/basics/blocks-component-structure",children:"Component Structure"})}),"\n"]})]})}function h(e={}){const{wrapper:o}={...(0,i.R)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},25150:(e,o,t)=>{t.d(o,{A:()=>n});const n=t.p+"assets/images/wpcli-1-121561b87c2462841e12b91f09172d69.webp"},28453:(e,o,t)=>{t.d(o,{R:()=>l,x:()=>a});var n=t(96540);const i={},s=n.createContext(i);function l(e){const o=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function a(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),n.createElement(s.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7c673fac.d5c2efc2.js b/assets/js/7c673fac.d5c2efc2.js deleted file mode 100644 index 048e73cbc..000000000 --- a/assets/js/7c673fac.d5c2efc2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[67587],{31203:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>s,metadata:()=>a,toc:()=>r});var n=t(74848),i=t(28453);const s={title:"Adding components and blocks with WP-CLI",description:"This blog post covers how to use our WP CLI commands for adding components and blocks into your project.",slug:"adding-blocks-wpcli",authors:"obradovic",date:new Date("2022-03-14T00:00:00.000Z"),tags:["eightshift","boilerplate","wpcli","components","blocks"],hide_table_of_contents:!1},l=void 0,a={permalink:"/blog/adding-blocks-wpcli",source:"@site/blog/2022-03-03-adding-blocks-wpcli.md",title:"Adding components and blocks with WP-CLI",description:"This blog post covers how to use our WP CLI commands for adding components and blocks into your project.",date:"2022-03-14T00:00:00.000Z",formattedDate:"March 14, 2022",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"wpcli",permalink:"/blog/tags/wpcli"},{label:"components",permalink:"/blog/tags/components"},{label:"blocks",permalink:"/blog/tags/blocks"}],readingTime:2.785,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Adding components and blocks with WP-CLI",description:"This blog post covers how to use our WP CLI commands for adding components and blocks into your project.",slug:"adding-blocks-wpcli",authors:"obradovic",date:"2022-03-14T00:00:00.000Z",tags:["eightshift","boilerplate","wpcli","components","blocks"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Modifying blocks - Color Theme",permalink:"/blog/modifying-blocks-color-theme"},nextItem:{title:"Components and blocks",permalink:"/blog/components-and-blocks"}},c={authorsImageUrls:[void 0]},r=[{value:"Storybook",id:"storybook",level:2},{value:"WP-CLI commands",id:"wp-cli-commands",level:2},{value:"Adding new component and block in our project",id:"adding-new-component-and-block-in-our-project",level:2},{value:"Using Example block",id:"using-example-block",level:2},{value:"Further reading",id:"further-reading",level:2}];function d(e){const o={a:"a",admonition:"admonition",code:"code",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(o.p,{children:["Although there are a few basic blocks available after creating a project, there are a lot more blocks available in the dev kit. However, you have to add them to your project using WP-CLI (the simplest method). To see the complete list of available components and blocks, visit our ",(0,n.jsx)(o.a,{href:"/devkit-components",children:"Storybook"}),"."]}),"\n",(0,n.jsx)(o.p,{children:"These can be used out-of-the-box, but also as a good starting point if you need similar blocks in your projects. It will also speed up your development time since you don't have to build everything from scratch."}),"\n",(0,n.jsx)(o.admonition,{title:"Last update",type:"info",children:(0,n.jsx)(o.p,{children:"August 23, 2022"})}),"\n",(0,n.jsx)(o.h2,{id:"storybook",children:"Storybook"}),"\n",(0,n.jsx)(o.p,{children:"Storybook allows you to preview how the components and blocks look and which options they have available. Since Storybook is interactive, you can try out most of the options. Think of it as a catalog with all custom blocks we've built and made ready for public use."}),"\n",(0,n.jsxs)(o.p,{children:["Each entry in Storybook should have documentation that explains the block in more detail, along with implementation instructions. Before using any block, be sure to check ",(0,n.jsx)(o.code,{children:"Dependencies"})," section. Although ",(0,n.jsx)(o.code,{children:"Implementation"})," section lists all the necessary WP-CLI commands required to use a specific block or a component, it is recommended to check if you have the required dependencies ready in your theme."]}),"\n",(0,n.jsx)(o.h2,{id:"wp-cli-commands",children:"WP-CLI commands"}),"\n",(0,n.jsxs)(o.p,{children:["If you've read our ",(0,n.jsx)(o.a,{href:"/blog/initial-setup",children:"Initial Setup"})," post, you're already familiar with our custom WP-CLI commands. For implementing additional components, we have ",(0,n.jsx)(o.code,{children:"wp boilerplate blocks use-component --name="})," command. For blocks, we have ",(0,n.jsx)(o.code,{children:"wp boilerplate blocks use-block --name="})," command."]}),"\n",(0,n.jsx)(o.h2,{id:"adding-new-component-and-block-in-our-project",children:"Adding new component and block in our project"}),"\n",(0,n.jsx)(o.p,{children:"Let's say we need a Quote block in our project. After going through the documentation of the Quote block, we see that we have one dependency, and that is the Quote component. So, to make Quote block available in our project, we need two WP-CLI commands:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-bash",children:"wp boilerplate blocks use-block --name=quote\nwp boilerplate blocks use-component --name=quote\n"})}),"\n",(0,n.jsxs)(o.p,{children:["When entering the ",(0,n.jsx)(o.code,{children:"wp boilerplate blocks use-block --name='quote'"})," command, you'll notice the note about a block dependency on the Quote component. So you should run the second command as well."]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.img,{alt:"Setup - instructions",src:t(25150).A+"",width:"1014",height:"447"})}),"\n",(0,n.jsxs)(o.p,{children:["After entering these commands, run ",(0,n.jsx)(o.code,{children:"npm start"})," again to make sure everything works properly."]}),"\n",(0,n.jsx)(o.p,{children:"The Quote block is now ready to use and available in your blocks list. You may use it as-is, or you may want to expand its functionalities with some additional attributes. More about that will be covered in the next blog post."}),"\n",(0,n.jsx)(o.h2,{id:"using-example-block",children:"Using Example block"}),"\n",(0,n.jsx)(o.p,{children:"If you want to build a block almost from scratch, you can use our Example block. This is a very simple block that generates all necessary files with some example options. To add an Example block to your project, use the following WP-CLI command:"}),"\n",(0,n.jsx)(o.pre,{children:(0,n.jsx)(o.code,{className:"language-bash",children:"wp boilerplate blocks use-block --name=example\n"})}),"\n",(0,n.jsx)(o.p,{children:'Since our blocks use a predefined structure to make everything register automatically, adding Example block with WP-CLI will generate all required files. After it\'s added, feel free to rename the folder, as well as files with the name of your block and start modifying all the files. Simply replace "example" with the name of your block.'}),"\n",(0,n.jsx)(o.h2,{id:"further-reading",children:"Further reading"}),"\n",(0,n.jsx)(o.p,{children:"Our documentation has all this covered in a lot more detail, so if you would like to better understand the structure of our blocks and components, here are some chapters covering these topics:"}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:(0,n.jsx)(o.a,{href:"/docs/basics/architecture-concepts",children:"Architecture concepts"})}),"\n",(0,n.jsx)(o.li,{children:(0,n.jsx)(o.a,{href:"/docs/basics/block-structure",children:"Block Structure"})}),"\n",(0,n.jsx)(o.li,{children:(0,n.jsx)(o.a,{href:"/docs/basics/blocks-component-structure",children:"Component Structure"})}),"\n"]})]})}function h(e={}){const{wrapper:o}={...(0,i.R)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},25150:(e,o,t)=>{t.d(o,{A:()=>n});const n=t.p+"assets/images/wpcli-1-121561b87c2462841e12b91f09172d69.webp"},28453:(e,o,t)=>{t.d(o,{R:()=>l,x:()=>a});var n=t(96540);const i={},s=n.createContext(i);function l(e){const o=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function a(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),n.createElement(s.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7df6cfaa.3c4cfe81.js b/assets/js/7df6cfaa.3c4cfe81.js deleted file mode 100644 index f0a2cddf6..000000000 --- a/assets/js/7df6cfaa.3c4cfe81.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[28131],{81207:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>i,default:()=>p,frontMatter:()=>s,metadata:()=>l,toc:()=>c});var o=n(74848),a=n(28453);const s={title:"Using post templates",description:"Explaining post templates and how to use them.",slug:"using-post-templates",authors:"obradovic",date:new Date("2024-03-28T00:00:00.000Z"),tags:["eightshift","boilerplate","templates"],hide_table_of_contents:!1},i=void 0,l={permalink:"/blog/using-post-templates",source:"@site/blog/2024-03-28-using-post-templates.md",title:"Using post templates",description:"Explaining post templates and how to use them.",date:"2024-03-28T00:00:00.000Z",formattedDate:"March 28, 2024",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"templates",permalink:"/blog/tags/templates"}],readingTime:5.05,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Using post templates",description:"Explaining post templates and how to use them.",slug:"using-post-templates",authors:"obradovic",date:"2024-03-28T00:00:00.000Z",tags:["eightshift","boilerplate","templates"],hide_table_of_contents:!1},unlisted:!1,nextItem:{title:"Using inner blocks",permalink:"/blog/using-inner-blocks"}},r={authorsImageUrls:[void 0]},c=[{value:"Template locking options",id:"template-locking-options",level:2},{value:"Adding a template",id:"adding-a-template",level:2},{value:"Building complex layouts",id:"building-complex-layouts",level:2},{value:"Editor options for unlocking the templates",id:"editor-options-for-unlocking-the-templates",level:2},{value:"Suggestions for using post templates",id:"suggestions-for-using-post-templates",level:2}];function d(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"Sometimes you need your posts to follow a specific structure, or you simply want to provide a good starting point for the editors. This blog post will cover what post templates are, how to set them up, and what options they offer."}),"\n",(0,o.jsx)(t.p,{children:"A simple use case of post templates can be a review or a testimonial. For example, if you want each review to be a separate post and to use a single Quote block."}),"\n",(0,o.jsxs)(t.p,{children:["If you don\u2019t have the new post type registered, you can refer to one of the previous blog posts which explains how to ",(0,o.jsx)(t.a,{href:"/blog/using-cpts-and-taxonomies",children:"register Custom Post Types"}),". Once the new post type is registered, you can set the ",(0,o.jsx)(t.code,{children:"template_lock"})," argument."]}),"\n",(0,o.jsx)(t.h2,{id:"template-locking-options",children:"Template locking options"}),"\n",(0,o.jsxs)(t.p,{children:["The best way to lock the template is by adding the ",(0,o.jsx)(t.code,{children:"template_lock"})," argument into a ",(0,o.jsx)(t.code,{children:"return"})," statement from the ",(0,o.jsx)(t.code,{children:"getPostTypeArguments"})," method in your post type class."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"return [\n\t// ...\n\t'template_lock' => 'all',\n];\n"})}),"\n",(0,o.jsx)(t.p,{children:"There are a few ways of locking the template:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"all"})," - blocks can\u2019t be inserted, removed, or moved around. Content can be edited for existing blocks"]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"insert"})," - you can\u2019t insert or remove blocks, but you can move them around"]}),"\n"]}),"\n",(0,o.jsx)(t.admonition,{type:"note",children:(0,o.jsxs)(t.p,{children:["It\u2019s not mandatory to use ",(0,o.jsx)(t.code,{children:"template_lock"})," if you\u2019re using post templates. You can leave it out and have it fully unlocked to give the editors the freedom to modify the proposed template."]})}),"\n",(0,o.jsx)(t.p,{children:"Additionally, you can lock each block separately by adding the following attributes:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"lock": {\n\t"remove": true,\n\t"move": true,\n}\n'})}),"\n",(0,o.jsx)(t.h2,{id:"adding-a-template",children:"Adding a template"}),"\n",(0,o.jsxs)(t.p,{children:["A recommended approach for adding a post template is to add a service class. For this example, the post type is ",(0,o.jsx)(t.strong,{children:"Review"}),", so the WP-CLI command for creating a new service class looks like this:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"wp boilerplate create service-example --folder=Templates --file_name=ReviewTemplate\n"})}),"\n",(0,o.jsx)(t.p,{children:"If you\u2019re adding a template for another post type, create a separate class, but include it in the same namespace (folder). That way you\u2019ll have a much better overview of the templates in the project."}),"\n",(0,o.jsx)(t.p,{children:"Here\u2019s an example of how to add a single Quote block as a template:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"/**\n * Register Review Template.\n *\n * @return void\n */\npublic function registerReviewTemplate(): void\n{\n\t$reviewPostType = \\get_post_type_object(ReviewPostType::POST_TYPE_SLUG);\n\n\t$reviewPostType->template = [\n\t\t[\n\t\t\t'eightshift-boilerplate/quote',\n\t\t\t[\n\t\t\t\t'wrapperSimple' => true,\n\t\t\t\t'quoteQuoteParagraphContent' => 'Content placeholder',\n\t\t\t\t'quoteQuoteAuthorContent' => 'Author name placeholder',\n\t\t\t]\n\t\t],\n\t];\n}\n"})}),"\n",(0,o.jsxs)(t.p,{children:["To assign a post template, you need to get the post type object and then update the ",(0,o.jsx)(t.code,{children:"template"})," property. Alternatively, you can also lock the post template in this method with the ",(0,o.jsx)(t.code,{children:"template_lock"})," property, but it\u2019s much cleaner to do it during custom post type registration."]}),"\n",(0,o.jsxs)(t.p,{children:["Don\u2019t forget to register your method with ",(0,o.jsx)(t.code,{children:"add_action"}),":"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"\\add_action('init', [$this, 'registerReviewTemplate'], 20);\n"})}),"\n",(0,o.jsx)(t.h2,{id:"building-complex-layouts",children:"Building complex layouts"}),"\n",(0,o.jsx)(t.p,{children:"As you can see from the previous example, you can set any attribute you want, including wrapper-related options. The easiest way to add a complex post template is by building it in the Gutenberg editor first, then switching to Code Editor and copying the content. This will have to be rewritten in PHP to make it work, and here\u2019s how to do it. Let\u2019s say the code for the blocks looks like this:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{children:'\x3c!-- wp:eightshift-boilerplate/paragraph {"paragraphParagraphContent":"Placeholder text"} /--\x3e\n\n\x3c!-- wp:eightshift-boilerplate/cta-modal {"ctaModalButtonContent":"Apply now!","ctaModalEndDateHide":true} --\x3e\n\x3c!-- wp:eightshift-boilerplate/heading {"wrapperUseShowControl":false,"wrapperSimpleShowControl":false,"wrapperSimple":true,"wrapperAnchorId":"apply-now","headingHeadingContent":"Application form","headingHeadingSize":"h4:bold","headingAlign":"center"} /--\x3e\n\n\x3c!-- wp:eightshift-forms/forms /--\x3e\n\x3c!-- /wp:eightshift-boilerplate/cta-modal --\x3e\n'})}),"\n",(0,o.jsx)(t.p,{children:"This is how it looks when you rewrite it in PHP."}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"$eventPostType->template = [ // array that holds all blocks.\n\t[ // array that holds a Paragraph block.\n\t\t'eightshift-boilerplate/paragraph', // full block name.\n\t\t[ // array that holds block attributes.\n\t\t\t'paragraphParagraphContent' => 'Placeholder text',\n\t\t]\n\t],\n\t[ // array that holds a CTA Modal block.\n\t\t'eightshift-boilerplate/cta-modal',\n\t\t[ // array that holds block attributes.\n\t\t\t'ctaModalEndDateHide' => true,\n\t\t\t'ctaModalButtonContent' => 'Apply now!',\n\t\t\t'ctaModalButtonAlign' => 'center',\n\t\t],\n\t\t[ // array of inner blocks for a CTA Modal block.\n\t\t\t[\n\t\t\t\t'eightshift-boilerplate/heading',\n\t\t\t\t[\n\t\t\t\t\t'wrapperAnchorId' => 'apply-now',\n\t\t\t\t\t'headingHeadingContent' => 'Application form',\n\t\t\t\t\t'headingHeadingSize' => 'h4:bold',\n\t\t\t\t\t'headingAlign' => 'center'\n\t\t\t\t]\n\t\t\t],\n\t\t\t[\n\t\t\t\t'eightshift-forms/forms',\n\t\t\t\t[] // not passing any attributes, so we just include an empty array.\n\t\t\t]\n\t\t]\n\t]\n];\n"})}),"\n",(0,o.jsx)(t.p,{children:"The comments were added above for an easier understanding of the structure. So, to summarize:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["the ",(0,o.jsx)(t.code,{children:"template"})," property is an array that holds all blocks"]}),"\n",(0,o.jsx)(t.li,{children:"each block is a separate array that accepts three values in the following order: block name (string), block attributes (array), and inner blocks (array)"}),"\n",(0,o.jsx)(t.li,{children:"the process of adding inner blocks is the same as for adding blocks to the main content"}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"editor-options-for-unlocking-the-templates",children:"Editor options for unlocking the templates"}),"\n",(0,o.jsxs)(t.p,{children:["Even though the templates can be locked, some blocks can still be unlocked. This can be done by selecting a block and clicking on a lock icon. When locking or unlocking a block in this way, you can toggle two options, the ones already mentioned at the end of the ",(0,o.jsx)(t.a,{href:"#template-locking-options",children:"Template locking options"})," section:"]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Disable movement"})," - disable moving the block around"]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Prevent removal"})," - prevents the block from being deleted"]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"That way, even if you lock the template, some modifications can still be made to the template. Please note, that once you remove a block from the locked template, you can\u2019t add it again because the button for adding blocks is disabled."}),"\n",(0,o.jsx)(t.h2,{id:"suggestions-for-using-post-templates",children:"Suggestions for using post templates"}),"\n",(0,o.jsx)(t.p,{children:"Post templates offer a great way to streamline the process of adding content for specific post types and making the look and feel of the same post types more uniform. There are lots of ways to use them, so here are some suggestions to give you ideas:"}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Posts/news articles"})," - a news article needs a title, an image, author information, and some content."]}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Events"})," - you can put the important information at the top with a few accordions, then follow up with some content and add a CTA button at the bottom that opens a modal with an application form."]}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Reviews"})," - use a single quote block for displaying user reviews. To make it work with the Featured Content block, you can modify the Featured Content block to render the Reviews CPT content directly, instead of rendering cards."]})]})}function p(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},28453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>l});var o=n(96540);const a={},s=o.createContext(a);function i(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7df6cfaa.fe660973.js b/assets/js/7df6cfaa.fe660973.js new file mode 100644 index 000000000..f12955ada --- /dev/null +++ b/assets/js/7df6cfaa.fe660973.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[28131],{81207:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>i,default:()=>p,frontMatter:()=>s,metadata:()=>l,toc:()=>c});var o=n(74848),a=n(28453);const s={title:"Using post templates",description:"Explaining post templates and how to use them.",slug:"using-post-templates",authors:"obradovic",date:new Date("2024-03-28T00:00:00.000Z"),tags:["eightshift","boilerplate","templates"],hide_table_of_contents:!1},i=void 0,l={permalink:"/blog/using-post-templates",source:"@site/blog/2024-03-28-using-post-templates.md",title:"Using post templates",description:"Explaining post templates and how to use them.",date:"2024-03-28T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"templates",permalink:"/blog/tags/templates"}],readingTime:5.05,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Using post templates",description:"Explaining post templates and how to use them.",slug:"using-post-templates",authors:"obradovic",date:"2024-03-28T00:00:00.000Z",tags:["eightshift","boilerplate","templates"],hide_table_of_contents:!1},unlisted:!1,nextItem:{title:"Using inner blocks",permalink:"/blog/using-inner-blocks"}},r={authorsImageUrls:[void 0]},c=[{value:"Template locking options",id:"template-locking-options",level:2},{value:"Adding a template",id:"adding-a-template",level:2},{value:"Building complex layouts",id:"building-complex-layouts",level:2},{value:"Editor options for unlocking the templates",id:"editor-options-for-unlocking-the-templates",level:2},{value:"Suggestions for using post templates",id:"suggestions-for-using-post-templates",level:2}];function d(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"Sometimes you need your posts to follow a specific structure, or you simply want to provide a good starting point for the editors. This blog post will cover what post templates are, how to set them up, and what options they offer."}),"\n",(0,o.jsx)(t.p,{children:"A simple use case of post templates can be a review or a testimonial. For example, if you want each review to be a separate post and to use a single Quote block."}),"\n",(0,o.jsxs)(t.p,{children:["If you don\u2019t have the new post type registered, you can refer to one of the previous blog posts which explains how to ",(0,o.jsx)(t.a,{href:"/blog/using-cpts-and-taxonomies",children:"register Custom Post Types"}),". Once the new post type is registered, you can set the ",(0,o.jsx)(t.code,{children:"template_lock"})," argument."]}),"\n",(0,o.jsx)(t.h2,{id:"template-locking-options",children:"Template locking options"}),"\n",(0,o.jsxs)(t.p,{children:["The best way to lock the template is by adding the ",(0,o.jsx)(t.code,{children:"template_lock"})," argument into a ",(0,o.jsx)(t.code,{children:"return"})," statement from the ",(0,o.jsx)(t.code,{children:"getPostTypeArguments"})," method in your post type class."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"return [\n\t// ...\n\t'template_lock' => 'all',\n];\n"})}),"\n",(0,o.jsx)(t.p,{children:"There are a few ways of locking the template:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"all"})," - blocks can\u2019t be inserted, removed, or moved around. Content can be edited for existing blocks"]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"insert"})," - you can\u2019t insert or remove blocks, but you can move them around"]}),"\n"]}),"\n",(0,o.jsx)(t.admonition,{type:"note",children:(0,o.jsxs)(t.p,{children:["It\u2019s not mandatory to use ",(0,o.jsx)(t.code,{children:"template_lock"})," if you\u2019re using post templates. You can leave it out and have it fully unlocked to give the editors the freedom to modify the proposed template."]})}),"\n",(0,o.jsx)(t.p,{children:"Additionally, you can lock each block separately by adding the following attributes:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"lock": {\n\t"remove": true,\n\t"move": true,\n}\n'})}),"\n",(0,o.jsx)(t.h2,{id:"adding-a-template",children:"Adding a template"}),"\n",(0,o.jsxs)(t.p,{children:["A recommended approach for adding a post template is to add a service class. For this example, the post type is ",(0,o.jsx)(t.strong,{children:"Review"}),", so the WP-CLI command for creating a new service class looks like this:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"wp boilerplate create service-example --folder=Templates --file_name=ReviewTemplate\n"})}),"\n",(0,o.jsx)(t.p,{children:"If you\u2019re adding a template for another post type, create a separate class, but include it in the same namespace (folder). That way you\u2019ll have a much better overview of the templates in the project."}),"\n",(0,o.jsx)(t.p,{children:"Here\u2019s an example of how to add a single Quote block as a template:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"/**\n * Register Review Template.\n *\n * @return void\n */\npublic function registerReviewTemplate(): void\n{\n\t$reviewPostType = \\get_post_type_object(ReviewPostType::POST_TYPE_SLUG);\n\n\t$reviewPostType->template = [\n\t\t[\n\t\t\t'eightshift-boilerplate/quote',\n\t\t\t[\n\t\t\t\t'wrapperSimple' => true,\n\t\t\t\t'quoteQuoteParagraphContent' => 'Content placeholder',\n\t\t\t\t'quoteQuoteAuthorContent' => 'Author name placeholder',\n\t\t\t]\n\t\t],\n\t];\n}\n"})}),"\n",(0,o.jsxs)(t.p,{children:["To assign a post template, you need to get the post type object and then update the ",(0,o.jsx)(t.code,{children:"template"})," property. Alternatively, you can also lock the post template in this method with the ",(0,o.jsx)(t.code,{children:"template_lock"})," property, but it\u2019s much cleaner to do it during custom post type registration."]}),"\n",(0,o.jsxs)(t.p,{children:["Don\u2019t forget to register your method with ",(0,o.jsx)(t.code,{children:"add_action"}),":"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"\\add_action('init', [$this, 'registerReviewTemplate'], 20);\n"})}),"\n",(0,o.jsx)(t.h2,{id:"building-complex-layouts",children:"Building complex layouts"}),"\n",(0,o.jsx)(t.p,{children:"As you can see from the previous example, you can set any attribute you want, including wrapper-related options. The easiest way to add a complex post template is by building it in the Gutenberg editor first, then switching to Code Editor and copying the content. This will have to be rewritten in PHP to make it work, and here\u2019s how to do it. Let\u2019s say the code for the blocks looks like this:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{children:'\x3c!-- wp:eightshift-boilerplate/paragraph {"paragraphParagraphContent":"Placeholder text"} /--\x3e\n\n\x3c!-- wp:eightshift-boilerplate/cta-modal {"ctaModalButtonContent":"Apply now!","ctaModalEndDateHide":true} --\x3e\n\x3c!-- wp:eightshift-boilerplate/heading {"wrapperUseShowControl":false,"wrapperSimpleShowControl":false,"wrapperSimple":true,"wrapperAnchorId":"apply-now","headingHeadingContent":"Application form","headingHeadingSize":"h4:bold","headingAlign":"center"} /--\x3e\n\n\x3c!-- wp:eightshift-forms/forms /--\x3e\n\x3c!-- /wp:eightshift-boilerplate/cta-modal --\x3e\n'})}),"\n",(0,o.jsx)(t.p,{children:"This is how it looks when you rewrite it in PHP."}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-php",children:"$eventPostType->template = [ // array that holds all blocks.\n\t[ // array that holds a Paragraph block.\n\t\t'eightshift-boilerplate/paragraph', // full block name.\n\t\t[ // array that holds block attributes.\n\t\t\t'paragraphParagraphContent' => 'Placeholder text',\n\t\t]\n\t],\n\t[ // array that holds a CTA Modal block.\n\t\t'eightshift-boilerplate/cta-modal',\n\t\t[ // array that holds block attributes.\n\t\t\t'ctaModalEndDateHide' => true,\n\t\t\t'ctaModalButtonContent' => 'Apply now!',\n\t\t\t'ctaModalButtonAlign' => 'center',\n\t\t],\n\t\t[ // array of inner blocks for a CTA Modal block.\n\t\t\t[\n\t\t\t\t'eightshift-boilerplate/heading',\n\t\t\t\t[\n\t\t\t\t\t'wrapperAnchorId' => 'apply-now',\n\t\t\t\t\t'headingHeadingContent' => 'Application form',\n\t\t\t\t\t'headingHeadingSize' => 'h4:bold',\n\t\t\t\t\t'headingAlign' => 'center'\n\t\t\t\t]\n\t\t\t],\n\t\t\t[\n\t\t\t\t'eightshift-forms/forms',\n\t\t\t\t[] // not passing any attributes, so we just include an empty array.\n\t\t\t]\n\t\t]\n\t]\n];\n"})}),"\n",(0,o.jsx)(t.p,{children:"The comments were added above for an easier understanding of the structure. So, to summarize:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["the ",(0,o.jsx)(t.code,{children:"template"})," property is an array that holds all blocks"]}),"\n",(0,o.jsx)(t.li,{children:"each block is a separate array that accepts three values in the following order: block name (string), block attributes (array), and inner blocks (array)"}),"\n",(0,o.jsx)(t.li,{children:"the process of adding inner blocks is the same as for adding blocks to the main content"}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"editor-options-for-unlocking-the-templates",children:"Editor options for unlocking the templates"}),"\n",(0,o.jsxs)(t.p,{children:["Even though the templates can be locked, some blocks can still be unlocked. This can be done by selecting a block and clicking on a lock icon. When locking or unlocking a block in this way, you can toggle two options, the ones already mentioned at the end of the ",(0,o.jsx)(t.a,{href:"#template-locking-options",children:"Template locking options"})," section:"]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Disable movement"})," - disable moving the block around"]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Prevent removal"})," - prevents the block from being deleted"]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"That way, even if you lock the template, some modifications can still be made to the template. Please note, that once you remove a block from the locked template, you can\u2019t add it again because the button for adding blocks is disabled."}),"\n",(0,o.jsx)(t.h2,{id:"suggestions-for-using-post-templates",children:"Suggestions for using post templates"}),"\n",(0,o.jsx)(t.p,{children:"Post templates offer a great way to streamline the process of adding content for specific post types and making the look and feel of the same post types more uniform. There are lots of ways to use them, so here are some suggestions to give you ideas:"}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Posts/news articles"})," - a news article needs a title, an image, author information, and some content."]}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Events"})," - you can put the important information at the top with a few accordions, then follow up with some content and add a CTA button at the bottom that opens a modal with an application form."]}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Reviews"})," - use a single quote block for displaying user reviews. To make it work with the Featured Content block, you can modify the Featured Content block to render the Reviews CPT content directly, instead of rendering cards."]})]})}function p(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},28453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>l});var o=n(96540);const a={},s=o.createContext(a);function i(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/801f3f5d.c507012e.js b/assets/js/801f3f5d.c507012e.js new file mode 100644 index 000000000..6efd42836 --- /dev/null +++ b/assets/js/801f3f5d.c507012e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[15782],{91267:(e,a,t)=>{t.r(a),t.d(a,{default:()=>g});var r=t(96540),i=t(44586),n=t(86025),s=t(49641),o=t(23271);const p='\x3c!-- wp:eightshift-boilerplate/paragraph {"wrapperSpacingTopLarge":40,"paragraphParagraphContent":"This playground allows you to try all the default blocks that come with DevKit."} /--\x3e\n\n\x3c!-- wp:eightshift-boilerplate/paragraph {"paragraphParagraphContent":"The WordPress instance you\'re looking at is \\u003cstrong\\u003erunning in your browser \\u003c/strong\\u003eand will get reset after you navigate away from the Playground."} /--\x3e\n\n\x3c!-- wp:eightshift-boilerplate/paragraph {"paragraphParagraphContent":"Almost all of WordPress functionalities are available, including managing posts, installing plugins, changing settings, and previewing the site."} /--\x3e\n\n\x3c!-- wp:eightshift-boilerplate/group {"wrapperWidthLarge":6,"wrapperOffsetLarge":4,"wrapperSpacingBottomLarge":0} --\x3e\n\x3c!-- wp:eightshift-boilerplate/card {"wrapperUseShowControl":false,"wrapperSimpleShowControl":false,"wrapperSimple":true,"wrapperBgColorType":"gradient","wrapperBgColorGradient":"linear-gradient(135deg, rgb(255, 253, 241) 0.00%,rgb(249, 244, 215) 100.00%)","wrapperWidthLarge":6,"wrapperOffsetLarge":4,"wrapperSpacingBottomLarge":0,"wrapperSpacingLeftInLarge":20,"wrapperSpacingRightInLarge":20,"wrapperSpacingTopInLarge":20,"wrapperSpacingBottomInLarge":20,"wrapperRoundedCornersLarge":20,"cardCardImageUse":false,"cardCardIntroContent":"\ud83d\udea7\\u003cbr\\u003eWork in progress!","cardCardIntroSize":"h5:bold","cardCardHeadingContent":"","cardCardHeadingSize":"h4:medium","cardCardHeadingUse":false,"cardCardParagraphContent":"We are working on improving the DevKit playground start page.\\u003cbr\\u003eA different layout and more demo pages are coming soon!.","cardCardParagraphSize":"caption:regular","cardCardButtonUse":false,"cardCardAlign":"center"} /--\x3e\n\x3c!-- /wp:eightshift-boilerplate/group --\x3e\n';var l=t(74848);function g(){const e=(0,i.A)(),{siteConfig:a={}}=e,[t,g]=(0,r.useState)(""),[d,c]=(0,r.useState)(!0),[u,h]=(0,r.useState)("Initializing"),[w,m]=(0,r.useState)(null);(0,r.useEffect)((()=>{(async()=>{const e=await(0,o.QH)({iframe:f.current,remoteUrl:"https://playground.wordpress.net/remote.html",blueprint:{preferredVersions:{php:"8.3",wp:"6.5"},phpExtensionBundles:["kitchen-sink"],features:{networking:!0},landingPage:"/wp-admin",steps:[{step:"login",username:"admin",password:"password"}]},sapiName:"cli",onClientConnected:e=>{window.playground=e}});e.onNavigation((e=>{g(e)})),h("Loading theme"),m(25);const a="devkittest.zip",t=await fetch(`/${a}`,{headers:{"Content-Type":"application/octet-stream"},credentials:"include"});m(33),h("Unpacking theme");const r=await t.blob(),i=new File([r],a);m(50),h("Installing theme"),await(0,o.XT)(e,{themeZipFile:i,options:{activate:!0}}),m(60),h("Setting up WP-CLI");const n="/wordpress/wp-cli.phar",s=await fetch("https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar"),l=await s.arrayBuffer();await e.writeFile(n,new Uint8Array(l)),m(75),h("Adding demo posts");const d=p.split("\n").map((e=>e.trim())).join("");await e.writeFile("/wordpress/initial-post.txt",d);const{text:u}=await(0,o.gT)(e,{command:"wp post create /wordpress/initial-post.txt --post_title='Welcome to Eightshift DevKit!' --post_type='page' --post_status='publish'",wpCliPath:n}),w=u.substring(u.indexOf("Created post ")+13,u.lastIndexOf(".")).trim();m(95),h("Finalizing"),await e.goTo(`/wp-admin/post.php?post=${w}&action=edit`),m(100),await(0,o.gT)(e,{command:"wp post generate --count=10 --post_status=publish",wpCliPath:n}),c(!1)})()}),[]);const f=(0,r.useRef)(null);return(0,l.jsxs)(s.A,{title:"Playground",description:a.tagline,keywords:a.customFields.keywords,metaImage:(0,n.A)(`img/${a.customFields.image}`),wrapperClassName:"es-single-full-screen-child es-has-t-border",children:[(0,l.jsxs)("div",{className:"es-full-size",style:{visibility:d?"hidden":"visible"},children:[(0,l.jsx)("div",{className:"flex flex-col desktop:flex-row items-center gap-8 desktop:justify-between bg-grey-100",style:{borderBottom:"1px solid rgb(228 235 245)",padding:"0.5rem"},children:(0,l.jsx)("form",{className:"w-full",onSubmit:e=>{e.preventDefault(),window?.playground?.goTo(t)},children:(0,l.jsx)("input",{className:"w-full border text-12",value:t,onChange:e=>{let{target:a}=e;return g(a?.value)},type:"text",style:{fontFamily:"var(--ifm-font-family-monospace)",borderColor:"rgb(228 235 245)",borderRadius:"0.5rem",padding:"0.5rem"}})})}),(0,l.jsx)("iframe",{className:"es-full-size border-t border-t-grey-200",allow:"clipboard-read; clipboard-write",ref:f})]}),d&&(0,l.jsxs)("div",{className:"es-full-size flex flex-col items-center justify-center gap-1.5 esd-full-fixed",children:[(0,l.jsx)("progress",{value:w,max:100}),(0,l.jsx)("h3",{children:"Preparing playground"}),(0,l.jsx)("span",{className:"text-12",children:u})]})]})}}}]); \ No newline at end of file diff --git a/assets/js/801f3f5d.cc89d1f5.js b/assets/js/801f3f5d.cc89d1f5.js deleted file mode 100644 index c37cc524e..000000000 --- a/assets/js/801f3f5d.cc89d1f5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[15782],{91267:(e,a,r)=>{r.r(a),r.d(a,{default:()=>g});var t=r(96540),i=r(44586),p=r(86025),n=r(49641),s=r(23271);const o='\x3c!-- wp:eightshift-boilerplate/paragraph {"wrapperSpacingTopLarge":40,"paragraphParagraphContent":"This playground allows you to try all the default blocks that come with DevKit."} /--\x3e\n\n\x3c!-- wp:eightshift-boilerplate/paragraph {"paragraphParagraphContent":"The WordPress instance you\'re looking at is \\u003cstrong\\u003erunning in your browser \\u003c/strong\\u003eand will get reset after you navigate away from the Playground."} /--\x3e\n\n\x3c!-- wp:eightshift-boilerplate/paragraph {"paragraphParagraphContent":"Almost all of WordPress functionalities are available, including managing posts, installing plugins, changing settings, and previewing the site."} /--\x3e\n\n\x3c!-- wp:eightshift-boilerplate/group {"wrapperWidthLarge":6,"wrapperOffsetLarge":4,"wrapperSpacingBottomLarge":0} --\x3e\n\x3c!-- wp:eightshift-boilerplate/card {"wrapperUseShowControl":false,"wrapperSimpleShowControl":false,"wrapperSimple":true,"wrapperBgColorType":"gradient","wrapperBgColorGradient":"linear-gradient(135deg, rgb(255, 253, 241) 0.00%,rgb(249, 244, 215) 100.00%)","wrapperWidthLarge":6,"wrapperOffsetLarge":4,"wrapperSpacingBottomLarge":0,"wrapperSpacingLeftInLarge":20,"wrapperSpacingRightInLarge":20,"wrapperSpacingTopInLarge":20,"wrapperSpacingBottomInLarge":20,"wrapperRoundedCornersLarge":20,"cardCardImageUse":false,"cardCardIntroContent":"\ud83d\udea7\\u003cbr\\u003eWork in progress!","cardCardIntroSize":"h5:bold","cardCardHeadingContent":"","cardCardHeadingSize":"h4:medium","cardCardHeadingUse":false,"cardCardParagraphContent":"We are working on improving the DevKit playground start page.\\u003cbr\\u003eA different layout and more demo pages are coming soon!.","cardCardParagraphSize":"caption:regular","cardCardButtonUse":false,"cardCardAlign":"center"} /--\x3e\n\x3c!-- /wp:eightshift-boilerplate/group --\x3e\n';var l=r(74848);function g(){const e=(0,i.A)(),{siteConfig:a={}}=e;(0,t.useEffect)((()=>{(async()=>{const e=await(0,s.QH)({iframe:r.current,remoteUrl:"https://playground.wordpress.net/remote.html",blueprint:{preferredVersions:{php:"8.3",wp:"6.4"},phpExtensionBundles:["kitchen-sink"],features:{networking:!0},landingPage:"/wp-admin",steps:[{step:"login",username:"admin",password:"password"}]},sapiName:"cli"}),a="devkittest.zip",t=await fetch(`/${a}`,{headers:{"Content-Type":"application/octet-stream"},credentials:"include"}),i=await t.blob(),p=new File([i],a);await(0,s.XT)(e,{themeZipFile:p,options:{activate:!0}});const n="/wordpress/wp-cli.phar",l=await fetch("https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar"),g=await l.arrayBuffer();await e.writeFile(n,new Uint8Array(g));const d=o.split("\n").map((e=>e.trim())).join("");await e.writeFile("/wordpress/initial-post.txt",d);const{text:c}=await(0,s.gT)(e,{command:"wp post create /wordpress/initial-post.txt --post_title='Welcome to Eightshift DevKit!' --post_type='page' --post_status='publish'",wpCliPath:n}),w=c.substring(c.indexOf("Created post ")+13,c.lastIndexOf(".")).trim();await e.goTo(`/wp-admin/post.php?post=${w}&action=edit`),await(0,s.gT)(e,{command:"wp post generate --count=10 --post_status=publish",wpCliPath:n})})()}),[]);const r=(0,t.useRef)(null);return(0,l.jsx)(n.A,{title:"Playground",description:a.tagline,keywords:a.customFields.keywords,metaImage:(0,p.A)(`img/${a.customFields.image}`),wrapperClassName:"es-single-full-screen-child es-has-t-border",children:(0,l.jsx)("iframe",{className:"es-full-size",allow:"clipboard-read; clipboard-write",ref:r})})}}}]); \ No newline at end of file diff --git a/assets/js/81faadf7.2547d5c3.js b/assets/js/81faadf7.2547d5c3.js deleted file mode 100644 index 51bca489d..000000000 --- a/assets/js/81faadf7.2547d5c3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[30739],{5004:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/acf","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/82237.9818c8ff.js b/assets/js/82237.44ea2061.js similarity index 95% rename from assets/js/82237.9818c8ff.js rename to assets/js/82237.44ea2061.js index d9514cdfa..ad55259c0 100644 --- a/assets/js/82237.9818c8ff.js +++ b/assets/js/82237.44ea2061.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[82237],{23363:(e,t,i)=>{i.d(t,{A:()=>r});i(96540);var n=i(34164),s=i(21312),o=i(51107),h=i(74848);function r(e){let{className:t}=e;return(0,h.jsx)("main",{className:(0,n.A)("container margin-vert--xl",t),children:(0,h.jsx)("div",{className:"row",children:(0,h.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,h.jsx)(o.A,{as:"h1",className:"hero__title",children:(0,h.jsx)(s.A,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,h.jsx)("p",{children:(0,h.jsx)(s.A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,h.jsx)("p",{children:(0,h.jsx)(s.A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}},82237:(e,t,i)=>{i.r(t),i.d(t,{default:()=>a});i(96540);var n=i(21312),s=i(69024),o=i(49641),h=i(23363),r=i(74848);function a(){const e=(0,n.T)({id:"theme.NotFound.title",message:"Page Not Found"});return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.be,{title:e}),(0,r.jsx)(o.A,{children:(0,r.jsx)(h.A,{})})]})}}}]); \ No newline at end of file +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[82237],{23363:(e,t,i)=>{i.d(t,{A:()=>r});i(96540);var n=i(34164),s=i(21312),o=i(51107),h=i(74848);function r(e){let{className:t}=e;return(0,h.jsx)("main",{className:(0,n.A)("container margin-vert--xl",t),children:(0,h.jsx)("div",{className:"row",children:(0,h.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,h.jsx)(o.A,{as:"h1",className:"hero__title",children:(0,h.jsx)(s.A,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,h.jsx)("p",{children:(0,h.jsx)(s.A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,h.jsx)("p",{children:(0,h.jsx)(s.A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}},82237:(e,t,i)=>{i.r(t),i.d(t,{default:()=>a});i(96540);var n=i(21312),s=i(45500),o=i(49641),h=i(23363),r=i(74848);function a(){const e=(0,n.T)({id:"theme.NotFound.title",message:"Page Not Found"});return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.be,{title:e}),(0,r.jsx)(o.A,{children:(0,r.jsx)(h.A,{})})]})}}}]); \ No newline at end of file diff --git a/assets/js/842a1dd5.c7ea3d47.js b/assets/js/842a1dd5.c7ea3d47.js new file mode 100644 index 000000000..143d57b11 --- /dev/null +++ b/assets/js/842a1dd5.c7ea3d47.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[21062],{60112:t=>{t.exports=JSON.parse('{"tag":{"label":"variations","permalink":"/blog/tags/variations","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/variations","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/86a402cb.6744cfd6.js b/assets/js/86a402cb.6744cfd6.js new file mode 100644 index 000000000..487bcdde2 --- /dev/null +++ b/assets/js/86a402cb.6744cfd6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[76835],{85853:t=>{t.exports=JSON.parse('{"tag":{"label":"boilerplate","permalink":"/blog/tags/boilerplate","allTagsPath":"/blog/tags","count":17,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/boilerplate","page":1,"postsPerPage":9,"totalPages":2,"totalCount":17,"nextPage":"/blog/tags/boilerplate/page/2","blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/883d241c.c933b18f.js b/assets/js/883d241c.c933b18f.js deleted file mode 100644 index bbfff1561..000000000 --- a/assets/js/883d241c.c933b18f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[89340],{33049:s=>{s.exports=JSON.parse('{"label":"variations","permalink":"/blog/tags/variations","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/8962d52c.996c4b1a.js b/assets/js/8962d52c.996c4b1a.js deleted file mode 100644 index 27feb1491..000000000 --- a/assets/js/8962d52c.996c4b1a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[10454],{85763:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>l,toc:()=>c});var s=t(74848),i=t(28453);const a={title:"Tips & useful features",description:"Various tips and useful features for your project included in Eightshift DevKit.",slug:"tips-useful-features",authors:"obradovic",date:new Date("2024-02-29T00:00:00.000Z"),tags:["eightshift","boilerplate","blocks","plugins","colors","images","classes"],hide_table_of_contents:!1},o=void 0,l={permalink:"/blog/tips-useful-features",source:"@site/blog/2024-02-29-tips-useful-features.md",title:"Tips & useful features",description:"Various tips and useful features for your project included in Eightshift DevKit.",date:"2024-02-29T00:00:00.000Z",formattedDate:"February 29, 2024",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"blocks",permalink:"/blog/tags/blocks"},{label:"plugins",permalink:"/blog/tags/plugins"},{label:"colors",permalink:"/blog/tags/colors"},{label:"images",permalink:"/blog/tags/images"},{label:"classes",permalink:"/blog/tags/classes"}],readingTime:5.665,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Tips & useful features",description:"Various tips and useful features for your project included in Eightshift DevKit.",slug:"tips-useful-features",authors:"obradovic",date:"2024-02-29T00:00:00.000Z",tags:["eightshift","boilerplate","blocks","plugins","colors","images","classes"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Using inner blocks",permalink:"/blog/using-inner-blocks"},nextItem:{title:"Making your project multilingual",permalink:"/blog/making-your-project-multilingual"}},r={authorsImageUrls:[void 0]},c=[{value:"Using only Eightshift blocks",id:"using-only-eightshift-blocks",level:2},{value:"ModifyAdminAppearance class",id:"modifyadminappearance-class",level:2},{value:"EscapedView class",id:"escapedview-class",level:2},{value:"Media class",id:"media-class",level:2},{value:"Automatic WebP conversion",id:"automatic-webp-conversion",level:2},{value:"Dynamic cookies for WP Rocket",id:"dynamic-cookies-for-wp-rocket",level:2},{value:"Yoast SEO helper",id:"yoast-seo-helper",level:2},{value:"Linters and Coding Standards checks",id:"linters-and-coding-standards-checks",level:2}];function d(e){const n={admonition:"admonition",code:"code",em:"em",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:"Eightshift DevKit has lots of features that can make your development experience easier. These are mostly minor features which can\u2019t be a blog post of its own, so they\u2019ll be listed here. This isn\u2019t a complete list, so there may be a part 2 in the future."}),"\n",(0,s.jsx)(n.h2,{id:"using-only-eightshift-blocks",children:"Using only Eightshift blocks"}),"\n",(0,s.jsxs)(n.p,{children:["If you want to remove the default Gutenberg blocks and use only Eightshift blocks, it\u2019s as easy as adding the following code in your ",(0,s.jsx)(n.strong,{children:(0,s.jsx)(n.em,{children:"src/Blocks/Blocks.php"})})," file:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\n\\add_filter('allowed_block_types_all', [$this, 'getAllBlocksList'], 10, 2);\n"})}),"\n",(0,s.jsx)(n.h2,{id:"modifyadminappearance-class",children:"ModifyAdminAppearance class"}),"\n",(0,s.jsxs)(n.p,{children:["When you have multiple environments (local, staging, production ...), you may accidentally change something on the wrong environment if you mix up your tabs. The ",(0,s.jsx)(n.code,{children:"ModifyAdminAppearance"})," class changes your WP Admin color scheme depending on the environment type defined with the ",(0,s.jsx)(n.code,{children:"WP_ENVIRONMENT_TYPE"})," constant. That way it\u2019s much easier to differentiate on which environment you are when you're in WP Admin."]}),"\n",(0,s.jsx)(n.p,{children:"Now when you get a call from the client asking you why the blog post they published isn\u2019t visible on the site, the first question you can ask is: \u201cWhat color is the admin area?\u201d \ud83d\ude04"}),"\n",(0,s.jsx)(n.p,{children:"To add it into your project, use the following WP-CLI command:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"wp boilerplate create modify-admin-appearance\n"})}),"\n",(0,s.jsxs)(n.p,{children:["After adding this class to your project, all you have to do is define the proper environment type in the ",(0,s.jsx)(n.code,{children:"WP_ENVIRONMENT_TYPE"})," constant in ",(0,s.jsx)(n.em,{children:(0,s.jsx)(n.strong,{children:"wp-config.php."})})]}),"\n",(0,s.jsx)(n.p,{children:"The supported values are:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"local"}),"\n",(0,s.jsx)(n.li,{children:"development"}),"\n",(0,s.jsx)(n.li,{children:"staging"}),"\n",(0,s.jsx)(n.li,{children:"production"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Different color schemes in WP Admin depending on the environment",src:t(59886).A+"",width:"1042",height:"562"})}),"\n",(0,s.jsxs)(n.p,{children:["If you want to change any of the colors, you can do so by modifying the values in ",(0,s.jsx)(n.code,{children:"COLOR_SCHEMES"})," array inside ",(0,s.jsx)(n.code,{children:"ModifyAdminAppearance"})," class. For the full list of available color schemes, you can navigate to ",(0,s.jsx)(n.strong,{children:(0,s.jsx)(n.em,{children:"wp-admin/css/colors"})}),". The subfolders here represent the color schemes you can use. For example, if you want to change production environment color scheme to ",(0,s.jsx)(n.code,{children:"coffee"}),", you would do it like this:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-php",children:"/**\n * List of admin color schemes.\n *\n * @var array<string, string>\n */\npublic const COLOR_SCHEMES = [\n\t'development' => 'fresh',\n\t'local' => 'fresh',\n\t'staging' => 'blue',\n\t'production' => 'coffee',\n];\n"})}),"\n",(0,s.jsx)(n.h2,{id:"escapedview-class",children:"EscapedView class"}),"\n",(0,s.jsx)(n.p,{children:"This class can be used to define which tags and attributes are escaped or allowed in your project. To add the class into your project, use the following WP-CLI command:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"wp boilerplate create escaped-view\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Here\u2019s an example how to define the allowed tags so ",(0,s.jsx)(n.code,{children:"wp_kses"})," doesn\u2019t remove them:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-php",children:"\t/**\n\t * Add tags to allowed HTML list.\n\t *\n\t * @param array<string, array<mixed>> $tags Allowed tags.\n\t *\n\t * @return array<string, array<mixed>>\n\t */\n\tpublic function ksesAllowedHtml($tags): array\n\t{\n\t\t$tags['source'] = [\n\t\t\t'src' => [],\n\t\t\t'type' => [],\n\t\t];\n\n\t\t$tags['video'] = [\n\t\t\t'muted' => [],\n\t\t\t'src' => [],\n\t\t\t'autoplay' => [],\n\t\t\t// ...\n\t\t];\n\n\t\t$tags['div']['data-*'] = true;\n\n\t\treturn \\array_merge(\n\t\t\t$tags,\n\t\t\tstatic::SVG,\n\t\t\tstatic::FORM,\n\t\t\tstatic::IFRAME\n\t\t);\n\t}\n"})}),"\n",(0,s.jsx)(n.admonition,{type:"caution",children:(0,s.jsx)(n.p,{children:"Please be wary of the attributes you allow, as this could expose your website to cross-site scripting (XSS) and similar attacks!"})}),"\n",(0,s.jsxs)(n.p,{children:["Don\u2019t forget to add this to the ",(0,s.jsx)(n.code,{children:"register"})," method:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-php",children:"\\add_filter('wp_kses_allowed_html', [$this, 'ksesAllowedHtml'], 20, 1);\n"})}),"\n",(0,s.jsx)(n.h2,{id:"media-class",children:"Media class"}),"\n",(0,s.jsx)(n.p,{children:"To add the Media class to your project, use the following WP-CLI command:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"wp boilerplate create media\n"})}),"\n",(0,s.jsx)(n.p,{children:"You can use the Media class to define new media sizes or allow uploads of the mime types that are not allowed by default."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-php",children:"\t/**\n\t * Allow additional types for uploads in media.\n\t *\n\t * @param array<string, string> $mimes Load all mimes types.\n\t *\n\t * @return array<string, string> Return original and updated.\n\t */\n\tpublic function enableMimeTypes(array $mimes): array\n\t{\n\t\t$mimes['svg'] = 'image/svg+xml';\n\t\t$mimes['zip'] = 'application/zip';\n\t\t$mimes['json'] = 'application/json';\n\n\t\treturn $mimes;\n\t}\n"})}),"\n",(0,s.jsx)(n.p,{children:"And register the filter:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-php",children:"\\add_filter('upload_mimes', [$this, 'enableMimeTypes']);\n"})}),"\n",(0,s.jsxs)(n.p,{children:["This class also supports converting your media into ",(0,s.jsx)(n.strong,{children:(0,s.jsx)(n.em,{children:"WebP"})})," format, but more on that below."]}),"\n",(0,s.jsx)(n.h2,{id:"automatic-webp-conversion",children:"Automatic WebP conversion"}),"\n",(0,s.jsx)(n.p,{children:"The WebP file format is becoming more and more popular, with its smaller file sizes and better compression, it is a preferred replacement for .jpg and .png formats. Eightshift DevKit supports converting your existing files to WebP format."}),"\n",(0,s.jsx)(n.p,{children:"If you already have the Media class in your project, you need to run this WP-CLI command:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"wp boilerplate create webp-media-column\n"})}),"\n",(0,s.jsxs)(n.p,{children:["This command will add a new column in your ",(0,s.jsx)(n.em,{children:(0,s.jsx)(n.strong,{children:"List view"})})," in Media Library that shows if the media is converted to WebP or not."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"WebP column in Media Library",src:t(34564).A+"",width:"2100",height:"834"})}),"\n",(0,s.jsx)(n.p,{children:"To enable and convert existing media to WebP, run the following commands:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"wp boilerplate run use-webp-media\nwp boilerplate run regenerate-media\n"})}),"\n",(0,s.jsxs)(n.p,{children:["After running these commands, you\u2019ll have your images converted to WebP. Some formats like ",(0,s.jsx)(n.code,{children:"svg"})," will not be converted, this is intended."]}),"\n",(0,s.jsx)(n.p,{children:"Please note that the original files will not be deleted and you\u2019ll have to add additional logic to your Image component for replacing the URLs."}),"\n",(0,s.jsx)(n.p,{children:"Here\u2019s a simple example how to do it:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-php",children:"// Check if webP is used from admin.\n$isWebPUsed = Components::isWebPMediaUsed();\n\n// If webP is used override the url for large.\nif ($isWebPUsed) {\n\t$sourceWebPLarge = Components::getWebPMedia($imageUrl['large'], Media::WEBP_ALLOWED_EXT);\n\n\tif ($sourceWebPLarge) {\n\t\t$imageUrl['large'] = $sourceWebPLarge['src'];\n\t}\n}\n"})}),"\n",(0,s.jsx)(n.h2,{id:"dynamic-cookies-for-wp-rocket",children:"Dynamic cookies for WP Rocket"}),"\n",(0,s.jsx)(n.p,{children:"This is quite useful when you have a GDPR plugin and you have to take the cookie value into consideration when serving the cached version of the site."}),"\n",(0,s.jsx)(n.p,{children:"To add the GDPR cookie to the list of dynamic cookies, create a new class called Rocket with the following WP-CLI command:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"wp boilerplate create service-example --folder=Plugins/Rocket --file_name=Rocket\n"})}),"\n",(0,s.jsx)(n.p,{children:"Add the following method to the Rocket class:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-php",children:"\t/**\n\t * List all dynamic cookies that will create new cached version.\n\t *\n\t * @param array<string> $items Items from the admin.\n\t *\n\t * @return array<string>\n\t */\n\tpublic function dynamicCookiesList(array $items): array\n\t{\n\t\t$items[] = 'gdpr';\n\n\t\treturn $items;\n\t}\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Finally, add the following filter to the ",(0,s.jsx)(n.code,{children:"register"})," method:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-php",children:"\\add_filter('rocket_cache_dynamic_cookies', [$this, 'dynamicCookiesList']);\n"})}),"\n",(0,s.jsx)(n.h2,{id:"yoast-seo-helper",children:"Yoast SEO helper"}),"\n",(0,s.jsx)(n.p,{children:"The content generated by Eightshift blocks may be difficult for Yoast SEO to interpret, but there is a Yoast SEO helper included in our DevKit that fixes the issue and makes the content readable to Yoast SEO. By default, Yoast SEO can't read the content from custom dynamic blocks, so this helper tells it how to parse the content from the blocks."}),"\n",(0,s.jsxs)(n.p,{children:["To enable this, you have to add the following in ",(0,s.jsx)(n.strong,{children:(0,s.jsx)(n.em,{children:"src/Blocks/assets/scripts/application-blocks-editor.js"})}),":"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",children:"import { yoastSeo } from '@eightshift/frontend-libs/scripts/plugins';\n\n// ...\n\nyoastSeo();\n"})}),"\n",(0,s.jsx)(n.h2,{id:"linters-and-coding-standards-checks",children:"Linters and Coding Standards checks"}),"\n",(0,s.jsx)(n.p,{children:"Eightshift DevKit includes coding standards checks that will help you improve your code quality."}),"\n",(0,s.jsx)(n.p,{children:"To run these commands, you have to be in the theme root folder. Here\u2019s the list:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"npm run lintStyle"})," - check your CSS files with StyleLint"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"npm run lintJs"})," - check your JS files with ESLint"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"composer test:standards"})," - check PHP coding standards errors with PHPCS"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"composer test:types"})," - runs PHPStan static code analysis"]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},59886:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/modify-admin-appearance-cc0e975f95d5dce4062cdeaf403a37d0.webp"},34564:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/webp-column-5f5ad6cace4b91fa19882b3060fda7b0.webp"},28453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>l});var s=t(96540);const i={},a=s.createContext(i);function o(e){const n=s.useContext(a);return s.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:o(e.components),s.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8962d52c.c8057e59.js b/assets/js/8962d52c.c8057e59.js new file mode 100644 index 000000000..3170eda93 --- /dev/null +++ b/assets/js/8962d52c.c8057e59.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[10454],{85763:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>l,toc:()=>c});var s=t(74848),i=t(28453);const a={title:"Tips & useful features",description:"Various tips and useful features for your project included in Eightshift DevKit.",slug:"tips-useful-features",authors:"obradovic",date:new Date("2024-02-29T00:00:00.000Z"),tags:["eightshift","boilerplate","blocks","plugins","colors","images","classes"],hide_table_of_contents:!1},o=void 0,l={permalink:"/blog/tips-useful-features",source:"@site/blog/2024-02-29-tips-useful-features.md",title:"Tips & useful features",description:"Various tips and useful features for your project included in Eightshift DevKit.",date:"2024-02-29T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"blocks",permalink:"/blog/tags/blocks"},{label:"plugins",permalink:"/blog/tags/plugins"},{label:"colors",permalink:"/blog/tags/colors"},{label:"images",permalink:"/blog/tags/images"},{label:"classes",permalink:"/blog/tags/classes"}],readingTime:5.665,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Tips & useful features",description:"Various tips and useful features for your project included in Eightshift DevKit.",slug:"tips-useful-features",authors:"obradovic",date:"2024-02-29T00:00:00.000Z",tags:["eightshift","boilerplate","blocks","plugins","colors","images","classes"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Using inner blocks",permalink:"/blog/using-inner-blocks"},nextItem:{title:"Making your project multilingual",permalink:"/blog/making-your-project-multilingual"}},r={authorsImageUrls:[void 0]},c=[{value:"Using only Eightshift blocks",id:"using-only-eightshift-blocks",level:2},{value:"ModifyAdminAppearance class",id:"modifyadminappearance-class",level:2},{value:"EscapedView class",id:"escapedview-class",level:2},{value:"Media class",id:"media-class",level:2},{value:"Automatic WebP conversion",id:"automatic-webp-conversion",level:2},{value:"Dynamic cookies for WP Rocket",id:"dynamic-cookies-for-wp-rocket",level:2},{value:"Yoast SEO helper",id:"yoast-seo-helper",level:2},{value:"Linters and Coding Standards checks",id:"linters-and-coding-standards-checks",level:2}];function d(e){const n={admonition:"admonition",code:"code",em:"em",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:"Eightshift DevKit has lots of features that can make your development experience easier. These are mostly minor features which can\u2019t be a blog post of its own, so they\u2019ll be listed here. This isn\u2019t a complete list, so there may be a part 2 in the future."}),"\n",(0,s.jsx)(n.h2,{id:"using-only-eightshift-blocks",children:"Using only Eightshift blocks"}),"\n",(0,s.jsxs)(n.p,{children:["If you want to remove the default Gutenberg blocks and use only Eightshift blocks, it\u2019s as easy as adding the following code in your ",(0,s.jsx)(n.strong,{children:(0,s.jsx)(n.em,{children:"src/Blocks/Blocks.php"})})," file:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-php",children:"// Limits the usage of only custom project blocks.\n\\add_filter('allowed_block_types_all', [$this, 'getAllBlocksList'], 10, 2);\n"})}),"\n",(0,s.jsx)(n.h2,{id:"modifyadminappearance-class",children:"ModifyAdminAppearance class"}),"\n",(0,s.jsxs)(n.p,{children:["When you have multiple environments (local, staging, production ...), you may accidentally change something on the wrong environment if you mix up your tabs. The ",(0,s.jsx)(n.code,{children:"ModifyAdminAppearance"})," class changes your WP Admin color scheme depending on the environment type defined with the ",(0,s.jsx)(n.code,{children:"WP_ENVIRONMENT_TYPE"})," constant. That way it\u2019s much easier to differentiate on which environment you are when you're in WP Admin."]}),"\n",(0,s.jsx)(n.p,{children:"Now when you get a call from the client asking you why the blog post they published isn\u2019t visible on the site, the first question you can ask is: \u201cWhat color is the admin area?\u201d \ud83d\ude04"}),"\n",(0,s.jsx)(n.p,{children:"To add it into your project, use the following WP-CLI command:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"wp boilerplate create modify-admin-appearance\n"})}),"\n",(0,s.jsxs)(n.p,{children:["After adding this class to your project, all you have to do is define the proper environment type in the ",(0,s.jsx)(n.code,{children:"WP_ENVIRONMENT_TYPE"})," constant in ",(0,s.jsx)(n.em,{children:(0,s.jsx)(n.strong,{children:"wp-config.php."})})]}),"\n",(0,s.jsx)(n.p,{children:"The supported values are:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"local"}),"\n",(0,s.jsx)(n.li,{children:"development"}),"\n",(0,s.jsx)(n.li,{children:"staging"}),"\n",(0,s.jsx)(n.li,{children:"production"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Different color schemes in WP Admin depending on the environment",src:t(59886).A+"",width:"1042",height:"562"})}),"\n",(0,s.jsxs)(n.p,{children:["If you want to change any of the colors, you can do so by modifying the values in ",(0,s.jsx)(n.code,{children:"COLOR_SCHEMES"})," array inside ",(0,s.jsx)(n.code,{children:"ModifyAdminAppearance"})," class. For the full list of available color schemes, you can navigate to ",(0,s.jsx)(n.strong,{children:(0,s.jsx)(n.em,{children:"wp-admin/css/colors"})}),". The subfolders here represent the color schemes you can use. For example, if you want to change production environment color scheme to ",(0,s.jsx)(n.code,{children:"coffee"}),", you would do it like this:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-php",children:"/**\n * List of admin color schemes.\n *\n * @var array<string, string>\n */\npublic const COLOR_SCHEMES = [\n\t'development' => 'fresh',\n\t'local' => 'fresh',\n\t'staging' => 'blue',\n\t'production' => 'coffee',\n];\n"})}),"\n",(0,s.jsx)(n.h2,{id:"escapedview-class",children:"EscapedView class"}),"\n",(0,s.jsx)(n.p,{children:"This class can be used to define which tags and attributes are escaped or allowed in your project. To add the class into your project, use the following WP-CLI command:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"wp boilerplate create escaped-view\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Here\u2019s an example how to define the allowed tags so ",(0,s.jsx)(n.code,{children:"wp_kses"})," doesn\u2019t remove them:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-php",children:"\t/**\n\t * Add tags to allowed HTML list.\n\t *\n\t * @param array<string, array<mixed>> $tags Allowed tags.\n\t *\n\t * @return array<string, array<mixed>>\n\t */\n\tpublic function ksesAllowedHtml($tags): array\n\t{\n\t\t$tags['source'] = [\n\t\t\t'src' => [],\n\t\t\t'type' => [],\n\t\t];\n\n\t\t$tags['video'] = [\n\t\t\t'muted' => [],\n\t\t\t'src' => [],\n\t\t\t'autoplay' => [],\n\t\t\t// ...\n\t\t];\n\n\t\t$tags['div']['data-*'] = true;\n\n\t\treturn \\array_merge(\n\t\t\t$tags,\n\t\t\tstatic::SVG,\n\t\t\tstatic::FORM,\n\t\t\tstatic::IFRAME\n\t\t);\n\t}\n"})}),"\n",(0,s.jsx)(n.admonition,{type:"caution",children:(0,s.jsx)(n.p,{children:"Please be wary of the attributes you allow, as this could expose your website to cross-site scripting (XSS) and similar attacks!"})}),"\n",(0,s.jsxs)(n.p,{children:["Don\u2019t forget to add this to the ",(0,s.jsx)(n.code,{children:"register"})," method:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-php",children:"\\add_filter('wp_kses_allowed_html', [$this, 'ksesAllowedHtml'], 20, 1);\n"})}),"\n",(0,s.jsx)(n.h2,{id:"media-class",children:"Media class"}),"\n",(0,s.jsx)(n.p,{children:"To add the Media class to your project, use the following WP-CLI command:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"wp boilerplate create media\n"})}),"\n",(0,s.jsx)(n.p,{children:"You can use the Media class to define new media sizes or allow uploads of the mime types that are not allowed by default."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-php",children:"\t/**\n\t * Allow additional types for uploads in media.\n\t *\n\t * @param array<string, string> $mimes Load all mimes types.\n\t *\n\t * @return array<string, string> Return original and updated.\n\t */\n\tpublic function enableMimeTypes(array $mimes): array\n\t{\n\t\t$mimes['svg'] = 'image/svg+xml';\n\t\t$mimes['zip'] = 'application/zip';\n\t\t$mimes['json'] = 'application/json';\n\n\t\treturn $mimes;\n\t}\n"})}),"\n",(0,s.jsx)(n.p,{children:"And register the filter:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-php",children:"\\add_filter('upload_mimes', [$this, 'enableMimeTypes']);\n"})}),"\n",(0,s.jsxs)(n.p,{children:["This class also supports converting your media into ",(0,s.jsx)(n.strong,{children:(0,s.jsx)(n.em,{children:"WebP"})})," format, but more on that below."]}),"\n",(0,s.jsx)(n.h2,{id:"automatic-webp-conversion",children:"Automatic WebP conversion"}),"\n",(0,s.jsx)(n.p,{children:"The WebP file format is becoming more and more popular, with its smaller file sizes and better compression, it is a preferred replacement for .jpg and .png formats. Eightshift DevKit supports converting your existing files to WebP format."}),"\n",(0,s.jsx)(n.p,{children:"If you already have the Media class in your project, you need to run this WP-CLI command:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"wp boilerplate create webp-media-column\n"})}),"\n",(0,s.jsxs)(n.p,{children:["This command will add a new column in your ",(0,s.jsx)(n.em,{children:(0,s.jsx)(n.strong,{children:"List view"})})," in Media Library that shows if the media is converted to WebP or not."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"WebP column in Media Library",src:t(34564).A+"",width:"2100",height:"834"})}),"\n",(0,s.jsx)(n.p,{children:"To enable and convert existing media to WebP, run the following commands:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"wp boilerplate run use-webp-media\nwp boilerplate run regenerate-media\n"})}),"\n",(0,s.jsxs)(n.p,{children:["After running these commands, you\u2019ll have your images converted to WebP. Some formats like ",(0,s.jsx)(n.code,{children:"svg"})," will not be converted, this is intended."]}),"\n",(0,s.jsx)(n.p,{children:"Please note that the original files will not be deleted and you\u2019ll have to add additional logic to your Image component for replacing the URLs."}),"\n",(0,s.jsx)(n.p,{children:"Here\u2019s a simple example how to do it:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-php",children:"// Check if webP is used from admin.\n$isWebPUsed = Components::isWebPMediaUsed();\n\n// If webP is used override the url for large.\nif ($isWebPUsed) {\n\t$sourceWebPLarge = Components::getWebPMedia($imageUrl['large'], Media::WEBP_ALLOWED_EXT);\n\n\tif ($sourceWebPLarge) {\n\t\t$imageUrl['large'] = $sourceWebPLarge['src'];\n\t}\n}\n"})}),"\n",(0,s.jsx)(n.h2,{id:"dynamic-cookies-for-wp-rocket",children:"Dynamic cookies for WP Rocket"}),"\n",(0,s.jsx)(n.p,{children:"This is quite useful when you have a GDPR plugin and you have to take the cookie value into consideration when serving the cached version of the site."}),"\n",(0,s.jsx)(n.p,{children:"To add the GDPR cookie to the list of dynamic cookies, create a new class called Rocket with the following WP-CLI command:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"wp boilerplate create service-example --folder=Plugins/Rocket --file_name=Rocket\n"})}),"\n",(0,s.jsx)(n.p,{children:"Add the following method to the Rocket class:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-php",children:"\t/**\n\t * List all dynamic cookies that will create new cached version.\n\t *\n\t * @param array<string> $items Items from the admin.\n\t *\n\t * @return array<string>\n\t */\n\tpublic function dynamicCookiesList(array $items): array\n\t{\n\t\t$items[] = 'gdpr';\n\n\t\treturn $items;\n\t}\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Finally, add the following filter to the ",(0,s.jsx)(n.code,{children:"register"})," method:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-php",children:"\\add_filter('rocket_cache_dynamic_cookies', [$this, 'dynamicCookiesList']);\n"})}),"\n",(0,s.jsx)(n.h2,{id:"yoast-seo-helper",children:"Yoast SEO helper"}),"\n",(0,s.jsx)(n.p,{children:"The content generated by Eightshift blocks may be difficult for Yoast SEO to interpret, but there is a Yoast SEO helper included in our DevKit that fixes the issue and makes the content readable to Yoast SEO. By default, Yoast SEO can't read the content from custom dynamic blocks, so this helper tells it how to parse the content from the blocks."}),"\n",(0,s.jsxs)(n.p,{children:["To enable this, you have to add the following in ",(0,s.jsx)(n.strong,{children:(0,s.jsx)(n.em,{children:"src/Blocks/assets/scripts/application-blocks-editor.js"})}),":"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",children:"import { yoastSeo } from '@eightshift/frontend-libs/scripts/plugins';\n\n// ...\n\nyoastSeo();\n"})}),"\n",(0,s.jsx)(n.h2,{id:"linters-and-coding-standards-checks",children:"Linters and Coding Standards checks"}),"\n",(0,s.jsx)(n.p,{children:"Eightshift DevKit includes coding standards checks that will help you improve your code quality."}),"\n",(0,s.jsx)(n.p,{children:"To run these commands, you have to be in the theme root folder. Here\u2019s the list:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"npm run lintStyle"})," - check your CSS files with StyleLint"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"npm run lintJs"})," - check your JS files with ESLint"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"composer test:standards"})," - check PHP coding standards errors with PHPCS"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"composer test:types"})," - runs PHPStan static code analysis"]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},59886:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/modify-admin-appearance-cc0e975f95d5dce4062cdeaf403a37d0.webp"},34564:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/webp-column-5f5ad6cace4b91fa19882b3060fda7b0.webp"},28453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>l});var s=t(96540);const i={},a=s.createContext(i);function o(e){const n=s.useContext(a);return s.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:o(e.components),s.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/89df0009.5a0f4240.js b/assets/js/89df0009.5a0f4240.js deleted file mode 100644 index 11983004b..000000000 --- a/assets/js/89df0009.5a0f4240.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[11405],{89324:s=>{s.exports=JSON.parse('{"label":"templates","permalink":"/blog/tags/templates","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/8b535be0.3c6ca3d5.js b/assets/js/8b535be0.3c6ca3d5.js deleted file mode 100644 index 5e87da947..000000000 --- a/assets/js/8b535be0.3c6ca3d5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[25123],{68276:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/inner-blocks","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/8b62c48f.bd4ab001.js b/assets/js/8b62c48f.bd4ab001.js deleted file mode 100644 index 01db1ffff..000000000 --- a/assets/js/8b62c48f.bd4ab001.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[87490],{79053:s=>{s.exports=JSON.parse('{"label":"acf","permalink":"/blog/tags/acf","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/8d063d8d.397b8d44.js b/assets/js/8d063d8d.397b8d44.js deleted file mode 100644 index 3f1a8e86a..000000000 --- a/assets/js/8d063d8d.397b8d44.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[52292],{23509:s=>{s.exports=JSON.parse('{"label":"inner blocks","permalink":"/blog/tags/inner-blocks","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/8e0a64cf.113b7e5e.js b/assets/js/8e0a64cf.113b7e5e.js deleted file mode 100644 index a92a17b13..000000000 --- a/assets/js/8e0a64cf.113b7e5e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[60574],{70202:s=>{s.exports=JSON.parse('{"label":"wpcli","permalink":"/blog/tags/wpcli","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/8e2e6ad6.387a5947.js b/assets/js/8e2e6ad6.387a5947.js deleted file mode 100644 index 67d454f64..000000000 --- a/assets/js/8e2e6ad6.387a5947.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[62996],{80606:s=>{s.exports=JSON.parse('{"label":"taxonomy","permalink":"/blog/tags/taxonomy","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/8eb4e46b.3d3a31a9.js b/assets/js/8eb4e46b.3d3a31a9.js deleted file mode 100644 index e2b5fe6a0..000000000 --- a/assets/js/8eb4e46b.3d3a31a9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[65767],{20541:t=>{t.exports=JSON.parse('{"permalink":"/blog/page/2","page":2,"postsPerPage":9,"totalPages":2,"totalCount":17,"previousPage":"/blog","blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.80fff279.js b/assets/js/935f2afb.80fff279.js deleted file mode 100644 index 1880fcd34..000000000 --- a/assets/js/935f2afb.80fff279.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[98581],{35610:s=>{s.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docs":[{"type":"category","label":"Getting Started","items":[{"type":"link","label":"Welcome","href":"/docs/welcome","docId":"welcome","unlisted":false},{"type":"link","label":"Eightshift Libs","href":"/docs/eightshift-libs","docId":"eightshift-libs","unlisted":false},{"type":"link","label":"Eightshift Frontend Libs","href":"/docs/eightshift-frontend-libs","docId":"eightshift-frontend-libs","unlisted":false},{"type":"link","label":"Requirements","href":"/docs/requirements","docId":"requirements","unlisted":false},{"type":"link","label":"Versions","href":"/docs/versions","docId":"versions","unlisted":false},{"type":"link","label":"Create New Theme","href":"/docs/theme","docId":"theme","unlisted":false},{"type":"link","label":"Create New Plugin","href":"/docs/plugin","docId":"plugin","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Basics","items":[{"type":"link","label":"Basics","href":"/docs/basics/basics-intro","docId":"basics/basics-intro","unlisted":false},{"type":"link","label":"WP-CLI","href":"/docs/basics/wp-cli","docId":"basics/wp-cli","unlisted":false},{"type":"link","label":"Architecture concepts","href":"/docs/basics/architecture-concepts","docId":"basics/architecture-concepts","unlisted":false},{"type":"category","label":"Backend","items":[{"type":"link","label":"General","href":"/docs/basics/backend","docId":"basics/backend","unlisted":false},{"type":"link","label":"Namespaces","href":"/docs/basics/namespaces","docId":"basics/namespaces","unlisted":false},{"type":"link","label":"Extending Classes","href":"/docs/basics/extending-classes","docId":"basics/extending-classes","unlisted":false},{"type":"link","label":"Autowiring","href":"/docs/basics/autowiring","docId":"basics/autowiring","unlisted":false},{"type":"link","label":"Example Class","href":"/docs/basics/example-class","docId":"basics/example-class","unlisted":false},{"type":"link","label":"Assets Manifest","href":"/docs/basics/manifest","docId":"basics/manifest","unlisted":false},{"type":"category","label":"Rest","items":[{"type":"link","label":"REST Intro","href":"/docs/basics/rest","docId":"basics/rest","unlisted":false},{"type":"link","label":"REST Field","href":"/docs/basics/rest-field","docId":"basics/rest-field","unlisted":false},{"type":"link","label":"REST Route","href":"/docs/basics/rest-route","docId":"basics/rest-route","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Frontend","items":[{"type":"link","label":"General","href":"/docs/basics/frontend","docId":"basics/frontend","unlisted":false},{"type":"link","label":"Webpack","href":"/docs/basics/webpack","docId":"basics/webpack","unlisted":false},{"type":"link","label":"SCSS Library","href":"/docs/basics/library","docId":"basics/library","unlisted":false},{"type":"link","label":"Global Settings","href":"/docs/basics/global-settings","docId":"basics/global-settings","unlisted":false},{"type":"link","label":"Writing Styles","href":"/docs/basics/writing-styles","docId":"basics/writing-styles","unlisted":false},{"type":"link","label":"Fonts","href":"/docs/basics/fonts","docId":"basics/fonts","unlisted":false},{"type":"link","label":"Browsersync","href":"/docs/basics/browser-sync","docId":"basics/browser-sync","unlisted":false},{"type":"link","label":"Dynamic Import","href":"/docs/basics/dynamic-import","docId":"basics/dynamic-import","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Blocks","items":[{"type":"link","label":"Blocks","href":"/docs/basics/blocks","docId":"basics/blocks","unlisted":false},{"type":"link","label":"Important","href":"/docs/basics/blocks-important","docId":"basics/blocks-important","unlisted":false},{"type":"link","label":"Faq","href":"/docs/basics/blocks-faq","docId":"basics/blocks-faq","unlisted":false},{"type":"link","label":"Registration","href":"/docs/basics/blocks-registration","docId":"basics/blocks-registration","unlisted":false},{"type":"link","label":"Structure","href":"/docs/basics/blocks-structure","docId":"basics/blocks-structure","unlisted":false},{"type":"link","label":"Global Manifest","href":"/docs/basics/blocks-global-manifest","docId":"basics/blocks-global-manifest","unlisted":false},{"type":"link","label":"Block Structure","href":"/docs/basics/block-structure","docId":"basics/block-structure","unlisted":false},{"type":"link","label":"Component Structure","href":"/docs/basics/blocks-component-structure","docId":"basics/blocks-component-structure","unlisted":false},{"type":"link","label":"Block Manifest","href":"/docs/basics/block-manifest","docId":"basics/block-manifest","unlisted":false},{"type":"link","label":"Component Manifest","href":"/docs/basics/blocks-component-manifest","docId":"basics/blocks-component-manifest","unlisted":false},{"type":"link","label":"Attributes","href":"/docs/basics/blocks-attributes","docId":"basics/blocks-attributes","unlisted":false},{"type":"link","label":"Component in a Block","href":"/docs/basics/blocks-component-in-block","docId":"basics/blocks-component-in-block","unlisted":false},{"type":"link","label":"Wrapper","href":"/docs/basics/blocks-wrapper","docId":"basics/blocks-wrapper","unlisted":false},{"type":"link","label":"Variations","href":"/docs/basics/blocks-variations","docId":"basics/blocks-variations","unlisted":false},{"type":"link","label":"Patterns","href":"/docs/basics/blocks-patterns","docId":"basics/blocks-patterns","unlisted":false},{"type":"link","label":"Transforms","href":"/docs/basics/blocks-transforms","docId":"basics/blocks-transforms","unlisted":false},{"type":"link","label":"Hooks","href":"/docs/basics/blocks-hooks","docId":"basics/blocks-hooks","unlisted":false},{"type":"link","label":"Special Use Cases","href":"/docs/basics/blocks-special-use-cases","docId":"basics/blocks-special-use-cases","unlisted":false},{"type":"link","label":"Reusable Blocks","href":"/docs/basics/blocks-reusable","docId":"basics/blocks-reusable","unlisted":false},{"type":"link","label":"Styles","href":"/docs/basics/blocks-styles","docId":"basics/blocks-styles","unlisted":false},{"type":"link","label":"Storybook","href":"/docs/basics/blocks-storybook","docId":"basics/blocks-storybook","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Helpers","items":[{"type":"link","label":"Helpers","href":"/docs/basics/helpers","docId":"basics/helpers","unlisted":false},{"type":"link","label":"JavaScript","href":"/docs/basics/helpers-javascript","docId":"basics/helpers-javascript","unlisted":false},{"type":"link","label":"Scss","href":"/docs/basics/helpers-scss","docId":"basics/helpers-scss","unlisted":false},{"type":"link","label":"PHP","href":"/docs/basics/helpers-php","docId":"basics/helpers-php","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","label":"Tips & Tricks","href":"/docs/basics/tips-tricks","docId":"basics/tips-tricks","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Tutorials","items":[{"type":"link","label":"Intro","href":"/docs/tutorials/intro","docId":"tutorials/intro","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Migrations","items":[{"type":"link","label":"Version 10 to 11","href":"/docs/migrations/10-11","docId":"migrations/10-11","unlisted":false},{"type":"link","label":"Version 9 to 10","href":"/docs/migrations/9-10","docId":"migrations/9-10","unlisted":false},{"type":"link","label":"Version 8 to 9","href":"/docs/migrations/8-9","docId":"migrations/8-9","unlisted":false},{"type":"link","label":"Version 7 to 8","href":"/docs/migrations/7-8","docId":"migrations/7-8","unlisted":false},{"type":"link","label":"Version 6 to 7","href":"/docs/migrations/6-7","docId":"migrations/6-7","unlisted":false},{"type":"link","label":"Version 5 to 6","href":"/docs/migrations/5-6","docId":"migrations/5-6","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Additional Libraries","items":[{"type":"link","label":"Eightshift Boilerplate","href":"/docs/additional-libraries/boilerplate","docId":"additional-libraries/boilerplate","unlisted":false},{"type":"link","label":"Eightshift Boilerplate Plugin","href":"/docs/additional-libraries/boilerplate-plugin","docId":"additional-libraries/boilerplate-plugin","unlisted":false},{"type":"link","label":"Eightshift Frontend Libs","href":"/docs/additional-libraries/frontend-libs","docId":"additional-libraries/frontend-libs","unlisted":false},{"type":"link","label":"Eightshift Libs","href":"/docs/additional-libraries/libs","docId":"additional-libraries/libs","unlisted":false},{"type":"link","label":"Eightshift Forms","href":"/docs/additional-libraries/forms","docId":"additional-libraries/forms","unlisted":false},{"type":"link","label":"Eightshift Docs","href":"/docs/additional-libraries/docs","docId":"additional-libraries/docs","unlisted":false},{"type":"link","label":"Eightshift Coding Standards","href":"/docs/additional-libraries/coding-standards","docId":"additional-libraries/coding-standards","unlisted":false},{"type":"link","label":"Eightshift Storybook","href":"/docs/additional-libraries/storybook","docId":"additional-libraries/storybook","unlisted":false},{"type":"link","label":"Eightshift Libs Stubs","href":"/docs/additional-libraries/stubs","docId":"additional-libraries/stubs","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Legacy","items":[{"type":"category","label":"v8","items":[{"type":"link","label":"Versions","href":"/docs/legacy/v8/versions","docId":"legacy/v8/versions","unlisted":false},{"type":"category","label":"Basics","items":[{"type":"link","label":"Basics","href":"/docs/legacy/v8/basics/basics-intro","docId":"legacy/v8/basics/basics-intro","unlisted":false},{"type":"link","label":"WP-CLI","href":"/docs/legacy/v8/basics/wp-cli","docId":"legacy/v8/basics/wp-cli","unlisted":false},{"type":"link","label":"Architecture concepts","href":"/docs/legacy/v8/basics/architecture-concepts","docId":"legacy/v8/basics/architecture-concepts","unlisted":false},{"type":"category","label":"Backend","items":[{"type":"link","label":"General","href":"/docs/legacy/v8/basics/backend","docId":"legacy/v8/basics/backend","unlisted":false},{"type":"link","label":"Namespaces","href":"/docs/legacy/v8/basics/namespaces","docId":"legacy/v8/basics/namespaces","unlisted":false},{"type":"link","label":"Extending Classes","href":"/docs/legacy/v8/basics/extending-classes","docId":"legacy/v8/basics/extending-classes","unlisted":false},{"type":"link","label":"Autowiring","href":"/docs/legacy/v8/basics/autowiring","docId":"legacy/v8/basics/autowiring","unlisted":false},{"type":"link","label":"Example Class","href":"/docs/legacy/v8/basics/example-class","docId":"legacy/v8/basics/example-class","unlisted":false},{"type":"link","label":"Assets Manifest","href":"/docs/legacy/v8/basics/manifest","docId":"legacy/v8/basics/manifest","unlisted":false},{"type":"category","label":"Rest","items":[{"type":"link","label":"REST Intro","href":"/docs/legacy/v8/basics/rest","docId":"legacy/v8/basics/rest","unlisted":false},{"type":"link","label":"REST Field","href":"/docs/legacy/v8/basics/rest-field","docId":"legacy/v8/basics/rest-field","unlisted":false},{"type":"link","label":"REST Route","href":"/docs/legacy/v8/basics/rest-route","docId":"legacy/v8/basics/rest-route","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Frontend","items":[{"type":"link","label":"General","href":"/docs/legacy/v8/basics/frontend","docId":"legacy/v8/basics/frontend","unlisted":false},{"type":"link","label":"Webpack","href":"/docs/legacy/v8/basics/webpack","docId":"legacy/v8/basics/webpack","unlisted":false},{"type":"link","label":"SCSS Library","href":"/docs/legacy/v8/basics/library","docId":"legacy/v8/basics/library","unlisted":false},{"type":"link","label":"Global Settings","href":"/docs/legacy/v8/basics/global-settings","docId":"legacy/v8/basics/global-settings","unlisted":false},{"type":"link","label":"Writing Styles","href":"/docs/legacy/v8/basics/writing-styles","docId":"legacy/v8/basics/writing-styles","unlisted":false},{"type":"link","label":"Fonts","href":"/docs/legacy/v8/basics/fonts","docId":"legacy/v8/basics/fonts","unlisted":false},{"type":"link","label":"Browsersync","href":"/docs/legacy/v8/basics/browser-sync","docId":"legacy/v8/basics/browser-sync","unlisted":false},{"type":"link","label":"Dynamic Import","href":"/docs/legacy/v8/basics/dynamic-import","docId":"legacy/v8/basics/dynamic-import","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Blocks","items":[{"type":"link","label":"Blocks","href":"/docs/legacy/v8/basics/blocks","docId":"legacy/v8/basics/blocks","unlisted":false},{"type":"link","label":"Important","href":"/docs/legacy/v8/basics/blocks-important","docId":"legacy/v8/basics/blocks-important","unlisted":false},{"type":"link","label":"Faq","href":"/docs/legacy/v8/basics/blocks-faq","docId":"legacy/v8/basics/blocks-faq","unlisted":false},{"type":"link","label":"Registration","href":"/docs/legacy/v8/basics/blocks-registration","docId":"legacy/v8/basics/blocks-registration","unlisted":false},{"type":"link","label":"Structure","href":"/docs/legacy/v8/basics/blocks-structure","docId":"legacy/v8/basics/blocks-structure","unlisted":false},{"type":"link","label":"Global Manifest","href":"/docs/legacy/v8/basics/blocks-global-manifest","docId":"legacy/v8/basics/blocks-global-manifest","unlisted":false},{"type":"link","label":"Block Structure","href":"/docs/legacy/v8/basics/block-structure","docId":"legacy/v8/basics/block-structure","unlisted":false},{"type":"link","label":"Component Structure","href":"/docs/legacy/v8/basics/blocks-component-structure","docId":"legacy/v8/basics/blocks-component-structure","unlisted":false},{"type":"link","label":"Block Manifest","href":"/docs/legacy/v8/basics/block-manifest","docId":"legacy/v8/basics/block-manifest","unlisted":false},{"type":"link","label":"Component Manifest","href":"/docs/legacy/v8/basics/blocks-component-manifest","docId":"legacy/v8/basics/blocks-component-manifest","unlisted":false},{"type":"link","label":"Attributes","href":"/docs/legacy/v8/basics/blocks-attributes","docId":"legacy/v8/basics/blocks-attributes","unlisted":false},{"type":"link","label":"Component in a Block","href":"/docs/legacy/v8/basics/blocks-component-in-block","docId":"legacy/v8/basics/blocks-component-in-block","unlisted":false},{"type":"link","label":"Wrapper","href":"/docs/legacy/v8/basics/blocks-wrapper","docId":"legacy/v8/basics/blocks-wrapper","unlisted":false},{"type":"link","label":"Variations","href":"/docs/legacy/v8/basics/blocks-variations","docId":"legacy/v8/basics/blocks-variations","unlisted":false},{"type":"link","label":"Patterns","href":"/docs/legacy/v8/basics/blocks-patterns","docId":"legacy/v8/basics/blocks-patterns","unlisted":false},{"type":"link","label":"Transforms","href":"/docs/legacy/v8/basics/blocks-transforms","docId":"legacy/v8/basics/blocks-transforms","unlisted":false},{"type":"link","label":"Hooks","href":"/docs/legacy/v8/basics/blocks-hooks","docId":"legacy/v8/basics/blocks-hooks","unlisted":false},{"type":"link","label":"Special Use Cases","href":"/docs/legacy/v8/basics/blocks-special-use-cases","docId":"legacy/v8/basics/blocks-special-use-cases","unlisted":false},{"type":"link","label":"Reusable Blocks","href":"/docs/legacy/v8/basics/blocks-reusable","docId":"legacy/v8/basics/blocks-reusable","unlisted":false},{"type":"link","label":"Styles","href":"/docs/legacy/v8/basics/blocks-styles","docId":"legacy/v8/basics/blocks-styles","unlisted":false},{"type":"link","label":"Storybook","href":"/docs/legacy/v8/basics/blocks-storybook","docId":"legacy/v8/basics/blocks-storybook","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Helpers","items":[{"type":"link","label":"Helpers","href":"/docs/legacy/v8/basics/helpers","docId":"legacy/v8/basics/helpers","unlisted":false},{"type":"link","label":"JavaScript","href":"/docs/legacy/v8/basics/helpers-javascript","docId":"legacy/v8/basics/helpers-javascript","unlisted":false},{"type":"link","label":"Scss","href":"/docs/legacy/v8/basics/helpers-scss","docId":"legacy/v8/basics/helpers-scss","unlisted":false},{"type":"link","label":"PHP","href":"/docs/legacy/v8/basics/helpers-php","docId":"legacy/v8/basics/helpers-php","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","label":"Tips & Tricks","href":"/docs/legacy/v8/basics/tips-tricks","docId":"legacy/v8/basics/tips-tricks","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"v7","items":[{"type":"link","label":"Versions","href":"/docs/legacy/v7/versions","docId":"legacy/v7/versions","unlisted":false},{"type":"category","label":"Basics","items":[{"type":"link","label":"Basics","href":"/docs/legacy/v7/basics/basics-intro","docId":"legacy/v7/basics/basics-intro","unlisted":false},{"type":"link","label":"WP-CLI","href":"/docs/legacy/v7/basics/wp-cli","docId":"legacy/v7/basics/wp-cli","unlisted":false},{"type":"link","label":"Architecture concepts","href":"/docs/legacy/v7/basics/architecture-concepts","docId":"legacy/v7/basics/architecture-concepts","unlisted":false},{"type":"category","label":"Backend","items":[{"type":"link","label":"General","href":"/docs/legacy/v7/basics/backend","docId":"legacy/v7/basics/backend","unlisted":false},{"type":"link","label":"Namespaces","href":"/docs/legacy/v7/basics/namespaces","docId":"legacy/v7/basics/namespaces","unlisted":false},{"type":"link","label":"Extending Classes","href":"/docs/legacy/v7/basics/extending-classes","docId":"legacy/v7/basics/extending-classes","unlisted":false},{"type":"link","label":"Autowiring","href":"/docs/legacy/v7/basics/autowiring","docId":"legacy/v7/basics/autowiring","unlisted":false},{"type":"link","label":"Example Class","href":"/docs/legacy/v7/basics/example-class","docId":"legacy/v7/basics/example-class","unlisted":false},{"type":"link","label":"Assets Manifest","href":"/docs/legacy/v7/basics/manifest","docId":"legacy/v7/basics/manifest","unlisted":false},{"type":"category","label":"Rest","items":[{"type":"link","label":"REST Intro","href":"/docs/legacy/v7/basics/rest","docId":"legacy/v7/basics/rest","unlisted":false},{"type":"link","label":"REST Field","href":"/docs/legacy/v7/basics/rest-field","docId":"legacy/v7/basics/rest-field","unlisted":false},{"type":"link","label":"REST Route","href":"/docs/legacy/v7/basics/rest-route","docId":"legacy/v7/basics/rest-route","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Frontend","items":[{"type":"link","label":"General","href":"/docs/legacy/v7/basics/frontend","docId":"legacy/v7/basics/frontend","unlisted":false},{"type":"link","label":"Webpack","href":"/docs/legacy/v7/basics/webpack","docId":"legacy/v7/basics/webpack","unlisted":false},{"type":"link","label":"SCSS Library","href":"/docs/legacy/v7/basics/library","docId":"legacy/v7/basics/library","unlisted":false},{"type":"link","label":"Global Settings","href":"/docs/legacy/v7/basics/global-settings","docId":"legacy/v7/basics/global-settings","unlisted":false},{"type":"link","label":"Writing Styles","href":"/docs/legacy/v7/basics/writing-styles","docId":"legacy/v7/basics/writing-styles","unlisted":false},{"type":"link","label":"Fonts","href":"/docs/legacy/v7/basics/fonts","docId":"legacy/v7/basics/fonts","unlisted":false},{"type":"link","label":"Browsersync","href":"/docs/legacy/v7/basics/browser-sync","docId":"legacy/v7/basics/browser-sync","unlisted":false},{"type":"link","label":"Dynamic Import","href":"/docs/legacy/v7/basics/dynamic-import","docId":"legacy/v7/basics/dynamic-import","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Blocks","items":[{"type":"link","label":"Blocks","href":"/docs/legacy/v7/basics/blocks","docId":"legacy/v7/basics/blocks","unlisted":false},{"type":"link","label":"Important","href":"/docs/legacy/v7/basics/blocks-important","docId":"legacy/v7/basics/blocks-important","unlisted":false},{"type":"link","label":"Faq","href":"/docs/legacy/v7/basics/blocks-faq","docId":"legacy/v7/basics/blocks-faq","unlisted":false},{"type":"link","label":"Registration","href":"/docs/legacy/v7/basics/blocks-registration","docId":"legacy/v7/basics/blocks-registration","unlisted":false},{"type":"link","label":"Structure","href":"/docs/legacy/v7/basics/blocks-structure","docId":"legacy/v7/basics/blocks-structure","unlisted":false},{"type":"link","label":"Global Manifest","href":"/docs/legacy/v7/basics/blocks-global-manifest","docId":"legacy/v7/basics/blocks-global-manifest","unlisted":false},{"type":"link","label":"Block Structure","href":"/docs/legacy/v7/basics/block-structure","docId":"legacy/v7/basics/block-structure","unlisted":false},{"type":"link","label":"Component Structure","href":"/docs/legacy/v7/basics/blocks-component-structure","docId":"legacy/v7/basics/blocks-component-structure","unlisted":false},{"type":"link","label":"Block Manifest","href":"/docs/legacy/v7/basics/block-manifest","docId":"legacy/v7/basics/block-manifest","unlisted":false},{"type":"link","label":"Component Manifest","href":"/docs/legacy/v7/basics/blocks-component-manifest","docId":"legacy/v7/basics/blocks-component-manifest","unlisted":false},{"type":"link","label":"Attributes","href":"/docs/legacy/v7/basics/blocks-attributes","docId":"legacy/v7/basics/blocks-attributes","unlisted":false},{"type":"link","label":"Component in a Block","href":"/docs/legacy/v7/basics/blocks-component-in-block","docId":"legacy/v7/basics/blocks-component-in-block","unlisted":false},{"type":"link","label":"Wrapper","href":"/docs/legacy/v7/basics/blocks-wrapper","docId":"legacy/v7/basics/blocks-wrapper","unlisted":false},{"type":"link","label":"Variations","href":"/docs/legacy/v7/basics/blocks-variations","docId":"legacy/v7/basics/blocks-variations","unlisted":false},{"type":"link","label":"Patterns","href":"/docs/legacy/v7/basics/blocks-patterns","docId":"legacy/v7/basics/blocks-patterns","unlisted":false},{"type":"link","label":"Transforms","href":"/docs/legacy/v7/basics/blocks-transforms","docId":"legacy/v7/basics/blocks-transforms","unlisted":false},{"type":"link","label":"Hooks","href":"/docs/legacy/v7/basics/blocks-hooks","docId":"legacy/v7/basics/blocks-hooks","unlisted":false},{"type":"link","label":"Special Use Cases","href":"/docs/legacy/v7/basics/blocks-special-use-cases","docId":"legacy/v7/basics/blocks-special-use-cases","unlisted":false},{"type":"link","label":"Reusable Blocks","href":"/docs/legacy/v7/basics/blocks-reusable","docId":"legacy/v7/basics/blocks-reusable","unlisted":false},{"type":"link","label":"Styles","href":"/docs/legacy/v7/basics/blocks-styles","docId":"legacy/v7/basics/blocks-styles","unlisted":false},{"type":"link","label":"Storybook","href":"/docs/legacy/v7/basics/blocks-storybook","docId":"legacy/v7/basics/blocks-storybook","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Helpers","items":[{"type":"link","label":"Helpers","href":"/docs/legacy/v7/basics/helpers","docId":"legacy/v7/basics/helpers","unlisted":false},{"type":"link","label":"JavaScript","href":"/docs/legacy/v7/basics/helpers-javascript","docId":"legacy/v7/basics/helpers-javascript","unlisted":false},{"type":"link","label":"Scss","href":"/docs/legacy/v7/basics/helpers-scss","docId":"legacy/v7/basics/helpers-scss","unlisted":false},{"type":"link","label":"PHP","href":"/docs/legacy/v7/basics/helpers-php","docId":"legacy/v7/basics/helpers-php","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","label":"Tips & Tricks","href":"/docs/legacy/v7/basics/tips-tricks","docId":"legacy/v7/basics/tips-tricks","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"v6","items":[{"type":"link","label":"Versions","href":"/docs/legacy/v6/versions","docId":"legacy/v6/versions","unlisted":false},{"type":"category","label":"Basics","items":[{"type":"link","label":"Basics","href":"/docs/legacy/v6/basics/basics-intro","docId":"legacy/v6/basics/basics-intro","unlisted":false},{"type":"link","label":"WP-CLI","href":"/docs/legacy/v6/basics/wp-cli","docId":"legacy/v6/basics/wp-cli","unlisted":false},{"type":"link","label":"Architecture concepts","href":"/docs/legacy/v6/basics/architecture-concepts","docId":"legacy/v6/basics/architecture-concepts","unlisted":false},{"type":"category","label":"Backend","items":[{"type":"link","label":"General","href":"/docs/legacy/v6/basics/backend","docId":"legacy/v6/basics/backend","unlisted":false},{"type":"link","label":"Namespaces","href":"/docs/legacy/v6/basics/namespaces","docId":"legacy/v6/basics/namespaces","unlisted":false},{"type":"link","label":"Extending Classes","href":"/docs/legacy/v6/basics/extending-classes","docId":"legacy/v6/basics/extending-classes","unlisted":false},{"type":"link","label":"Autowiring","href":"/docs/legacy/v6/basics/autowiring","docId":"legacy/v6/basics/autowiring","unlisted":false},{"type":"link","label":"Example Class","href":"/docs/legacy/v6/basics/example-class","docId":"legacy/v6/basics/example-class","unlisted":false},{"type":"link","label":"Assets Manifest","href":"/docs/legacy/v6/basics/manifest","docId":"legacy/v6/basics/manifest","unlisted":false},{"type":"category","label":"Rest","items":[{"type":"link","label":"REST Intro","href":"/docs/legacy/v6/basics/rest","docId":"legacy/v6/basics/rest","unlisted":false},{"type":"link","label":"REST Field","href":"/docs/legacy/v6/basics/rest-field","docId":"legacy/v6/basics/rest-field","unlisted":false},{"type":"link","label":"REST Route","href":"/docs/legacy/v6/basics/rest-route","docId":"legacy/v6/basics/rest-route","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Frontend","items":[{"type":"link","label":"General","href":"/docs/legacy/v6/basics/frontend","docId":"legacy/v6/basics/frontend","unlisted":false},{"type":"link","label":"Webpack","href":"/docs/legacy/v6/basics/webpack","docId":"legacy/v6/basics/webpack","unlisted":false},{"type":"link","label":"SCSS Library","href":"/docs/legacy/v6/basics/library","docId":"legacy/v6/basics/library","unlisted":false},{"type":"link","label":"Global Settings","href":"/docs/legacy/v6/basics/global-settings","docId":"legacy/v6/basics/global-settings","unlisted":false},{"type":"link","label":"Writing Styles","href":"/docs/legacy/v6/basics/writing-styles","docId":"legacy/v6/basics/writing-styles","unlisted":false},{"type":"link","label":"Fonts","href":"/docs/legacy/v6/basics/fonts","docId":"legacy/v6/basics/fonts","unlisted":false},{"type":"link","label":"Browsersync","href":"/docs/legacy/v6/basics/browser-sync","docId":"legacy/v6/basics/browser-sync","unlisted":false},{"type":"link","label":"Dynamic Import","href":"/docs/legacy/v6/basics/dynamic-import","docId":"legacy/v6/basics/dynamic-import","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Blocks","items":[{"type":"link","label":"Blocks","href":"/docs/legacy/v6/basics/blocks","docId":"legacy/v6/basics/blocks","unlisted":false},{"type":"link","label":"Important","href":"/docs/legacy/v6/basics/blocks-important","docId":"legacy/v6/basics/blocks-important","unlisted":false},{"type":"link","label":"Faq","href":"/docs/legacy/v6/basics/blocks-faq","docId":"legacy/v6/basics/blocks-faq","unlisted":false},{"type":"link","label":"Registration","href":"/docs/legacy/v6/basics/blocks-registration","docId":"legacy/v6/basics/blocks-registration","unlisted":false},{"type":"link","label":"Structure","href":"/docs/legacy/v6/basics/blocks-structure","docId":"legacy/v6/basics/blocks-structure","unlisted":false},{"type":"link","label":"Global Manifest","href":"/docs/legacy/v6/basics/blocks-global-manifest","docId":"legacy/v6/basics/blocks-global-manifest","unlisted":false},{"type":"link","label":"Block Structure","href":"/docs/legacy/v6/basics/block-structure","docId":"legacy/v6/basics/block-structure","unlisted":false},{"type":"link","label":"Component Structure","href":"/docs/legacy/v6/basics/blocks-component-structure","docId":"legacy/v6/basics/blocks-component-structure","unlisted":false},{"type":"link","label":"Block Manifest","href":"/docs/legacy/v6/basics/block-manifest","docId":"legacy/v6/basics/block-manifest","unlisted":false},{"type":"link","label":"Component Manifest","href":"/docs/legacy/v6/basics/blocks-component-manifest","docId":"legacy/v6/basics/blocks-component-manifest","unlisted":false},{"type":"link","label":"Attributes","href":"/docs/legacy/v6/basics/blocks-attributes","docId":"legacy/v6/basics/blocks-attributes","unlisted":false},{"type":"link","label":"Component in a Block","href":"/docs/legacy/v6/basics/blocks-component-in-block","docId":"legacy/v6/basics/blocks-component-in-block","unlisted":false},{"type":"link","label":"Wrapper","href":"/docs/legacy/v6/basics/blocks-wrapper","docId":"legacy/v6/basics/blocks-wrapper","unlisted":false},{"type":"link","label":"Variations","href":"/docs/legacy/v6/basics/blocks-variations","docId":"legacy/v6/basics/blocks-variations","unlisted":false},{"type":"link","label":"Patterns","href":"/docs/legacy/v6/basics/blocks-patterns","docId":"legacy/v6/basics/blocks-patterns","unlisted":false},{"type":"link","label":"Transforms","href":"/docs/legacy/v6/basics/blocks-transforms","docId":"legacy/v6/basics/blocks-transforms","unlisted":false},{"type":"link","label":"Hooks","href":"/docs/legacy/v6/basics/blocks-hooks","docId":"legacy/v6/basics/blocks-hooks","unlisted":false},{"type":"link","label":"Special Use Cases","href":"/docs/legacy/v6/basics/blocks-special-use-cases","docId":"legacy/v6/basics/blocks-special-use-cases","unlisted":false},{"type":"link","label":"Reusable Blocks","href":"/docs/legacy/v6/basics/blocks-reusable","docId":"legacy/v6/basics/blocks-reusable","unlisted":false},{"type":"link","label":"Styles","href":"/docs/legacy/v6/basics/blocks-styles","docId":"legacy/v6/basics/blocks-styles","unlisted":false},{"type":"link","label":"Storybook","href":"/docs/legacy/v6/basics/blocks-storybook","docId":"legacy/v6/basics/blocks-storybook","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Helpers","items":[{"type":"link","label":"Helpers","href":"/docs/legacy/v6/basics/helpers","docId":"legacy/v6/basics/helpers","unlisted":false},{"type":"link","label":"JavaScript","href":"/docs/legacy/v6/basics/helpers-javascript","docId":"legacy/v6/basics/helpers-javascript","unlisted":false},{"type":"link","label":"Scss","href":"/docs/legacy/v6/basics/helpers-scss","docId":"legacy/v6/basics/helpers-scss","unlisted":false},{"type":"link","label":"PHP","href":"/docs/legacy/v6/basics/helpers-php","docId":"legacy/v6/basics/helpers-php","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","label":"Tips & Tricks","href":"/docs/legacy/v6/basics/tips-tricks","docId":"legacy/v6/basics/tips-tricks","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"v5","items":[{"type":"link","label":"Versions","href":"/docs/legacy/v5/versions","docId":"legacy/v5/versions","unlisted":false},{"type":"category","label":"Basics","items":[{"type":"link","label":"Basics","href":"/docs/legacy/v5/basics/basics-intro","docId":"legacy/v5/basics/basics-intro","unlisted":false},{"type":"link","label":"WP-CLI","href":"/docs/legacy/v5/basics/wp-cli","docId":"legacy/v5/basics/wp-cli","unlisted":false},{"type":"category","label":"Backend Stuff","items":[{"type":"link","label":"Backend","href":"/docs/legacy/v5/basics/backend","docId":"legacy/v5/basics/backend","unlisted":false},{"type":"link","label":"Namespaces","href":"/docs/legacy/v5/basics/namespaces","docId":"legacy/v5/basics/namespaces","unlisted":false},{"type":"link","label":"Extending Classes","href":"/docs/legacy/v5/basics/extending-classes","docId":"legacy/v5/basics/extending-classes","unlisted":false},{"type":"link","label":"Autowiring","href":"/docs/legacy/v5/basics/autowiring","docId":"legacy/v5/basics/autowiring","unlisted":false},{"type":"link","label":"Example Class","href":"/docs/legacy/v5/basics/example-class","docId":"legacy/v5/basics/example-class","unlisted":false},{"type":"link","label":"The Structure","href":"/docs/legacy/v5/basics/the-structure","docId":"legacy/v5/basics/the-structure","unlisted":false},{"type":"link","label":"Manifest","href":"/docs/legacy/v5/basics/manifest","docId":"legacy/v5/basics/manifest","unlisted":false},{"type":"category","label":"Rest","items":[{"type":"link","label":"Rest Intro","href":"/docs/legacy/v5/basics/rest","docId":"legacy/v5/basics/rest","unlisted":false},{"type":"link","label":"Rest Field","href":"/docs/legacy/v5/basics/rest-field","docId":"legacy/v5/basics/rest-field","unlisted":false},{"type":"link","label":"Rest Route","href":"/docs/legacy/v5/basics/rest-route","docId":"legacy/v5/basics/rest-route","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Frontend Stuff","items":[{"type":"link","label":"Front End","href":"/docs/legacy/v5/basics/frontend","docId":"legacy/v5/basics/frontend","unlisted":false},{"type":"link","label":"Webpack","href":"/docs/legacy/v5/basics/webpack","docId":"legacy/v5/basics/webpack","unlisted":false},{"type":"link","label":"Library","href":"/docs/legacy/v5/basics/library","docId":"legacy/v5/basics/library","unlisted":false},{"type":"link","label":"Global Settings","href":"/docs/legacy/v5/basics/global-settings","docId":"legacy/v5/basics/global-settings","unlisted":false},{"type":"link","label":"Writing Styles","href":"/docs/legacy/v5/basics/writing-styles","docId":"legacy/v5/basics/writing-styles","unlisted":false},{"type":"link","label":"Fonts","href":"/docs/legacy/v5/basics/fonts","docId":"legacy/v5/basics/fonts","unlisted":false},{"type":"link","label":"Browser Sync","href":"/docs/legacy/v5/basics/browser-sync","docId":"legacy/v5/basics/browser-sync","unlisted":false},{"type":"link","label":"Dynamic Import","href":"/docs/legacy/v5/basics/dynamic-import","docId":"legacy/v5/basics/dynamic-import","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Blocks","items":[{"type":"link","label":"Blocks","href":"/docs/legacy/v5/basics/blocks","docId":"legacy/v5/basics/blocks","unlisted":false},{"type":"link","label":"Important","href":"/docs/legacy/v5/basics/blocks-important","docId":"legacy/v5/basics/blocks-important","unlisted":false},{"type":"link","label":"Intro","href":"/docs/legacy/v5/basics/blocks-intro","docId":"legacy/v5/basics/blocks-intro","unlisted":false},{"type":"link","label":"Registration","href":"/docs/legacy/v5/basics/blocks-registration","docId":"legacy/v5/basics/blocks-registration","unlisted":false},{"type":"link","label":"Structure","href":"/docs/legacy/v5/basics/blocks-structure","docId":"legacy/v5/basics/blocks-structure","unlisted":false},{"type":"link","label":"Global Manifest","href":"/docs/legacy/v5/basics/blocks-global-manifest","docId":"legacy/v5/basics/blocks-global-manifest","unlisted":false},{"type":"link","label":"Block Structure","href":"/docs/legacy/v5/basics/block-structure","docId":"legacy/v5/basics/block-structure","unlisted":false},{"type":"link","label":"Component Structure","href":"/docs/legacy/v5/basics/blocks-component-structure","docId":"legacy/v5/basics/blocks-component-structure","unlisted":false},{"type":"link","label":"Block Manifest","href":"/docs/legacy/v5/basics/block-manifest","docId":"legacy/v5/basics/block-manifest","unlisted":false},{"type":"link","label":"Component Manifest","href":"/docs/legacy/v5/basics/blocks-component-manifest","docId":"legacy/v5/basics/blocks-component-manifest","unlisted":false},{"type":"link","label":"Attributes","href":"/docs/legacy/v5/basics/blocks-attributes","docId":"legacy/v5/basics/blocks-attributes","unlisted":false},{"type":"link","label":"Component in a Block","href":"/docs/legacy/v5/basics/blocks-component-in-block","docId":"legacy/v5/basics/blocks-component-in-block","unlisted":false},{"type":"link","label":"Wrapper","href":"/docs/legacy/v5/basics/blocks-wrapper","docId":"legacy/v5/basics/blocks-wrapper","unlisted":false},{"type":"link","label":"Variations","href":"/docs/legacy/v5/basics/blocks-variations","docId":"legacy/v5/basics/blocks-variations","unlisted":false},{"type":"link","label":"Patterns","href":"/docs/legacy/v5/basics/blocks-patterns","docId":"legacy/v5/basics/blocks-patterns","unlisted":false},{"type":"link","label":"Transforms","href":"/docs/legacy/v5/basics/blocks-transforms","docId":"legacy/v5/basics/blocks-transforms","unlisted":false},{"type":"link","label":"Hooks","href":"/docs/legacy/v5/basics/blocks-hooks","docId":"legacy/v5/basics/blocks-hooks","unlisted":false},{"type":"link","label":"Special Use Cases","href":"/docs/legacy/v5/basics/blocks-special-use-cases","docId":"legacy/v5/basics/blocks-special-use-cases","unlisted":false},{"type":"link","label":"Reusable Blocks","href":"/docs/legacy/v5/basics/blocks-reusable","docId":"legacy/v5/basics/blocks-reusable","unlisted":false},{"type":"link","label":"Styles","href":"/docs/legacy/v5/basics/blocks-styles","docId":"legacy/v5/basics/blocks-styles","unlisted":false},{"type":"link","label":"Storybook","href":"/docs/legacy/v5/basics/blocks-storybook","docId":"legacy/v5/basics/blocks-storybook","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Helpers","items":[{"type":"link","label":"Helpers","href":"/docs/legacy/v5/basics/helpers","docId":"legacy/v5/basics/helpers","unlisted":false},{"type":"link","label":"JavaScript","href":"/docs/legacy/v5/basics/helpers-javascript","docId":"legacy/v5/basics/helpers-javascript","unlisted":false},{"type":"link","label":"Scss","href":"/docs/legacy/v5/basics/helpers-scss","docId":"legacy/v5/basics/helpers-scss","unlisted":false},{"type":"link","label":"PHP","href":"/docs/legacy/v5/basics/helpers-php","docId":"legacy/v5/basics/helpers-php","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"v4","items":[{"type":"link","label":"Versions","href":"/docs/legacy/v4/versions","docId":"legacy/v4/versions","unlisted":false},{"type":"category","label":"Guides","items":[{"type":"link","label":"Extending Classes","href":"/docs/legacy/v4/guides/extending-classes","docId":"legacy/v4/guides/extending-classes","unlisted":false},{"type":"link","label":"Dependency injection container","href":"/docs/legacy/v4/guides/di-container","docId":"legacy/v4/guides/di-container","unlisted":false},{"type":"link","label":"Project Config","href":"/docs/legacy/v4/guides/config","docId":"legacy/v4/guides/config","unlisted":false},{"type":"link","label":"Manifest","href":"/docs/legacy/v4/guides/manifest","docId":"legacy/v4/guides/manifest","unlisted":false},{"type":"link","label":"Enqueue","href":"/docs/legacy/v4/guides/enqueue","docId":"legacy/v4/guides/enqueue","unlisted":false},{"type":"link","label":"Post Type","href":"/docs/legacy/v4/guides/post-type","docId":"legacy/v4/guides/post-type","unlisted":false},{"type":"link","label":"Taxonomy","href":"/docs/legacy/v4/guides/taxonomy","docId":"legacy/v4/guides/taxonomy","unlisted":false},{"type":"category","label":"Blocks","items":[{"type":"link","label":"Registration","href":"/docs/legacy/v4/guides/blocks-registration","docId":"legacy/v4/guides/blocks-registration","unlisted":false},{"type":"link","label":"Blocks Structure","href":"/docs/legacy/v4/guides/blocks-structure","docId":"legacy/v4/guides/blocks-structure","unlisted":false},{"type":"link","label":"Block Structure Item","href":"/docs/legacy/v4/guides/blocks-structure-block-item","docId":"legacy/v4/guides/blocks-structure-block-item","unlisted":false},{"type":"link","label":"Component Structure","href":"/docs/legacy/v4/guides/blocks-structure-component","docId":"legacy/v4/guides/blocks-structure-component","unlisted":false},{"type":"link","label":"Manifest Structure","href":"/docs/legacy/v4/guides/blocks-structure-manifest","docId":"legacy/v4/guides/blocks-structure-manifest","unlisted":false},{"type":"link","label":"Creating Block from Components","href":"/docs/legacy/v4/guides/blocks-block-from-components","docId":"legacy/v4/guides/blocks-block-from-components","unlisted":false},{"type":"link","label":"Render Block View Helper","href":"/docs/legacy/v4/guides/blocks-render-block-view-helper","docId":"legacy/v4/guides/blocks-render-block-view-helper","unlisted":false},{"type":"link","label":"GetActions Helper","href":"/docs/legacy/v4/guides/blocks-get-actions-helper","docId":"legacy/v4/guides/blocks-get-actions-helper","unlisted":false},{"type":"link","label":"Filter Attributes Override","href":"/docs/legacy/v4/guides/blocks-filter-block-attributes-override","docId":"legacy/v4/guides/blocks-filter-block-attributes-override","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","label":"i18n","href":"/docs/legacy/v4/guides/i18n","docId":"legacy/v4/guides/i18n","unlisted":false},{"type":"link","label":"Media","href":"/docs/legacy/v4/guides/media","docId":"legacy/v4/guides/media","unlisted":false},{"type":"link","label":"Menu","href":"/docs/legacy/v4/guides/menu","docId":"legacy/v4/guides/menu","unlisted":false},{"type":"category","label":"Rest API","items":[{"type":"link","label":"Rest Intro","href":"/docs/legacy/v4/guides/rest-intro","docId":"legacy/v4/guides/rest-intro","unlisted":false},{"type":"link","label":"Field Example","href":"/docs/legacy/v4/guides/rest-field-example","docId":"legacy/v4/guides/rest-field-example","unlisted":false},{"type":"link","label":"Route Example","href":"/docs/legacy/v4/guides/rest-route-example","docId":"legacy/v4/guides/rest-route-example","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Listing Columns","items":[{"type":"link","label":"Post Type","href":"/docs/legacy/v4/guides/columns-post-type","docId":"legacy/v4/guides/columns-post-type","unlisted":false},{"type":"link","label":"Taxonomy","href":"/docs/legacy/v4/guides/columns-taxonomy","docId":"legacy/v4/guides/columns-taxonomy","unlisted":false},{"type":"link","label":"User","href":"/docs/legacy/v4/guides/columns-user","docId":"legacy/v4/guides/columns-user","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","label":"Login","href":"/docs/legacy/v4/guides/login","docId":"legacy/v4/guides/login","unlisted":false},{"type":"category","label":"Fonts","items":[{"type":"link","label":"Custom fonts","href":"/docs/legacy/v4/guides/fonts-custom","docId":"legacy/v4/guides/fonts-custom","unlisted":false},{"type":"link","label":"Icon font","href":"/docs/legacy/v4/guides/fonts-icon","docId":"legacy/v4/guides/fonts-icon","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Advanced","items":[{"type":"link","label":"Sass","href":"/docs/legacy/v4/advanced/docs-sass","docId":"legacy/v4/advanced/docs-sass","unlisted":false},{"type":"link","label":"Webpack","href":"/docs/legacy/v4/advanced/webpack","docId":"legacy/v4/advanced/webpack","unlisted":false},{"type":"link","label":"Browsersync","href":"/docs/legacy/v4/advanced/browsersync","docId":"legacy/v4/advanced/browsersync","unlisted":false},{"type":"category","label":"Helpers","items":[{"type":"link","label":"Aliases","href":"/docs/legacy/v4/advanced/helpers-aliases-helpers","docId":"legacy/v4/advanced/helpers-aliases-helpers","unlisted":false},{"type":"link","label":"Object","href":"/docs/legacy/v4/advanced/helpers-object-helpers","docId":"legacy/v4/advanced/helpers-object-helpers","unlisted":false},{"type":"link","label":"Components","href":"/docs/legacy/v4/advanced/helpers-components-helpers","docId":"legacy/v4/advanced/helpers-components-helpers","unlisted":false},{"type":"link","label":"Shortcode","href":"/docs/legacy/v4/advanced/helpers-shortcode-helpers","docId":"legacy/v4/advanced/helpers-shortcode-helpers","unlisted":false},{"type":"link","label":"Error Logger","href":"/docs/legacy/v4/advanced/helpers-error-logger-helpers","docId":"legacy/v4/advanced/helpers-error-logger-helpers","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Custom Components","items":[{"type":"link","label":"Color Palette","href":"/docs/legacy/v4/advanced/components-color-palette","docId":"legacy/v4/advanced/components-color-palette","unlisted":false},{"type":"link","label":"Heading Level","href":"/docs/legacy/v4/advanced/components-heading-level","docId":"legacy/v4/advanced/components-heading-level","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Crash Course","items":[{"type":"link","label":"Intro","href":"/docs/crash-course/intro","docId":"crash-course/intro","unlisted":false}],"collapsed":true,"collapsible":true}]},"docs":{"additional-libraries/boilerplate":{"id":"additional-libraries/boilerplate","title":"Eightshift Boilerplate","description":"GitHub tag","sidebar":"docs"},"additional-libraries/boilerplate-plugin":{"id":"additional-libraries/boilerplate-plugin","title":"Eightshift Boilerplate Plugin","description":"GitHub tag","sidebar":"docs"},"additional-libraries/coding-standards":{"id":"additional-libraries/coding-standards","title":"Eightshift Coding Standards","description":"GitHub tag","sidebar":"docs"},"additional-libraries/docs":{"id":"additional-libraries/docs","title":"Eightshift Docs","description":"GitHub tag","sidebar":"docs"},"additional-libraries/forms":{"id":"additional-libraries/forms","title":"Eightshift Forms","description":"GitHub tag","sidebar":"docs"},"additional-libraries/frontend-libs":{"id":"additional-libraries/frontend-libs","title":"Eightshift Frontend Libs","description":"GitHub tag","sidebar":"docs"},"additional-libraries/libs":{"id":"additional-libraries/libs","title":"Eightshift Libs","description":"GitHub tag","sidebar":"docs"},"additional-libraries/storybook":{"id":"additional-libraries/storybook","title":"Eightshift Storybook","description":"GitHub tag","sidebar":"docs"},"additional-libraries/stubs":{"id":"additional-libraries/stubs","title":"Eightshift Libs Stubs","description":"GitHub tag","sidebar":"docs"},"basics/architecture-concepts":{"id":"basics/architecture-concepts","title":"Architecture concepts","description":"Project structure","sidebar":"docs"},"basics/autowiring":{"id":"basics/autowiring","title":"Autowiring","description":"docs-source","sidebar":"docs"},"basics/backend":{"id":"basics/backend","title":"General","description":"docs-source","sidebar":"docs"},"basics/basics-intro":{"id":"basics/basics-intro","title":"Basics","description":"Prior to WordPress 5.0, themes were mostly PHP-based, with JavaScript used only to provide interactive functionality on the website.","sidebar":"docs"},"basics/block-manifest":{"id":"basics/block-manifest","title":"Block Manifest","description":"docs-source","sidebar":"docs"},"basics/block-structure":{"id":"basics/block-structure","title":"Block Structure","description":"docs-source","sidebar":"docs"},"basics/blocks":{"id":"basics/blocks","title":"Blocks","description":"docs-source","sidebar":"docs"},"basics/blocks-attributes":{"id":"basics/blocks-attributes","title":"Attributes","description":"docs-source","sidebar":"docs"},"basics/blocks-component-in-block":{"id":"basics/blocks-component-in-block","title":"Component in a Block","description":"docs-source","sidebar":"docs"},"basics/blocks-component-manifest":{"id":"basics/blocks-component-manifest","title":"Component Manifest","description":"docs-source","sidebar":"docs"},"basics/blocks-component-structure":{"id":"basics/blocks-component-structure","title":"Component Structure","description":"docs-source","sidebar":"docs"},"basics/blocks-faq":{"id":"basics/blocks-faq","title":"Faq","description":"docs-source","sidebar":"docs"},"basics/blocks-global-manifest":{"id":"basics/blocks-global-manifest","title":"Global Manifest","description":"docs-source","sidebar":"docs"},"basics/blocks-hooks":{"id":"basics/blocks-hooks","title":"Hooks","description":"docs-source","sidebar":"docs"},"basics/blocks-important":{"id":"basics/blocks-important","title":"Important","description":"docs-source","sidebar":"docs"},"basics/blocks-patterns":{"id":"basics/blocks-patterns","title":"Patterns","description":"docs-source","sidebar":"docs"},"basics/blocks-registration":{"id":"basics/blocks-registration","title":"Registration","description":"docs-source","sidebar":"docs"},"basics/blocks-reusable":{"id":"basics/blocks-reusable","title":"Reusable Blocks","description":"docs-source","sidebar":"docs"},"basics/blocks-special-use-cases":{"id":"basics/blocks-special-use-cases","title":"Special Use Cases","description":"docs-source","sidebar":"docs"},"basics/blocks-storybook":{"id":"basics/blocks-storybook","title":"Storybook","description":"docs-source","sidebar":"docs"},"basics/blocks-structure":{"id":"basics/blocks-structure","title":"Structure","description":"docs-source","sidebar":"docs"},"basics/blocks-styles":{"id":"basics/blocks-styles","title":"Styles","description":"docs-source","sidebar":"docs"},"basics/blocks-transforms":{"id":"basics/blocks-transforms","title":"Transforms","description":"docs-source","sidebar":"docs"},"basics/blocks-variations":{"id":"basics/blocks-variations","title":"Variations","description":"docs-source","sidebar":"docs"},"basics/blocks-wrapper":{"id":"basics/blocks-wrapper","title":"Wrapper","description":"docs-source","sidebar":"docs"},"basics/browser-sync":{"id":"basics/browser-sync","title":"Browsersync","description":"docs-source","sidebar":"docs"},"basics/dynamic-import":{"id":"basics/dynamic-import","title":"Dynamic Import","description":"docs-source","sidebar":"docs"},"basics/example-class":{"id":"basics/example-class","title":"Example Class","description":"docs-source","sidebar":"docs"},"basics/extending-classes":{"id":"basics/extending-classes","title":"Extending Classes","description":"docs-source","sidebar":"docs"},"basics/fonts":{"id":"basics/fonts","title":"Fonts","description":"docs-source","sidebar":"docs"},"basics/frontend":{"id":"basics/frontend","title":"General","description":"docs-source","sidebar":"docs"},"basics/global-settings":{"id":"basics/global-settings","title":"Global Settings","description":"docs-source","sidebar":"docs"},"basics/helpers":{"id":"basics/helpers","title":"Helpers","description":"Each project has helper classes that help you with your project code. Helpers are parts of the code you reuse in various places in your code, but they don\'t belong to any specific service. We tried to combine all our helpers in one place for convenience. The main difference is that we have helpers for different languages:","sidebar":"docs"},"basics/helpers-javascript":{"id":"basics/helpers-javascript","title":"JavaScript","description":"docs-source","sidebar":"docs"},"basics/helpers-php":{"id":"basics/helpers-php","title":"PHP","description":"docs-source","sidebar":"docs"},"basics/helpers-scss":{"id":"basics/helpers-scss","title":"Scss","description":"docs-source","sidebar":"docs"},"basics/library":{"id":"basics/library","title":"SCSS Library","description":"docs-source","sidebar":"docs"},"basics/manifest":{"id":"basics/manifest","title":"Assets Manifest","description":"docs-source","sidebar":"docs"},"basics/namespaces":{"id":"basics/namespaces","title":"Namespaces","description":"docs-source","sidebar":"docs"},"basics/rest":{"id":"basics/rest","title":"REST Intro","description":"docs-source","sidebar":"docs"},"basics/rest-field":{"id":"basics/rest-field","title":"REST Field","description":"docs-source","sidebar":"docs"},"basics/rest-route":{"id":"basics/rest-route","title":"REST Route","description":"docs-source","sidebar":"docs"},"basics/tips-tricks":{"id":"basics/tips-tricks","title":"Tips & Tricks","description":"Since we are creating our projects using this setup, we are going to share our tips and tricks for faster development, easier debugging and some cool ideas we had along the way.","sidebar":"docs"},"basics/webpack":{"id":"basics/webpack","title":"Webpack","description":"docs-source","sidebar":"docs"},"basics/wp-cli":{"id":"basics/wp-cli","title":"WP-CLI","description":"docs-source","sidebar":"docs"},"basics/writing-styles":{"id":"basics/writing-styles","title":"Writing Styles","description":"docs-source","sidebar":"docs"},"crash-course/intro":{"id":"crash-course/intro","title":"Intro","description":"Coming soon","sidebar":"docs"},"eightshift-frontend-libs":{"id":"eightshift-frontend-libs","title":"Eightshift Frontend Libs","description":"docs-source","sidebar":"docs"},"eightshift-libs":{"id":"eightshift-libs","title":"Eightshift Libs","description":"docs-source","sidebar":"docs"},"legacy/v4/advanced/browsersync":{"id":"legacy/v4/advanced/browsersync","title":"Browsersync","description":"docs-source","sidebar":"docs"},"legacy/v4/advanced/components-color-palette":{"id":"legacy/v4/advanced/components-color-palette","title":"Color Palette","description":"docs-source","sidebar":"docs"},"legacy/v4/advanced/components-heading-level":{"id":"legacy/v4/advanced/components-heading-level","title":"Heading Level","description":"docs-source","sidebar":"docs"},"legacy/v4/advanced/docs-sass":{"id":"legacy/v4/advanced/docs-sass","title":"Sass","description":"For years we have collected a list of useful SASS mixins, functions, and all other stuff that you can use in a project. You don\'t need to have all this in your project; check out our documentation and import it from Eightshift Frontend Libs.","sidebar":"docs"},"legacy/v4/advanced/helpers-aliases-helpers":{"id":"legacy/v4/advanced/helpers-aliases-helpers","title":"Aliases","description":"docs-source","sidebar":"docs"},"legacy/v4/advanced/helpers-components-helpers":{"id":"legacy/v4/advanced/helpers-components-helpers","title":"Components","description":"docs-source","sidebar":"docs"},"legacy/v4/advanced/helpers-error-logger-helpers":{"id":"legacy/v4/advanced/helpers-error-logger-helpers","title":"Error Logger","description":"docs-source","sidebar":"docs"},"legacy/v4/advanced/helpers-object-helpers":{"id":"legacy/v4/advanced/helpers-object-helpers","title":"Object","description":"docs-source","sidebar":"docs"},"legacy/v4/advanced/helpers-shortcode-helpers":{"id":"legacy/v4/advanced/helpers-shortcode-helpers","title":"Shortcode","description":"docs-source","sidebar":"docs"},"legacy/v4/advanced/webpack":{"id":"legacy/v4/advanced/webpack","title":"Webpack","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/blocks-block-from-components":{"id":"legacy/v4/guides/blocks-block-from-components","title":"Creating Block from Components","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/blocks-filter-block-attributes-override":{"id":"legacy/v4/guides/blocks-filter-block-attributes-override","title":"Filter Attributes Override","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/blocks-get-actions-helper":{"id":"legacy/v4/guides/blocks-get-actions-helper","title":"GetActions Helper","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/blocks-registration":{"id":"legacy/v4/guides/blocks-registration","title":"Registration","description":"Block registration works using magic and being able to use them a specific folder structure and naming must be followed.","sidebar":"docs"},"legacy/v4/guides/blocks-render-block-view-helper":{"id":"legacy/v4/guides/blocks-render-block-view-helper","title":"Render Block View Helper","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/blocks-structure":{"id":"legacy/v4/guides/blocks-structure","title":"Blocks Structure","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/blocks-structure-block-item":{"id":"legacy/v4/guides/blocks-structure-block-item","title":"Block Structure Item","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/blocks-structure-component":{"id":"legacy/v4/guides/blocks-structure-component","title":"Component Structure","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/blocks-structure-manifest":{"id":"legacy/v4/guides/blocks-structure-manifest","title":"Manifest Structure","description":"This file contains all the configuration required for a block to work. It\'s used in WordPress registerBlockType method to register a block. Using manifest.json we can provide a configuration in JavaScript and PHP part of the block in one file.","sidebar":"docs"},"legacy/v4/guides/columns-post-type":{"id":"legacy/v4/guides/columns-post-type","title":"Post Type","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/columns-taxonomy":{"id":"legacy/v4/guides/columns-taxonomy","title":"Taxonomy","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/columns-user":{"id":"legacy/v4/guides/columns-user","title":"User","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/config":{"id":"legacy/v4/guides/config","title":"Project Config","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/di-container":{"id":"legacy/v4/guides/di-container","title":"Dependency injection container","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/enqueue":{"id":"legacy/v4/guides/enqueue","title":"Enqueue","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/extending-classes":{"id":"legacy/v4/guides/extending-classes","title":"Extending Classes","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/fonts-custom":{"id":"legacy/v4/guides/fonts-custom","title":"Custom fonts","description":"To add a custom font and generate @font-face rules in built CSS file we recommend using PostCSS plugin: Font Magician. Before configuring Font Magician, font files need to be included in the build process.","sidebar":"docs"},"legacy/v4/guides/fonts-icon":{"id":"legacy/v4/guides/fonts-icon","title":"Icon font","description":"Icons can be added as icon font and will be added in a similar way that the custom fonts are added. The process of file preparation is a bit different.","sidebar":"docs"},"legacy/v4/guides/i18n":{"id":"legacy/v4/guides/i18n","title":"i18n","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/login":{"id":"legacy/v4/guides/login","title":"Login","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/manifest":{"id":"legacy/v4/guides/manifest","title":"Manifest","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/media":{"id":"legacy/v4/guides/media","title":"Media","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/menu":{"id":"legacy/v4/guides/menu","title":"Menu","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/post-type":{"id":"legacy/v4/guides/post-type","title":"Post Type","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/rest-field-example":{"id":"legacy/v4/guides/rest-field-example","title":"Field Example","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/rest-intro":{"id":"legacy/v4/guides/rest-intro","title":"Rest Intro","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/rest-route-example":{"id":"legacy/v4/guides/rest-route-example","title":"Route Example","description":"docs-source","sidebar":"docs"},"legacy/v4/guides/taxonomy":{"id":"legacy/v4/guides/taxonomy","title":"Taxonomy","description":"docs-source","sidebar":"docs"},"legacy/v4/versions":{"id":"legacy/v4/versions","title":"Versions","description":"Now that you understand what makes Eightshift tick, here is a quick reminder about what library versions this documentation refers to.","sidebar":"docs"},"legacy/v5/basics/autowiring":{"id":"legacy/v5/basics/autowiring","title":"Autowiring","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/backend":{"id":"legacy/v5/basics/backend","title":"Backend","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/basics-intro":{"id":"legacy/v5/basics/basics-intro","title":"Basics","description":"Before WordPress 5.0 release, the themes were mostly PHP based on some JavaScript and CSS. Now it\'s a bit different because we have PHP in the core, JavaScript (specifically React.js) in the block editor, and some styles in the editor and the theme parts of the website.","sidebar":"docs"},"legacy/v5/basics/block-manifest":{"id":"legacy/v5/basics/block-manifest","title":"Block Manifest","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/block-structure":{"id":"legacy/v5/basics/block-structure","title":"Block Structure","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks":{"id":"legacy/v5/basics/blocks","title":"Blocks","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-attributes":{"id":"legacy/v5/basics/blocks-attributes","title":"Attributes","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-component-in-block":{"id":"legacy/v5/basics/blocks-component-in-block","title":"Component in a Block","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-component-manifest":{"id":"legacy/v5/basics/blocks-component-manifest","title":"Component Manifest","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-component-structure":{"id":"legacy/v5/basics/blocks-component-structure","title":"Component Structure","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-global-manifest":{"id":"legacy/v5/basics/blocks-global-manifest","title":"Global Manifest","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-hooks":{"id":"legacy/v5/basics/blocks-hooks","title":"Hooks","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-important":{"id":"legacy/v5/basics/blocks-important","title":"Important","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-intro":{"id":"legacy/v5/basics/blocks-intro","title":"Intro","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-patterns":{"id":"legacy/v5/basics/blocks-patterns","title":"Patterns","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-registration":{"id":"legacy/v5/basics/blocks-registration","title":"Registration","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-reusable":{"id":"legacy/v5/basics/blocks-reusable","title":"Reusable Blocks","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-special-use-cases":{"id":"legacy/v5/basics/blocks-special-use-cases","title":"Special Use Cases","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-storybook":{"id":"legacy/v5/basics/blocks-storybook","title":"Storybook","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-structure":{"id":"legacy/v5/basics/blocks-structure","title":"Structure","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-styles":{"id":"legacy/v5/basics/blocks-styles","title":"Styles","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-transforms":{"id":"legacy/v5/basics/blocks-transforms","title":"Transforms","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-variations":{"id":"legacy/v5/basics/blocks-variations","title":"Variations","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/blocks-wrapper":{"id":"legacy/v5/basics/blocks-wrapper","title":"Wrapper","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/browser-sync":{"id":"legacy/v5/basics/browser-sync","title":"Browser Sync","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/dynamic-import":{"id":"legacy/v5/basics/dynamic-import","title":"Dynamic Import","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/example-class":{"id":"legacy/v5/basics/example-class","title":"Example Class","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/extending-classes":{"id":"legacy/v5/basics/extending-classes","title":"Extending Classes","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/fonts":{"id":"legacy/v5/basics/fonts","title":"Fonts","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/frontend":{"id":"legacy/v5/basics/frontend","title":"Front End","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/global-settings":{"id":"legacy/v5/basics/global-settings","title":"Global Settings","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/helpers":{"id":"legacy/v5/basics/helpers","title":"Helpers","description":"Each project has helper classes that help you with your project code. Helpers are parts of the code you reuse in various places in your code, but they don\'t belong to any specific service. We tried to combine all our helpers in one place for convenience. The main difference is that we have helpers for different languages:","sidebar":"docs"},"legacy/v5/basics/helpers-javascript":{"id":"legacy/v5/basics/helpers-javascript","title":"JavaScript","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/helpers-php":{"id":"legacy/v5/basics/helpers-php","title":"PHP","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/helpers-scss":{"id":"legacy/v5/basics/helpers-scss","title":"Scss","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/library":{"id":"legacy/v5/basics/library","title":"Library","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/manifest":{"id":"legacy/v5/basics/manifest","title":"Manifest","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/namespaces":{"id":"legacy/v5/basics/namespaces","title":"Namespaces","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/rest":{"id":"legacy/v5/basics/rest","title":"Rest Intro","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/rest-field":{"id":"legacy/v5/basics/rest-field","title":"Rest Field","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/rest-route":{"id":"legacy/v5/basics/rest-route","title":"Rest Route","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/the-structure":{"id":"legacy/v5/basics/the-structure","title":"The Structure","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/webpack":{"id":"legacy/v5/basics/webpack","title":"Webpack","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/wp-cli":{"id":"legacy/v5/basics/wp-cli","title":"WP-CLI","description":"docs-source","sidebar":"docs"},"legacy/v5/basics/writing-styles":{"id":"legacy/v5/basics/writing-styles","title":"Writing Styles","description":"docs-source","sidebar":"docs"},"legacy/v5/versions":{"id":"legacy/v5/versions","title":"Versions","description":"Now that you understand what makes Eightshift tick, here is a quick reminder about what library versions this documentation refers to.","sidebar":"docs"},"legacy/v6/basics/architecture-concepts":{"id":"legacy/v6/basics/architecture-concepts","title":"Architecture concepts","description":"Project structure","sidebar":"docs"},"legacy/v6/basics/autowiring":{"id":"legacy/v6/basics/autowiring","title":"Autowiring","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/backend":{"id":"legacy/v6/basics/backend","title":"General","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/basics-intro":{"id":"legacy/v6/basics/basics-intro","title":"Basics","description":"Prior to WordPress 5.0, themes were mostly PHP-based, with JavaScript used only to provide interactive functionality on the website.","sidebar":"docs"},"legacy/v6/basics/block-manifest":{"id":"legacy/v6/basics/block-manifest","title":"Block Manifest","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/block-structure":{"id":"legacy/v6/basics/block-structure","title":"Block Structure","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks":{"id":"legacy/v6/basics/blocks","title":"Blocks","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-attributes":{"id":"legacy/v6/basics/blocks-attributes","title":"Attributes","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-component-in-block":{"id":"legacy/v6/basics/blocks-component-in-block","title":"Component in a Block","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-component-manifest":{"id":"legacy/v6/basics/blocks-component-manifest","title":"Component Manifest","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-component-structure":{"id":"legacy/v6/basics/blocks-component-structure","title":"Component Structure","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-faq":{"id":"legacy/v6/basics/blocks-faq","title":"Faq","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-global-manifest":{"id":"legacy/v6/basics/blocks-global-manifest","title":"Global Manifest","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-hooks":{"id":"legacy/v6/basics/blocks-hooks","title":"Hooks","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-important":{"id":"legacy/v6/basics/blocks-important","title":"Important","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-patterns":{"id":"legacy/v6/basics/blocks-patterns","title":"Patterns","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-registration":{"id":"legacy/v6/basics/blocks-registration","title":"Registration","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-reusable":{"id":"legacy/v6/basics/blocks-reusable","title":"Reusable Blocks","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-special-use-cases":{"id":"legacy/v6/basics/blocks-special-use-cases","title":"Special Use Cases","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-storybook":{"id":"legacy/v6/basics/blocks-storybook","title":"Storybook","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-structure":{"id":"legacy/v6/basics/blocks-structure","title":"Structure","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-styles":{"id":"legacy/v6/basics/blocks-styles","title":"Styles","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-transforms":{"id":"legacy/v6/basics/blocks-transforms","title":"Transforms","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-variations":{"id":"legacy/v6/basics/blocks-variations","title":"Variations","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/blocks-wrapper":{"id":"legacy/v6/basics/blocks-wrapper","title":"Wrapper","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/browser-sync":{"id":"legacy/v6/basics/browser-sync","title":"Browsersync","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/dynamic-import":{"id":"legacy/v6/basics/dynamic-import","title":"Dynamic Import","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/example-class":{"id":"legacy/v6/basics/example-class","title":"Example Class","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/extending-classes":{"id":"legacy/v6/basics/extending-classes","title":"Extending Classes","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/fonts":{"id":"legacy/v6/basics/fonts","title":"Fonts","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/frontend":{"id":"legacy/v6/basics/frontend","title":"General","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/global-settings":{"id":"legacy/v6/basics/global-settings","title":"Global Settings","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/helpers":{"id":"legacy/v6/basics/helpers","title":"Helpers","description":"Each project has helper classes that help you with your project code. Helpers are parts of the code you reuse in various places in your code, but they don\'t belong to any specific service. We tried to combine all our helpers in one place for convenience. The main difference is that we have helpers for different languages:","sidebar":"docs"},"legacy/v6/basics/helpers-javascript":{"id":"legacy/v6/basics/helpers-javascript","title":"JavaScript","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/helpers-php":{"id":"legacy/v6/basics/helpers-php","title":"PHP","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/helpers-scss":{"id":"legacy/v6/basics/helpers-scss","title":"Scss","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/library":{"id":"legacy/v6/basics/library","title":"SCSS Library","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/manifest":{"id":"legacy/v6/basics/manifest","title":"Assets Manifest","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/namespaces":{"id":"legacy/v6/basics/namespaces","title":"Namespaces","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/rest":{"id":"legacy/v6/basics/rest","title":"REST Intro","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/rest-field":{"id":"legacy/v6/basics/rest-field","title":"REST Field","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/rest-route":{"id":"legacy/v6/basics/rest-route","title":"REST Route","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/tips-tricks":{"id":"legacy/v6/basics/tips-tricks","title":"Tips & Tricks","description":"Since we are creating our projects using this setup, we are going to share our tips and tricks for faster development, easier debugging and some cool ideas we had along the way.","sidebar":"docs"},"legacy/v6/basics/webpack":{"id":"legacy/v6/basics/webpack","title":"Webpack","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/wp-cli":{"id":"legacy/v6/basics/wp-cli","title":"WP-CLI","description":"docs-source","sidebar":"docs"},"legacy/v6/basics/writing-styles":{"id":"legacy/v6/basics/writing-styles","title":"Writing Styles","description":"docs-source","sidebar":"docs"},"legacy/v6/versions":{"id":"legacy/v6/versions","title":"Versions","description":"Now that you understand what makes the Eightshift Development Kit tick, here is a quick reminder about what library versions this documentation refers to.","sidebar":"docs"},"legacy/v7/basics/architecture-concepts":{"id":"legacy/v7/basics/architecture-concepts","title":"Architecture concepts","description":"Project structure","sidebar":"docs"},"legacy/v7/basics/autowiring":{"id":"legacy/v7/basics/autowiring","title":"Autowiring","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/backend":{"id":"legacy/v7/basics/backend","title":"General","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/basics-intro":{"id":"legacy/v7/basics/basics-intro","title":"Basics","description":"Prior to WordPress 5.0, themes were mostly PHP-based, with JavaScript used only to provide interactive functionality on the website.","sidebar":"docs"},"legacy/v7/basics/block-manifest":{"id":"legacy/v7/basics/block-manifest","title":"Block Manifest","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/block-structure":{"id":"legacy/v7/basics/block-structure","title":"Block Structure","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks":{"id":"legacy/v7/basics/blocks","title":"Blocks","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-attributes":{"id":"legacy/v7/basics/blocks-attributes","title":"Attributes","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-component-in-block":{"id":"legacy/v7/basics/blocks-component-in-block","title":"Component in a Block","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-component-manifest":{"id":"legacy/v7/basics/blocks-component-manifest","title":"Component Manifest","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-component-structure":{"id":"legacy/v7/basics/blocks-component-structure","title":"Component Structure","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-faq":{"id":"legacy/v7/basics/blocks-faq","title":"Faq","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-global-manifest":{"id":"legacy/v7/basics/blocks-global-manifest","title":"Global Manifest","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-hooks":{"id":"legacy/v7/basics/blocks-hooks","title":"Hooks","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-important":{"id":"legacy/v7/basics/blocks-important","title":"Important","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-patterns":{"id":"legacy/v7/basics/blocks-patterns","title":"Patterns","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-registration":{"id":"legacy/v7/basics/blocks-registration","title":"Registration","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-reusable":{"id":"legacy/v7/basics/blocks-reusable","title":"Reusable Blocks","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-special-use-cases":{"id":"legacy/v7/basics/blocks-special-use-cases","title":"Special Use Cases","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-storybook":{"id":"legacy/v7/basics/blocks-storybook","title":"Storybook","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-structure":{"id":"legacy/v7/basics/blocks-structure","title":"Structure","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-styles":{"id":"legacy/v7/basics/blocks-styles","title":"Styles","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-transforms":{"id":"legacy/v7/basics/blocks-transforms","title":"Transforms","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-variations":{"id":"legacy/v7/basics/blocks-variations","title":"Variations","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/blocks-wrapper":{"id":"legacy/v7/basics/blocks-wrapper","title":"Wrapper","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/browser-sync":{"id":"legacy/v7/basics/browser-sync","title":"Browsersync","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/dynamic-import":{"id":"legacy/v7/basics/dynamic-import","title":"Dynamic Import","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/example-class":{"id":"legacy/v7/basics/example-class","title":"Example Class","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/extending-classes":{"id":"legacy/v7/basics/extending-classes","title":"Extending Classes","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/fonts":{"id":"legacy/v7/basics/fonts","title":"Fonts","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/frontend":{"id":"legacy/v7/basics/frontend","title":"General","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/global-settings":{"id":"legacy/v7/basics/global-settings","title":"Global Settings","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/helpers":{"id":"legacy/v7/basics/helpers","title":"Helpers","description":"Each project has helper classes that help you with your project code. Helpers are parts of the code you reuse in various places in your code, but they don\'t belong to any specific service. We tried to combine all our helpers in one place for convenience. The main difference is that we have helpers for different languages:","sidebar":"docs"},"legacy/v7/basics/helpers-javascript":{"id":"legacy/v7/basics/helpers-javascript","title":"JavaScript","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/helpers-php":{"id":"legacy/v7/basics/helpers-php","title":"PHP","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/helpers-scss":{"id":"legacy/v7/basics/helpers-scss","title":"Scss","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/library":{"id":"legacy/v7/basics/library","title":"SCSS Library","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/manifest":{"id":"legacy/v7/basics/manifest","title":"Assets Manifest","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/namespaces":{"id":"legacy/v7/basics/namespaces","title":"Namespaces","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/rest":{"id":"legacy/v7/basics/rest","title":"REST Intro","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/rest-field":{"id":"legacy/v7/basics/rest-field","title":"REST Field","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/rest-route":{"id":"legacy/v7/basics/rest-route","title":"REST Route","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/tips-tricks":{"id":"legacy/v7/basics/tips-tricks","title":"Tips & Tricks","description":"Since we are creating our projects using this setup, we are going to share our tips and tricks for faster development, easier debugging and some cool ideas we had along the way.","sidebar":"docs"},"legacy/v7/basics/webpack":{"id":"legacy/v7/basics/webpack","title":"Webpack","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/wp-cli":{"id":"legacy/v7/basics/wp-cli","title":"WP-CLI","description":"docs-source","sidebar":"docs"},"legacy/v7/basics/writing-styles":{"id":"legacy/v7/basics/writing-styles","title":"Writing Styles","description":"docs-source","sidebar":"docs"},"legacy/v7/versions":{"id":"legacy/v7/versions","title":"Versions","description":"Now that you understand what makes the Eightshift Development Kit tick, here is a quick reminder about what library versions this documentation refers to.","sidebar":"docs"},"legacy/v8/basics/architecture-concepts":{"id":"legacy/v8/basics/architecture-concepts","title":"Architecture concepts","description":"Project structure","sidebar":"docs"},"legacy/v8/basics/autowiring":{"id":"legacy/v8/basics/autowiring","title":"Autowiring","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/backend":{"id":"legacy/v8/basics/backend","title":"General","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/basics-intro":{"id":"legacy/v8/basics/basics-intro","title":"Basics","description":"Prior to WordPress 5.0, themes were mostly PHP-based, with JavaScript used only to provide interactive functionality on the website.","sidebar":"docs"},"legacy/v8/basics/block-manifest":{"id":"legacy/v8/basics/block-manifest","title":"Block Manifest","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/block-structure":{"id":"legacy/v8/basics/block-structure","title":"Block Structure","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks":{"id":"legacy/v8/basics/blocks","title":"Blocks","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-attributes":{"id":"legacy/v8/basics/blocks-attributes","title":"Attributes","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-component-in-block":{"id":"legacy/v8/basics/blocks-component-in-block","title":"Component in a Block","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-component-manifest":{"id":"legacy/v8/basics/blocks-component-manifest","title":"Component Manifest","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-component-structure":{"id":"legacy/v8/basics/blocks-component-structure","title":"Component Structure","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-faq":{"id":"legacy/v8/basics/blocks-faq","title":"Faq","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-global-manifest":{"id":"legacy/v8/basics/blocks-global-manifest","title":"Global Manifest","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-hooks":{"id":"legacy/v8/basics/blocks-hooks","title":"Hooks","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-important":{"id":"legacy/v8/basics/blocks-important","title":"Important","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-patterns":{"id":"legacy/v8/basics/blocks-patterns","title":"Patterns","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-registration":{"id":"legacy/v8/basics/blocks-registration","title":"Registration","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-reusable":{"id":"legacy/v8/basics/blocks-reusable","title":"Reusable Blocks","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-special-use-cases":{"id":"legacy/v8/basics/blocks-special-use-cases","title":"Special Use Cases","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-storybook":{"id":"legacy/v8/basics/blocks-storybook","title":"Storybook","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-structure":{"id":"legacy/v8/basics/blocks-structure","title":"Structure","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-styles":{"id":"legacy/v8/basics/blocks-styles","title":"Styles","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-transforms":{"id":"legacy/v8/basics/blocks-transforms","title":"Transforms","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-variations":{"id":"legacy/v8/basics/blocks-variations","title":"Variations","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/blocks-wrapper":{"id":"legacy/v8/basics/blocks-wrapper","title":"Wrapper","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/browser-sync":{"id":"legacy/v8/basics/browser-sync","title":"Browsersync","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/dynamic-import":{"id":"legacy/v8/basics/dynamic-import","title":"Dynamic Import","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/example-class":{"id":"legacy/v8/basics/example-class","title":"Example Class","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/extending-classes":{"id":"legacy/v8/basics/extending-classes","title":"Extending Classes","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/fonts":{"id":"legacy/v8/basics/fonts","title":"Fonts","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/frontend":{"id":"legacy/v8/basics/frontend","title":"General","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/global-settings":{"id":"legacy/v8/basics/global-settings","title":"Global Settings","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/helpers":{"id":"legacy/v8/basics/helpers","title":"Helpers","description":"Each project has helper classes that help you with your project code. Helpers are parts of the code you reuse in various places in your code, but they don\'t belong to any specific service. We tried to combine all our helpers in one place for convenience. The main difference is that we have helpers for different languages:","sidebar":"docs"},"legacy/v8/basics/helpers-javascript":{"id":"legacy/v8/basics/helpers-javascript","title":"JavaScript","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/helpers-php":{"id":"legacy/v8/basics/helpers-php","title":"PHP","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/helpers-scss":{"id":"legacy/v8/basics/helpers-scss","title":"Scss","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/library":{"id":"legacy/v8/basics/library","title":"SCSS Library","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/manifest":{"id":"legacy/v8/basics/manifest","title":"Assets Manifest","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/namespaces":{"id":"legacy/v8/basics/namespaces","title":"Namespaces","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/rest":{"id":"legacy/v8/basics/rest","title":"REST Intro","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/rest-field":{"id":"legacy/v8/basics/rest-field","title":"REST Field","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/rest-route":{"id":"legacy/v8/basics/rest-route","title":"REST Route","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/tips-tricks":{"id":"legacy/v8/basics/tips-tricks","title":"Tips & Tricks","description":"Since we are creating our projects using this setup, we are going to share our tips and tricks for faster development, easier debugging and some cool ideas we had along the way.","sidebar":"docs"},"legacy/v8/basics/webpack":{"id":"legacy/v8/basics/webpack","title":"Webpack","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/wp-cli":{"id":"legacy/v8/basics/wp-cli","title":"WP-CLI","description":"docs-source","sidebar":"docs"},"legacy/v8/basics/writing-styles":{"id":"legacy/v8/basics/writing-styles","title":"Writing Styles","description":"docs-source","sidebar":"docs"},"legacy/v8/versions":{"id":"legacy/v8/versions","title":"Versions","description":"Now that you understand what makes the Eightshift Development Kit tick, here is a quick reminder about what library versions this documentation refers to.","sidebar":"docs"},"migrations/10-11":{"id":"migrations/10-11","title":"Version 10 to 11","description":"This migration guide contains migration instructions for:","sidebar":"docs"},"migrations/5-6":{"id":"migrations/5-6","title":"Version 5 to 6","description":"This migration guide is represents migration for:","sidebar":"docs"},"migrations/6-7":{"id":"migrations/6-7","title":"Version 6 to 7","description":"This migration guide is represents migration for:","sidebar":"docs"},"migrations/7-8":{"id":"migrations/7-8","title":"Version 7 to 8","description":"This migration guide contains migration instructions for:","sidebar":"docs"},"migrations/8-9":{"id":"migrations/8-9","title":"Version 8 to 9","description":"This migration guide contains migration instructions for:","sidebar":"docs"},"migrations/9-10":{"id":"migrations/9-10","title":"Version 9 to 10","description":"This migration guide contains migration instructions for:","sidebar":"docs"},"plugin":{"id":"plugin","title":"Create a new WordPress plugin","description":"Let\'s create a new plugin!","sidebar":"docs"},"requirements":{"id":"requirements","title":"Requirements","description":"To have the smoothest development and setup experience, you need to install a few things on your computer.","sidebar":"docs"},"theme":{"id":"theme","title":"Create a new WordPress theme","description":"Let\'s create a new theme!","sidebar":"docs"},"tutorials/intro":{"id":"tutorials/intro","title":"Intro","description":"We think that a picture is worth a thousand words, and video is worth a thousand pictures. So, we\'ve created a series of videos to help you get started with the basics of using forms. We hope you find them useful!","sidebar":"docs"},"versions":{"id":"versions","title":"Versions","description":"Now that you understand what makes the Eightshift Development Kit tick, here is a quick reminder about what library versions this documentation refers to.","sidebar":"docs"},"welcome":{"id":"welcome","title":"Welcome","description":"Eightshift Development Kit is a modern, developer-friendly solution that makes building large, feature-rich WordPress projects painless.","sidebar":"docs"}}}')}}]); \ No newline at end of file diff --git a/assets/js/938b8490.5ebbcd59.js b/assets/js/938b8490.5ebbcd59.js new file mode 100644 index 000000000..1152fa11e --- /dev/null +++ b/assets/js/938b8490.5ebbcd59.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[51006],{8528:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>t,metadata:()=>r,toc:()=>c});var o=s(74848),i=s(28453);const t={title:"Using assets in a project",description:"Step-by-step guide on how to add assets like images or icons to your theme.",slug:"using-assets",authors:"obradovic",date:new Date("2022-04-28T00:00:00.000Z"),tags:["eightshift","boilerplate","assets","images","icons"],hide_table_of_contents:!1},l=void 0,r={permalink:"/blog/using-assets",source:"@site/blog/2022-04-25-using-assets.md",title:"Using assets in a project",description:"Step-by-step guide on how to add assets like images or icons to your theme.",date:"2022-04-28T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"assets",permalink:"/blog/tags/assets"},{label:"images",permalink:"/blog/tags/images"},{label:"icons",permalink:"/blog/tags/icons"}],readingTime:3.945,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Using assets in a project",description:"Step-by-step guide on how to add assets like images or icons to your theme.",slug:"using-assets",authors:"obradovic",date:"2022-04-28T00:00:00.000Z",tags:["eightshift","boilerplate","assets","images","icons"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"How to use ACF in your project",permalink:"/blog/acf-in-a-project"},nextItem:{title:"Adding fonts",permalink:"/blog/adding-fonts"}},a={authorsImageUrls:[void 0]},c=[{value:"Adding images",id:"adding-images",level:2},{value:"Using SVG files from manifest",id:"using-svg-files-from-manifest",level:2},{value:"Using icons for editor and block options",id:"using-icons-for-editor-and-block-options",level:2},{value:"Conclusion",id:"conclusion",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:"Previously, we went through the process of adding fonts to your project. While the process of adding additional assets like images or icons has some similarities to adding fonts, it also has its unique steps. In this post, we'll cover multiple ways of adding assets and using them on your site."}),"\n",(0,o.jsx)(n.h2,{id:"adding-images",children:"Adding images"}),"\n",(0,o.jsxs)(n.p,{children:["Similar to fonts, there is also a dedicated folder for adding images that will be used in a theme. The location of this folder is ",(0,o.jsx)(n.strong,{children:(0,o.jsx)(n.em,{children:"assets/images"})}),". The procedure to add images is even simpler than fonts, which you can read about in ",(0,o.jsx)(n.a,{href:"/blog/adding-fonts",children:"Adding fonts"})," blog post. Just follow these steps to add a new image:"]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["add the image in inside ",(0,o.jsx)(n.strong,{children:(0,o.jsx)(n.em,{children:"assets/images"})})," folder"]}),"\n",(0,o.jsxs)(n.li,{children:["include it in ",(0,o.jsx)(n.strong,{children:(0,o.jsx)(n.em,{children:"assets/images/index.js"})})]}),"\n",(0,o.jsxs)(n.li,{children:["run ",(0,o.jsx)(n.code,{children:"npm start"})," to rebuild assets"]}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["The new image will now be available in the ",(0,o.jsx)(n.strong,{children:(0,o.jsx)(n.em,{children:"public"})})," folder. The use case for this is adding a favicon or a logo to your project. To use this image in one of your templates or blocks, you have to add the following in your ",(0,o.jsx)(n.strong,{children:(0,o.jsx)(n.em,{children:"php"})})," file:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"use YourNamespace\\Manifest\\Manifest;\n// ...\n\napply_filters(Manifest::MANIFEST_ITEM, 'logo.svg');\n"})}),"\n",(0,o.jsxs)(n.p,{children:["The filter we are using is called ",(0,o.jsx)(n.code,{children:"manifest-item"})," and we use it to get the URL of the asset from the ",(0,o.jsx)(n.strong,{children:(0,o.jsx)(n.em,{children:"public"})})," folder. You can read more about this in ",(0,o.jsx)(n.a,{href:"/docs/basics/manifest",children:"our documentation"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["You can see how this is being used for rendering both favicon and header logo in your theme's ",(0,o.jsx)(n.strong,{children:(0,o.jsx)(n.em,{children:"header.php"})})," file."]}),"\n",(0,o.jsx)(n.admonition,{type:"tip",children:(0,o.jsxs)(n.p,{children:["Don't hardcode the filter name in the ",(0,o.jsx)(n.code,{children:"apply_filters"})," function. Always call it via class constants."]})}),"\n",(0,o.jsxs)(n.p,{children:["For better organization, you can add additional folders (e.g. ",(0,o.jsx)(n.strong,{children:(0,o.jsx)(n.em,{children:"icons"})}),", ",(0,o.jsx)(n.strong,{children:(0,o.jsx)(n.em,{children:"placeholders"})}),") inside the ",(0,o.jsx)(n.strong,{children:(0,o.jsx)(n.em,{children:"assets/images"})})," folder. Here's an example of how to include them:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"// Icons\nimport './icons/upload.svg';\n\n// Placeholders\nimport './placeholders/post.png';\nimport './placeholders/page.png';\n"})}),"\n",(0,o.jsx)(n.h2,{id:"using-svg-files-from-manifest",children:"Using SVG files from manifest"}),"\n",(0,o.jsxs)(n.p,{children:["If you recall from a previous blog post about ",(0,o.jsx)(n.a,{href:"/blog/modifying-blocks-color-theme",children:"Modifying Blocks"}),", you might have already seen an alternative approach to including SVG files in your block or component."]}),"\n",(0,o.jsx)(n.admonition,{title:":es-hide-title:",type:"info",children:(0,o.jsxs)(n.p,{children:["If you don't have it in your project, be sure to read our blog post about adding blocks and components by using ",(0,o.jsx)(n.a,{href:"/blog/adding-blocks-wpcli",children:"WP CLI"}),"."]})}),"\n",(0,o.jsxs)(n.p,{children:["Open ",(0,o.jsx)(n.strong,{children:(0,o.jsx)(n.em,{children:"src/Blocks/components/quote/manifest.json"})})," and you'll see that the icon used by the component is defined inside ",(0,o.jsx)(n.code,{children:"resources"})," as a key-value pair. Key represents the name that we will use to fetch the icon, while the value is SVG code."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:"\"resources\": {\n\t\"icon\": \"<svg fill='none' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'>...</svg>\"\n}\n"})}),"\n",(0,o.jsxs)(n.p,{children:["In order to make the minification of SVG files as easy as possible, our teammate Goran made an awesome tool called ",(0,o.jsx)(n.a,{href:"https://svg-2-wp.goranalkovic.com/",children:"SVG2WP"}),". Some of the options include making attributes JSX compatible, or replacing the color value with ",(0,o.jsx)(n.code,{children:"currentColor"}),", which can then be used to change the SVG color through CSS."]}),"\n",(0,o.jsxs)(n.p,{children:["You've already seen the use of ",(0,o.jsx)(n.code,{children:"currentColor"})," in the above-mentioned blog post, where we've modified the color of the SVG."]}),"\n",(0,o.jsx)(n.p,{children:"The output of the icon on frontend is very simple. In the Quote component, it was done the following way:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"<?php $manifest = Components::getManifest(__DIR__); ?>\n\n<i class=\"<?php echo \\esc_attr(\"{$componentClass}__icon\"); ?>\">\n\t<?php echo $manifest['resources']['icon']; // phpcs:ignore Eightshift.Security.ComponentsEscape.OutputNotEscaped ?>\n</i>\n"})}),"\n",(0,o.jsxs)(n.p,{children:["An excellent example, where you can see in even more detail how SVGs are being used, is our ",(0,o.jsx)(n.code,{children:"icon"})," component. It isn't included in Eightshift theme by default, so you have to add it to your project with WP CLI. To include it in your project, use the following command:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"wp boilerplate blocks use-component --name=icon\n"})}),"\n",(0,o.jsxs)(n.p,{children:["If you include the Icon component inside a block, you will have the option to choose between multiple icons defined in the manifest. Another way to render SVGs from the Icon component is by using the ",(0,o.jsx)(n.code,{children:"Components::render"})," helper method:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"echo Components::render(\n\t'icon',\n\t[\n\t\t'blockClass' => $componentClass,\n\t\t'iconName' => 'download',\n\t]\n);\n"})}),"\n",(0,o.jsx)(n.p,{children:"Here are some examples of icons available out-of-the-box in our Icon component:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Icon component",src:s(81474).A+"",width:"470",height:"46"})}),"\n",(0,o.jsx)(n.h2,{id:"using-icons-for-editor-and-block-options",children:"Using icons for editor and block options"}),"\n",(0,o.jsxs)(n.p,{children:["When developing your blocks and adding new options, you may need to add icons to improve the user experience. We have many icons already available for use. You can see the full list in our ",(0,o.jsx)(n.a,{href:"/devkit-components",children:"Storybook"})," under ",(0,o.jsx)(n.code,{children:"UI icons"})," and ",(0,o.jsx)(n.code,{children:"Block icons"})," section. We already added the icon when adding a new Color Theme option for the Quote block. Here is the simplified version:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-jsx",children:"import { ColorPaletteCustom, IconLabel, icons } from '@eightshift/frontend-libs/scripts';\n\nreturn (\n\t<ColorPaletteCustom\n\t\tlabel={<IconLabel icon={icons.color} label={__('Color Theme', 'es-theme')} />}\n\t\t// ...\n\t/>\n);\n"})}),"\n",(0,o.jsx)(n.p,{children:"This was the end result when we were adding a new option in our Quote block:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Color Theme Options",src:s(52799).A+"",width:"275",height:"143"})}),"\n",(0,o.jsx)(n.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,o.jsx)(n.p,{children:"As you could see in this blog post, there are multiple ways of adding assets to a project. It all depends on how these will be used and what the scope of their use will be."})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},52799:(e,n,s)=>{s.d(n,{A:()=>o});const o="data:image/webp;base64,UklGRhAMAABXRUJQVlA4IAQMAAAwPgCdASoTAY8APjEYikQiIaER+ZygIAMEsrdwuwCEDG1bnsn5Afjd8wNSflX3Y/KPopSrdT343+tfur/rvdb/XPYB5gH6Tf5r+cdYrzAfyL+uf9D++exv+x3uW9AD+X/4D0QPYG9Bj9qPS9/Zv4KP2i/Z34Ff5h/Zf/HrRHiP+bfir3vf238ier78Ievf7k7oB6E/w/6v/Zf6B+xn5Ic5vwx/evxV+AL8H/jv9x/Hv8xeMKz39jvUC9a/lX+T/K7+4+ST6MfVX/HfhB9AH8Z/nX+P/qv7Pf1D45/03gteLewB/J/6r/oP77+1395+kz94/z3+c/Lz2lflP9o/2f+W+AP+Rfzv/Jf279zf79///+190Xrj/Zn2OP1q/7wzkVGv2QeSUKjxD3FPkiWvC4UW/ZuFwwj/SK/0eQPbvk1lc0JQt/mI0a/ZB5JQqXfC6QeQuLWYuprBOYhG0nqSMkG7nl6c1i7qGcAe3fJrHQO9/SLBZoTxT7Gsen9fFHGbgCz3CxXiAYhviJevy17b/8EJp+dDkbog8koVLamTinUwawUf5GjLgxr9kHjPbamKanPBXFVmtfmC/xY0pXJGUVA98UEZyHu/Fwu+HZZLD4Lx/cfxCPSPJCbjp3KMIrbBZ0V2p6X2+baDK+qeEgiUKl3w8kBq6gORUa/UAAD+/+zOAe6HeeGk1l65UNSuM0bF4uYzzsTbpVWY2QZvfB2TN//6IV7v6L5v7k6xPhfsWgv+ytMU9wZO0VH9+wnBm2jnEErrjEavQ7GlIojy9fqe5xJ8nqVlyJLoTvdX9gDfCTgU5+ZUkqLTGW7rrgIwIuznRP6AH5CcgtO/V7PcAc2l+P7T5TXmi6GvySrRYto3wP9r8cK4G5SDQsdWmnnBg7M7TgEaysq+PqzyZj0Ih0m4n+mkWIlx7fXJREUnEtvlpqXsAd0iuWR2+TWnExUA+fUcMAH1c3WIijn3EsXSNf/2XL+qv02/WGS3m3eHtf4JGcQcQ458jfquWcC9huRq6///R4ktXpJMPx8IHr2hp71Yck8tkZdveT8fOqGMdvJXDUp5lPoGwjSwkf2NI0OYX/IQ9qGBHAV+tEeWTvlerepMfv3SWDz44zhOV//OFOyEuErEhuJL8Xg5hmLqhFAWow4jHfji0aZNKdIEa99nOOKfHrCvxInfoAoFiZB+qeLZZDZ4qvOreJAtex2v17f47lNVy/ct0eRtvIkilPqfWio7If22x21FkKMjzo6Wh0GUCVG1l/QLO/8DIIP4At/Mo1wgZ3p5S0QiHxuOwlYvaogXfaGM1vNpFY2LjFXgnWv76aSMeQr4VdgSE2RFwLyO9ivvp+7DGUTT8R30JfkmHr6q74AdGsDWZVGDPnnLnUTFSqFUjjzBXYG+bdfbNRGWVPHu0vIWOcYMYodcUe0Jss1lMgDr2B0DDRORv+jrZSM00Tz8E9/yDrrVyHg3QtrgY/4A7o/TyWjvMzcZow8/x00ZCe2Z19S44FS2uYUK5DkvwXpjeMMLS0/ANsSpSP8B+QcMMCNIIfbw9uqpdjnM0xUYZzE4TiGdzICrU62Xazv7LiOAtqvAgqVcqcc+zEcTw9lLNyMX0esqx8P8blT9W70t8M/2+Z/oz1wq2JnnZir9c+qfA7c8ilwJ19q+to9q3JxNzNXEjir+kWCvRfPEpe76XEiXsHaEmPlP01a1MOapkmPAjElKHxaK5wHYQq4TOZnXoK/Rpwk+EdOymYG9d2xCoUEozVCI/Aujkls1piawznh8n9o3s8smRkVVYmcMg9wtDf66BKMj0vnTgTiJvF30+rT0lWPfyG+8c9noWVz8SGG8jEo4Yzl2n7nF8twYUfD5t9ur3h63KI9KXz8/9VXboTtlOkeaxn5QFOZO1jSBso+cAt0pgw/5TYX2VDl/vHmEKaaANEbleLa21vUOyu0zzztbwjv9xR8Amcf9On8DWSyJtmWmI1Ni5bxQgK/sv3ql/y3B+rSbrB5xurswO0JKiWFKfg83z4N9nwctKT1KMJW1JF8AT9WIN1g/Gc8dVbvlOSV2urnIOtjEjXc9qz4NJSnrE1O4AfmOnE411sR77aY5F+84LMY57M/iz/JX8xu9Z36/GYEG5eZFZ9fJATtSiXsV62/zYGTwk9kYPN7Wd69U1oQWshfQB0LHX2iNUm3MHfI+B/lGx93urTxLoWaeKVp3su0bt18cuRcZb8/n19/cWUzezaSDtQolwhPO+4OcTTgTnStENh9ajgzzcWxX6jKkK6hNOKgO++Q9H5ELDWto9uakmxoTGiX9yjHQZLoHg+KfnIjpd3aGLJWJpBrK7jvrfaV/gEheGyczNv/y3Nw2zCgLehm7XyGAIGCGqYovVnW74WJfurVOeQ2jcc9z8dSn80ZE2zerKcmkN59O7Z9eM8JhZIugg6/nbQqmDpYtEdjGfaodgCjPbcKBuGq02ZYH0MN3f5d0LrXEHKy3wlc7wL/i6gXniEDsrVzq6Jqf8m1Mi7bef9y3Nn1YYTewm0e9e+1enyqD7OLjxQiIcAXuno7NRw69qdveSElSly3E3ZkOcub5Ju/lgpbaS3goAA0e7f63l2/MnXCtbdN3ExBCUbS59ZIh9HYx1m4guvskX+s7y32C1S/oTOpun29eDysH6LQGAWC322te5W2l7DHmclE7E+rAyqpg3Q6xwNH6VWAV+pGlS8SZQn1NxcL1tNuBKJh7Vn45C0Xr9lhZo2un6MzaLR5qiitoEE0O+72FbzgQBafRK7AhJX8k1SLX4mCVQBSnYH3a5LzKIVnI46QbHmDM9JmK6L9pPnMLmPGrfQMxBZMJX4hiLb2PRmA+RbLZpEpl6OmrL1Bc4iJDKZGcTrV8uwVhum3Uc4/vGTbAeQTsWv/tt14IiaJlWnuXA/bdIyPFNGXgmjMSmYe9UhOt232fu4eirAsZg5Seyqi0QIZjDZ0jQyLYf8TGZMCJkaXkcbZ3F33LkJX3cp3yQK5gPcUBNwanurYmtdJ8/OnTbsIyxUQjFCvOMx85NJe150VQwQY5J35i0Qg5KbzNxyoMRGLf9laggibbFTGkx/hI9FYxQv3EAAj6DIC2Fh6ma6NuE6l+mxCxQ7w/YeLX7MGnk2XFIbeQH35EBbfc5mTtvbAJspp2biXn3uPQLtnhiL1QuY/eWW9IupCVy+YBxsB3//Jrj5vEdqaO5iyzCzV9Sh97AkgXZBY/hKYNgwLhPEQ0u4kB0vwdZwDQxs4aU317qfUcAzoiT7eKgq1eAurgOv+oy9PJXSGci9LD0fyMUm+msR+2W60EwHCR5AlMvhI1GRe4ImHN2ZQQY4ZXzgYz6Frnm4OS59+sZc0ZOnXvb99Mb0oCJIYuky8PeKTWX/numfGBxMptVN4qBU7FRBiZ/78EdDQ4wbiVRT8pn3AagjJVXLPAsVskO6P66RlsYUfGCT9n/DCbsfAwZjgjAOTgX/D62oEY1HTW4eoBt33qZHlaQUJrTDthhXzKF/wi8ttkCoZxO5xANkC0YTvS7mmk2vYo9ZeKicrOZ0ADletPSOv/qFA94JxEPQpa+3dDHySBo0xd6x9+exV5gS/4Y2eCHvkRv7ctEq7DVnl1Wq3E29BcTUO6TrgGTJuOX6oXWkDamoL2pYeoDicImv1kR24sAeBtF+gZhNDRhTK3UO/6JkEY6J9/D4sUwrr71t+wlEoPfFSZxb2hMbu3Lk2aM8kPdCvi0ns2jd4T4Q6rsaywFrxbzGjJHoWrms4XlN+ULQlbAQH+lhzz6IJb53MEMn3t3iOdt0KU6Jk9p5vmk2jQpqu7YI2QKBHEh4ztERsSYo85MPP32tMox+V8jpwAtBcl8VGqtNfRWP5h+9ZhRsuC0L/I88l6rj8JaVksQjTcByezrZD199Bgh3jqc/D5YQELPNiYyjB9ESD2e9aA/ramnRI2xODla2XCgwwNy0sIqsaIaaesHn3nk8HxeePIW06WPCGEY9OH3O+4vu8V4sh6roxCRooW90BfiPYZvkvV5u5hnQmxBWUhIRkjJQTPbEjg97qUZ3lyCnDpOnAzTEnvhxMIjGMPBlRTmaJmQFz3NsnpU5NqPXmbmjnYgHd9GljSAAAAAAAA"},81474:(e,n,s)=>{s.d(n,{A:()=>o});const o="data:image/webp;base64,UklGRlIJAABXRUJQVlA4IEYJAABwMwCdASrWAS4APjEYiUOiIaEQmq3sIAMEtIALaT8M/yX8dfAb+ufj74h/mP6f+Ln7Wf332AOkW/VfJL9Qfqv89/ZH9zP+B8Af0D8OfMHgBfiv8P/rX49/mB7Wvsz8ArGvMC9UPiv9S/JD+1/tb7Dn4t+OnuB9N/7p7gH8k/kv9v/Ir95vl7+2f3TyAvlP969gL+a/0n/If3T9w/8V9JH5d/cv7H/ev89/dv///7/hH+O/0j/Vf3j9z/779gf8b/k/+O/tH+L/3f+F/+P/B+zb2Afrh7Gf6k/f+QNrmHTVG83YUsK3CPWvW9mFYqRdn6lnmcJDBL1ytnvUd6MkTb48Ju1UMgd+UJNk4ZAOzy3aGmDBKuYqYYtkC3UU2oo+HiM2ZuKs/Yu02biSiWKJ7kZxLPbpguER+QsCUAG8SWwz2H8IDxTTd0asHJcTK31VYwXXAD/v7QKf6ORi/r29VvRnohft/q/YGxP+YhsF95xOM4++utakA/XjDjcfmmRdW53lWZMnYOgus+8HnHs0RvoAdm7/nGavpysHPagW4Cc4uIBOcNAA/v+JpBwxpPFOI/XPpkhs9YSUveR6yWfjrqS4rfvU5Yuf7RERRZi0wZv2p6dI4fWV4izLBf2+MD2bwOD3imMHE0derLCOe3FS3LEw07YN+QkRM+K8TmLuRpkUAgcyVYkvw1LYotU+fz5ywSEB+QKYK515i+fZZkCorSP3hpBBCiZk/Fo7OV/03h94b3k/+UDnkhbuE4CuzFs0Cwko4B9Ffq8dFnK/6bw+8N7hUfDzuyOfSktq0MyNqoOwfQPG1MyFLh05Yf6e9Mig08UHD4Ac+U4fGq+jvWISQwlu/MN2cduDPnHwSesoxuMAWrD9ZvATvFOLEI9iZLI2ho1c1ffLaO+FLh5EMVbZUO2LpS3BCAZl2iKzcFP3+6W+Bu21fgkLJxIiNsn+4/y/KsYkLG0vCg5eQa+04uV/ARzA4EefivU29YL+jL2USBc26CeJfU79zCEkn3tmxs4EEfkWPw5hFQIFXNgRKHp5Sqbf3x05n9v+CGONvzphNTuHi/RUlHzfFCi0CrEwyvDh3eTZ150d4q67XuHe2FMY2VwrJGcw5d0sUV6L7OGblOP6TtggJC7dxDR8TIvs8QOFv0e31VDoBV8YBVyJX8iakUTuAex8WG09gCNJo+Me977IJEdOGX6afA13pcincMQiMxg4Dq/l+UKUm+G/ZZrb6JJuC+RNvEm6r95AL3sPW437dpvi2Il5BroS+hOphtTECEUmtQFliKghJz+p/K+LkpNKABniUHQ20TBHLz1F+3xv1iFCrz4mDvB6DEy9MKY5Yduxi/5sFOxev397faPhzYGQw/KExQDsEtuHtgmrQ6ii47zwEidq27Z9p4yKf/g1bGeU6FP+m/nL9b/63mmhtl8hkPKIh7qGt6ZmRsSNhtJuzrYGr+160xXsFS4mgyiipGVHX0FxcRL/wxN4MWA+BSEnXtRsan1A3y92qY/w2VHGTxLI8/5dzIYTNUH83RgSALbW7QwmaWmEUoLcUsBhBhQ/bkfSnoV75KXR5lG8+2pd93BvnsiJeehkt+Vb4+X8VXc35IzSqlrlPVgTmZHlUZAcPIsXQMg+EHmQPpVwVGzAE+6c+8TM7soQaBUsFnmsF4yzxXlH64fntqQtF8evNa5Ne3u9XQS9QxKHHFl1q/a4SPZjPc0uyH+xhWMWtcNbr8qW3oMXL5gnfGdFOHa05ZFsH69HTG9fQPxNX9y8g8BLIUvy6V6xT+PAQ5gL1dfQsOlAr8nDcPU94AQyQj15rXKHsW2Qk54zw84+RwPF3tS569OLDPeLJkaonWX9jO0HMYDM4H1hHoWlM6tWPgqi7mlO0ebMYSuOHaqyiHZfoTJFiT8q+SPcffqJ20zVWlxZvY/PFJ5dbm0o7RbZjUHvZ+qGvtXAwtODQVcuPt+6V8fLrGS80r8DphfkBktKGeL2lnBulIkMG4ncich/bRy/7WaPg/J6PrfSfLMgQ1cBQytae8/iOuYQhuJQZ5HIbVszUPhTHbTqaH7lh3YO6CiRdjdgl5YQFoCsnvVuUrlawaz5qVygtYp+lSmm/G0VC32pVvE02TshnS1qrHsYfZp5BRtmSBfF1dx1IhncyInjV9QCnAca9i5JZCPAcMUrlebLVTn3Ki4Wg4zxHovYddBhK4ro7QHwZRlV+J8TcPPbL0vWHz1l+CGLB+8P0gC+KgQ8Foua1VZwXmpBUCBkK9ViwdVJZH8270sKTYmMX0ip2IFF+WQN3HyU28KfS5W+tfT1BeTC5e2DT/p3VregPis/m8ELKZZHcU5rjdl2p2ZIBCKuFRxzM0a/jC8P80dIH4CcOSd08NPShsoMOA0E35K/FzIcSBOPR7j/DgeMQ5zibukKmQ0d9/5h/iAt/MY1dcj5wu4m9oLDsFtGrG+BtJg3vRR/F/UTEO2UhslTPPkeQ32yeHW8j3SQ5uLuBFyYrmCmJfmaUjfihqdG23er//oKnsQykd6S45aArx9YfMmYpQlGHg7PNSJC+mUkoMnrzZg3zSFHnjzcbpPSSM0JihxVGpUzgFWk72c1m2EGXyuNOLBRiX21dxWdgQdcW+kwIFCm1xfulH7aZSm/Q5wuj7Qi4AcZt1FHKn0QlNggTft4/OgVMEz5l2ZS85r1I+XWP5Xw8CGheUb8gmIj/c9fCxhnbyzZXx27LyhY4GpvVX9nazK5tAFKsXP8d2tsfSuJ7p+N4fpTxZO8cGQogm5hW3F5LrMuHAY41thH2Woyxyl6jnC+nOoVDTND0kxbrMJ7/8G8mHBZ+iHul8IB58psscNHLbrnYPk0D2sKYzrmfqpHG8LdJPB66vKvzYtfT2aa86wt0z7A9I3lNxZhOC3Bx9bYErRwvF+yf0YB6J3s2kJjO0f8fYcG7aAuHiiL9cZqJEb3twnCtwp9550x1L5/hWOiItm/xJQMJtGXO4Swv53Bq1APDLzfaliN8wniBhjXWDb5X92TyfM8dnf/p65nD/rss5uMOpV0lfuPJy8hLAsQ/m8GjRcvf+4/2E4OOJHRwFz8AURqBc+2t7w3SaN3gq4nXoAFh1aKmEApH/eVAXesbfrWoO8YuS0fA2ZpK4ZlSYUO22cTZ+YbRhVrlBT54Yy/nnU7gAAAAAAA"},28453:(e,n,s)=>{s.d(n,{R:()=>l,x:()=>r});var o=s(96540);const i={},t=o.createContext(i);function l(e){const n=o.useContext(t);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),o.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/938b8490.def59c98.js b/assets/js/938b8490.def59c98.js deleted file mode 100644 index 2e8b65e4a..000000000 --- a/assets/js/938b8490.def59c98.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[51006],{8528:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>t,metadata:()=>r,toc:()=>c});var o=s(74848),i=s(28453);const t={title:"Using assets in a project",description:"Step-by-step guide on how to add assets like images or icons to your theme.",slug:"using-assets",authors:"obradovic",date:new Date("2022-04-28T00:00:00.000Z"),tags:["eightshift","boilerplate","assets","images","icons"],hide_table_of_contents:!1},l=void 0,r={permalink:"/blog/using-assets",source:"@site/blog/2022-04-25-using-assets.md",title:"Using assets in a project",description:"Step-by-step guide on how to add assets like images or icons to your theme.",date:"2022-04-28T00:00:00.000Z",formattedDate:"April 28, 2022",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"assets",permalink:"/blog/tags/assets"},{label:"images",permalink:"/blog/tags/images"},{label:"icons",permalink:"/blog/tags/icons"}],readingTime:3.945,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Using assets in a project",description:"Step-by-step guide on how to add assets like images or icons to your theme.",slug:"using-assets",authors:"obradovic",date:"2022-04-28T00:00:00.000Z",tags:["eightshift","boilerplate","assets","images","icons"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"How to use ACF in your project",permalink:"/blog/acf-in-a-project"},nextItem:{title:"Adding fonts",permalink:"/blog/adding-fonts"}},a={authorsImageUrls:[void 0]},c=[{value:"Adding images",id:"adding-images",level:2},{value:"Using SVG files from manifest",id:"using-svg-files-from-manifest",level:2},{value:"Using icons for editor and block options",id:"using-icons-for-editor-and-block-options",level:2},{value:"Conclusion",id:"conclusion",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:"Previously, we went through the process of adding fonts to your project. While the process of adding additional assets like images or icons has some similarities to adding fonts, it also has its unique steps. In this post, we'll cover multiple ways of adding assets and using them on your site."}),"\n",(0,o.jsx)(n.h2,{id:"adding-images",children:"Adding images"}),"\n",(0,o.jsxs)(n.p,{children:["Similar to fonts, there is also a dedicated folder for adding images that will be used in a theme. The location of this folder is ",(0,o.jsx)(n.strong,{children:(0,o.jsx)(n.em,{children:"assets/images"})}),". The procedure to add images is even simpler than fonts, which you can read about in ",(0,o.jsx)(n.a,{href:"/blog/adding-fonts",children:"Adding fonts"})," blog post. Just follow these steps to add a new image:"]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["add the image in inside ",(0,o.jsx)(n.strong,{children:(0,o.jsx)(n.em,{children:"assets/images"})})," folder"]}),"\n",(0,o.jsxs)(n.li,{children:["include it in ",(0,o.jsx)(n.strong,{children:(0,o.jsx)(n.em,{children:"assets/images/index.js"})})]}),"\n",(0,o.jsxs)(n.li,{children:["run ",(0,o.jsx)(n.code,{children:"npm start"})," to rebuild assets"]}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["The new image will now be available in the ",(0,o.jsx)(n.strong,{children:(0,o.jsx)(n.em,{children:"public"})})," folder. The use case for this is adding a favicon or a logo to your project. To use this image in one of your templates or blocks, you have to add the following in your ",(0,o.jsx)(n.strong,{children:(0,o.jsx)(n.em,{children:"php"})})," file:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"use YourNamespace\\Manifest\\Manifest;\n// ...\n\napply_filters(Manifest::MANIFEST_ITEM, 'logo.svg');\n"})}),"\n",(0,o.jsxs)(n.p,{children:["The filter we are using is called ",(0,o.jsx)(n.code,{children:"manifest-item"})," and we use it to get the URL of the asset from the ",(0,o.jsx)(n.strong,{children:(0,o.jsx)(n.em,{children:"public"})})," folder. You can read more about this in ",(0,o.jsx)(n.a,{href:"/docs/basics/manifest",children:"our documentation"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["You can see how this is being used for rendering both favicon and header logo in your theme's ",(0,o.jsx)(n.strong,{children:(0,o.jsx)(n.em,{children:"header.php"})})," file."]}),"\n",(0,o.jsx)(n.admonition,{type:"tip",children:(0,o.jsxs)(n.p,{children:["Don't hardcode the filter name in the ",(0,o.jsx)(n.code,{children:"apply_filters"})," function. Always call it via class constants."]})}),"\n",(0,o.jsxs)(n.p,{children:["For better organization, you can add additional folders (e.g. ",(0,o.jsx)(n.strong,{children:(0,o.jsx)(n.em,{children:"icons"})}),", ",(0,o.jsx)(n.strong,{children:(0,o.jsx)(n.em,{children:"placeholders"})}),") inside the ",(0,o.jsx)(n.strong,{children:(0,o.jsx)(n.em,{children:"assets/images"})})," folder. Here's an example of how to include them:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"// Icons\nimport './icons/upload.svg';\n\n// Placeholders\nimport './placeholders/post.png';\nimport './placeholders/page.png';\n"})}),"\n",(0,o.jsx)(n.h2,{id:"using-svg-files-from-manifest",children:"Using SVG files from manifest"}),"\n",(0,o.jsxs)(n.p,{children:["If you recall from a previous blog post about ",(0,o.jsx)(n.a,{href:"/blog/modifying-blocks-color-theme",children:"Modifying Blocks"}),", you might have already seen an alternative approach to including SVG files in your block or component."]}),"\n",(0,o.jsx)(n.admonition,{title:":es-hide-title:",type:"info",children:(0,o.jsxs)(n.p,{children:["If you don't have it in your project, be sure to read our blog post about adding blocks and components by using ",(0,o.jsx)(n.a,{href:"/blog/adding-blocks-wpcli",children:"WP CLI"}),"."]})}),"\n",(0,o.jsxs)(n.p,{children:["Open ",(0,o.jsx)(n.strong,{children:(0,o.jsx)(n.em,{children:"src/Blocks/components/quote/manifest.json"})})," and you'll see that the icon used by the component is defined inside ",(0,o.jsx)(n.code,{children:"resources"})," as a key-value pair. Key represents the name that we will use to fetch the icon, while the value is SVG code."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:"\"resources\": {\n\t\"icon\": \"<svg fill='none' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'>...</svg>\"\n}\n"})}),"\n",(0,o.jsxs)(n.p,{children:["In order to make the minification of SVG files as easy as possible, our teammate Goran made an awesome tool called ",(0,o.jsx)(n.a,{href:"https://svg-2-wp.goranalkovic.com/",children:"SVG2WP"}),". Some of the options include making attributes JSX compatible, or replacing the color value with ",(0,o.jsx)(n.code,{children:"currentColor"}),", which can then be used to change the SVG color through CSS."]}),"\n",(0,o.jsxs)(n.p,{children:["You've already seen the use of ",(0,o.jsx)(n.code,{children:"currentColor"})," in the above-mentioned blog post, where we've modified the color of the SVG."]}),"\n",(0,o.jsx)(n.p,{children:"The output of the icon on frontend is very simple. In the Quote component, it was done the following way:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"<?php $manifest = Components::getManifest(__DIR__); ?>\n\n<i class=\"<?php echo \\esc_attr(\"{$componentClass}__icon\"); ?>\">\n\t<?php echo $manifest['resources']['icon']; // phpcs:ignore Eightshift.Security.ComponentsEscape.OutputNotEscaped ?>\n</i>\n"})}),"\n",(0,o.jsxs)(n.p,{children:["An excellent example, where you can see in even more detail how SVGs are being used, is our ",(0,o.jsx)(n.code,{children:"icon"})," component. It isn't included in Eightshift theme by default, so you have to add it to your project with WP CLI. To include it in your project, use the following command:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"wp boilerplate blocks use-component --name=icon\n"})}),"\n",(0,o.jsxs)(n.p,{children:["If you include the Icon component inside a block, you will have the option to choose between multiple icons defined in the manifest. Another way to render SVGs from the Icon component is by using the ",(0,o.jsx)(n.code,{children:"Components::render"})," helper method:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-php",children:"echo Components::render(\n\t'icon',\n\t[\n\t\t'blockClass' => $componentClass,\n\t\t'iconName' => 'download',\n\t]\n);\n"})}),"\n",(0,o.jsx)(n.p,{children:"Here are some examples of icons available out-of-the-box in our Icon component:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Icon component",src:s(81474).A+"",width:"470",height:"46"})}),"\n",(0,o.jsx)(n.h2,{id:"using-icons-for-editor-and-block-options",children:"Using icons for editor and block options"}),"\n",(0,o.jsxs)(n.p,{children:["When developing your blocks and adding new options, you may need to add icons to improve the user experience. We have many icons already available for use. You can see the full list in our ",(0,o.jsx)(n.a,{href:"/devkit-components",children:"Storybook"})," under ",(0,o.jsx)(n.code,{children:"UI icons"})," and ",(0,o.jsx)(n.code,{children:"Block icons"})," section. We already added the icon when adding a new Color Theme option for the Quote block. Here is the simplified version:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-jsx",children:"import { ColorPaletteCustom, IconLabel, icons } from '@eightshift/frontend-libs/scripts';\n\nreturn (\n\t<ColorPaletteCustom\n\t\tlabel={<IconLabel icon={icons.color} label={__('Color Theme', 'es-theme')} />}\n\t\t// ...\n\t/>\n);\n"})}),"\n",(0,o.jsx)(n.p,{children:"This was the end result when we were adding a new option in our Quote block:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Color Theme Options",src:s(52799).A+"",width:"275",height:"143"})}),"\n",(0,o.jsx)(n.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,o.jsx)(n.p,{children:"As you could see in this blog post, there are multiple ways of adding assets to a project. It all depends on how these will be used and what the scope of their use will be."})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},52799:(e,n,s)=>{s.d(n,{A:()=>o});const o="data:image/webp;base64,UklGRhAMAABXRUJQVlA4IAQMAAAwPgCdASoTAY8APjEYikQiIaER+ZygIAMEsrdwuwCEDG1bnsn5Afjd8wNSflX3Y/KPopSrdT343+tfur/rvdb/XPYB5gH6Tf5r+cdYrzAfyL+uf9D++exv+x3uW9AD+X/4D0QPYG9Bj9qPS9/Zv4KP2i/Z34Ff5h/Zf/HrRHiP+bfir3vf238ier78Ievf7k7oB6E/w/6v/Zf6B+xn5Ic5vwx/evxV+AL8H/jv9x/Hv8xeMKz39jvUC9a/lX+T/K7+4+ST6MfVX/HfhB9AH8Z/nX+P/qv7Pf1D45/03gteLewB/J/6r/oP77+1395+kz94/z3+c/Lz2lflP9o/2f+W+AP+Rfzv/Jf279zf79///+190Xrj/Zn2OP1q/7wzkVGv2QeSUKjxD3FPkiWvC4UW/ZuFwwj/SK/0eQPbvk1lc0JQt/mI0a/ZB5JQqXfC6QeQuLWYuprBOYhG0nqSMkG7nl6c1i7qGcAe3fJrHQO9/SLBZoTxT7Gsen9fFHGbgCz3CxXiAYhviJevy17b/8EJp+dDkbog8koVLamTinUwawUf5GjLgxr9kHjPbamKanPBXFVmtfmC/xY0pXJGUVA98UEZyHu/Fwu+HZZLD4Lx/cfxCPSPJCbjp3KMIrbBZ0V2p6X2+baDK+qeEgiUKl3w8kBq6gORUa/UAAD+/+zOAe6HeeGk1l65UNSuM0bF4uYzzsTbpVWY2QZvfB2TN//6IV7v6L5v7k6xPhfsWgv+ytMU9wZO0VH9+wnBm2jnEErrjEavQ7GlIojy9fqe5xJ8nqVlyJLoTvdX9gDfCTgU5+ZUkqLTGW7rrgIwIuznRP6AH5CcgtO/V7PcAc2l+P7T5TXmi6GvySrRYto3wP9r8cK4G5SDQsdWmnnBg7M7TgEaysq+PqzyZj0Ih0m4n+mkWIlx7fXJREUnEtvlpqXsAd0iuWR2+TWnExUA+fUcMAH1c3WIijn3EsXSNf/2XL+qv02/WGS3m3eHtf4JGcQcQ458jfquWcC9huRq6///R4ktXpJMPx8IHr2hp71Yck8tkZdveT8fOqGMdvJXDUp5lPoGwjSwkf2NI0OYX/IQ9qGBHAV+tEeWTvlerepMfv3SWDz44zhOV//OFOyEuErEhuJL8Xg5hmLqhFAWow4jHfji0aZNKdIEa99nOOKfHrCvxInfoAoFiZB+qeLZZDZ4qvOreJAtex2v17f47lNVy/ct0eRtvIkilPqfWio7If22x21FkKMjzo6Wh0GUCVG1l/QLO/8DIIP4At/Mo1wgZ3p5S0QiHxuOwlYvaogXfaGM1vNpFY2LjFXgnWv76aSMeQr4VdgSE2RFwLyO9ivvp+7DGUTT8R30JfkmHr6q74AdGsDWZVGDPnnLnUTFSqFUjjzBXYG+bdfbNRGWVPHu0vIWOcYMYodcUe0Jss1lMgDr2B0DDRORv+jrZSM00Tz8E9/yDrrVyHg3QtrgY/4A7o/TyWjvMzcZow8/x00ZCe2Z19S44FS2uYUK5DkvwXpjeMMLS0/ANsSpSP8B+QcMMCNIIfbw9uqpdjnM0xUYZzE4TiGdzICrU62Xazv7LiOAtqvAgqVcqcc+zEcTw9lLNyMX0esqx8P8blT9W70t8M/2+Z/oz1wq2JnnZir9c+qfA7c8ilwJ19q+to9q3JxNzNXEjir+kWCvRfPEpe76XEiXsHaEmPlP01a1MOapkmPAjElKHxaK5wHYQq4TOZnXoK/Rpwk+EdOymYG9d2xCoUEozVCI/Aujkls1piawznh8n9o3s8smRkVVYmcMg9wtDf66BKMj0vnTgTiJvF30+rT0lWPfyG+8c9noWVz8SGG8jEo4Yzl2n7nF8twYUfD5t9ur3h63KI9KXz8/9VXboTtlOkeaxn5QFOZO1jSBso+cAt0pgw/5TYX2VDl/vHmEKaaANEbleLa21vUOyu0zzztbwjv9xR8Amcf9On8DWSyJtmWmI1Ni5bxQgK/sv3ql/y3B+rSbrB5xurswO0JKiWFKfg83z4N9nwctKT1KMJW1JF8AT9WIN1g/Gc8dVbvlOSV2urnIOtjEjXc9qz4NJSnrE1O4AfmOnE411sR77aY5F+84LMY57M/iz/JX8xu9Z36/GYEG5eZFZ9fJATtSiXsV62/zYGTwk9kYPN7Wd69U1oQWshfQB0LHX2iNUm3MHfI+B/lGx93urTxLoWaeKVp3su0bt18cuRcZb8/n19/cWUzezaSDtQolwhPO+4OcTTgTnStENh9ajgzzcWxX6jKkK6hNOKgO++Q9H5ELDWto9uakmxoTGiX9yjHQZLoHg+KfnIjpd3aGLJWJpBrK7jvrfaV/gEheGyczNv/y3Nw2zCgLehm7XyGAIGCGqYovVnW74WJfurVOeQ2jcc9z8dSn80ZE2zerKcmkN59O7Z9eM8JhZIugg6/nbQqmDpYtEdjGfaodgCjPbcKBuGq02ZYH0MN3f5d0LrXEHKy3wlc7wL/i6gXniEDsrVzq6Jqf8m1Mi7bef9y3Nn1YYTewm0e9e+1enyqD7OLjxQiIcAXuno7NRw69qdveSElSly3E3ZkOcub5Ju/lgpbaS3goAA0e7f63l2/MnXCtbdN3ExBCUbS59ZIh9HYx1m4guvskX+s7y32C1S/oTOpun29eDysH6LQGAWC322te5W2l7DHmclE7E+rAyqpg3Q6xwNH6VWAV+pGlS8SZQn1NxcL1tNuBKJh7Vn45C0Xr9lhZo2un6MzaLR5qiitoEE0O+72FbzgQBafRK7AhJX8k1SLX4mCVQBSnYH3a5LzKIVnI46QbHmDM9JmK6L9pPnMLmPGrfQMxBZMJX4hiLb2PRmA+RbLZpEpl6OmrL1Bc4iJDKZGcTrV8uwVhum3Uc4/vGTbAeQTsWv/tt14IiaJlWnuXA/bdIyPFNGXgmjMSmYe9UhOt232fu4eirAsZg5Seyqi0QIZjDZ0jQyLYf8TGZMCJkaXkcbZ3F33LkJX3cp3yQK5gPcUBNwanurYmtdJ8/OnTbsIyxUQjFCvOMx85NJe150VQwQY5J35i0Qg5KbzNxyoMRGLf9laggibbFTGkx/hI9FYxQv3EAAj6DIC2Fh6ma6NuE6l+mxCxQ7w/YeLX7MGnk2XFIbeQH35EBbfc5mTtvbAJspp2biXn3uPQLtnhiL1QuY/eWW9IupCVy+YBxsB3//Jrj5vEdqaO5iyzCzV9Sh97AkgXZBY/hKYNgwLhPEQ0u4kB0vwdZwDQxs4aU317qfUcAzoiT7eKgq1eAurgOv+oy9PJXSGci9LD0fyMUm+msR+2W60EwHCR5AlMvhI1GRe4ImHN2ZQQY4ZXzgYz6Frnm4OS59+sZc0ZOnXvb99Mb0oCJIYuky8PeKTWX/numfGBxMptVN4qBU7FRBiZ/78EdDQ4wbiVRT8pn3AagjJVXLPAsVskO6P66RlsYUfGCT9n/DCbsfAwZjgjAOTgX/D62oEY1HTW4eoBt33qZHlaQUJrTDthhXzKF/wi8ttkCoZxO5xANkC0YTvS7mmk2vYo9ZeKicrOZ0ADletPSOv/qFA94JxEPQpa+3dDHySBo0xd6x9+exV5gS/4Y2eCHvkRv7ctEq7DVnl1Wq3E29BcTUO6TrgGTJuOX6oXWkDamoL2pYeoDicImv1kR24sAeBtF+gZhNDRhTK3UO/6JkEY6J9/D4sUwrr71t+wlEoPfFSZxb2hMbu3Lk2aM8kPdCvi0ns2jd4T4Q6rsaywFrxbzGjJHoWrms4XlN+ULQlbAQH+lhzz6IJb53MEMn3t3iOdt0KU6Jk9p5vmk2jQpqu7YI2QKBHEh4ztERsSYo85MPP32tMox+V8jpwAtBcl8VGqtNfRWP5h+9ZhRsuC0L/I88l6rj8JaVksQjTcByezrZD199Bgh3jqc/D5YQELPNiYyjB9ESD2e9aA/ramnRI2xODla2XCgwwNy0sIqsaIaaesHn3nk8HxeePIW06WPCGEY9OH3O+4vu8V4sh6roxCRooW90BfiPYZvkvV5u5hnQmxBWUhIRkjJQTPbEjg97qUZ3lyCnDpOnAzTEnvhxMIjGMPBlRTmaJmQFz3NsnpU5NqPXmbmjnYgHd9GljSAAAAAAAA"},81474:(e,n,s)=>{s.d(n,{A:()=>o});const o="data:image/webp;base64,UklGRlIJAABXRUJQVlA4IEYJAABwMwCdASrWAS4APjEYiUOiIaEQmq3sIAMEtIALaT8M/yX8dfAb+ufj74h/mP6f+Ln7Wf332AOkW/VfJL9Qfqv89/ZH9zP+B8Af0D8OfMHgBfiv8P/rX49/mB7Wvsz8ArGvMC9UPiv9S/JD+1/tb7Dn4t+OnuB9N/7p7gH8k/kv9v/Ir95vl7+2f3TyAvlP969gL+a/0n/If3T9w/8V9JH5d/cv7H/ev89/dv///7/hH+O/0j/Vf3j9z/779gf8b/k/+O/tH+L/3f+F/+P/B+zb2Afrh7Gf6k/f+QNrmHTVG83YUsK3CPWvW9mFYqRdn6lnmcJDBL1ytnvUd6MkTb48Ju1UMgd+UJNk4ZAOzy3aGmDBKuYqYYtkC3UU2oo+HiM2ZuKs/Yu02biSiWKJ7kZxLPbpguER+QsCUAG8SWwz2H8IDxTTd0asHJcTK31VYwXXAD/v7QKf6ORi/r29VvRnohft/q/YGxP+YhsF95xOM4++utakA/XjDjcfmmRdW53lWZMnYOgus+8HnHs0RvoAdm7/nGavpysHPagW4Cc4uIBOcNAA/v+JpBwxpPFOI/XPpkhs9YSUveR6yWfjrqS4rfvU5Yuf7RERRZi0wZv2p6dI4fWV4izLBf2+MD2bwOD3imMHE0derLCOe3FS3LEw07YN+QkRM+K8TmLuRpkUAgcyVYkvw1LYotU+fz5ywSEB+QKYK515i+fZZkCorSP3hpBBCiZk/Fo7OV/03h94b3k/+UDnkhbuE4CuzFs0Cwko4B9Ffq8dFnK/6bw+8N7hUfDzuyOfSktq0MyNqoOwfQPG1MyFLh05Yf6e9Mig08UHD4Ac+U4fGq+jvWISQwlu/MN2cduDPnHwSesoxuMAWrD9ZvATvFOLEI9iZLI2ho1c1ffLaO+FLh5EMVbZUO2LpS3BCAZl2iKzcFP3+6W+Bu21fgkLJxIiNsn+4/y/KsYkLG0vCg5eQa+04uV/ARzA4EefivU29YL+jL2USBc26CeJfU79zCEkn3tmxs4EEfkWPw5hFQIFXNgRKHp5Sqbf3x05n9v+CGONvzphNTuHi/RUlHzfFCi0CrEwyvDh3eTZ150d4q67XuHe2FMY2VwrJGcw5d0sUV6L7OGblOP6TtggJC7dxDR8TIvs8QOFv0e31VDoBV8YBVyJX8iakUTuAex8WG09gCNJo+Me977IJEdOGX6afA13pcincMQiMxg4Dq/l+UKUm+G/ZZrb6JJuC+RNvEm6r95AL3sPW437dpvi2Il5BroS+hOphtTECEUmtQFliKghJz+p/K+LkpNKABniUHQ20TBHLz1F+3xv1iFCrz4mDvB6DEy9MKY5Yduxi/5sFOxev397faPhzYGQw/KExQDsEtuHtgmrQ6ii47zwEidq27Z9p4yKf/g1bGeU6FP+m/nL9b/63mmhtl8hkPKIh7qGt6ZmRsSNhtJuzrYGr+160xXsFS4mgyiipGVHX0FxcRL/wxN4MWA+BSEnXtRsan1A3y92qY/w2VHGTxLI8/5dzIYTNUH83RgSALbW7QwmaWmEUoLcUsBhBhQ/bkfSnoV75KXR5lG8+2pd93BvnsiJeehkt+Vb4+X8VXc35IzSqlrlPVgTmZHlUZAcPIsXQMg+EHmQPpVwVGzAE+6c+8TM7soQaBUsFnmsF4yzxXlH64fntqQtF8evNa5Ne3u9XQS9QxKHHFl1q/a4SPZjPc0uyH+xhWMWtcNbr8qW3oMXL5gnfGdFOHa05ZFsH69HTG9fQPxNX9y8g8BLIUvy6V6xT+PAQ5gL1dfQsOlAr8nDcPU94AQyQj15rXKHsW2Qk54zw84+RwPF3tS569OLDPeLJkaonWX9jO0HMYDM4H1hHoWlM6tWPgqi7mlO0ebMYSuOHaqyiHZfoTJFiT8q+SPcffqJ20zVWlxZvY/PFJ5dbm0o7RbZjUHvZ+qGvtXAwtODQVcuPt+6V8fLrGS80r8DphfkBktKGeL2lnBulIkMG4ncich/bRy/7WaPg/J6PrfSfLMgQ1cBQytae8/iOuYQhuJQZ5HIbVszUPhTHbTqaH7lh3YO6CiRdjdgl5YQFoCsnvVuUrlawaz5qVygtYp+lSmm/G0VC32pVvE02TshnS1qrHsYfZp5BRtmSBfF1dx1IhncyInjV9QCnAca9i5JZCPAcMUrlebLVTn3Ki4Wg4zxHovYddBhK4ro7QHwZRlV+J8TcPPbL0vWHz1l+CGLB+8P0gC+KgQ8Foua1VZwXmpBUCBkK9ViwdVJZH8270sKTYmMX0ip2IFF+WQN3HyU28KfS5W+tfT1BeTC5e2DT/p3VregPis/m8ELKZZHcU5rjdl2p2ZIBCKuFRxzM0a/jC8P80dIH4CcOSd08NPShsoMOA0E35K/FzIcSBOPR7j/DgeMQ5zibukKmQ0d9/5h/iAt/MY1dcj5wu4m9oLDsFtGrG+BtJg3vRR/F/UTEO2UhslTPPkeQ32yeHW8j3SQ5uLuBFyYrmCmJfmaUjfihqdG23er//oKnsQykd6S45aArx9YfMmYpQlGHg7PNSJC+mUkoMnrzZg3zSFHnjzcbpPSSM0JihxVGpUzgFWk72c1m2EGXyuNOLBRiX21dxWdgQdcW+kwIFCm1xfulH7aZSm/Q5wuj7Qi4AcZt1FHKn0QlNggTft4/OgVMEz5l2ZS85r1I+XWP5Xw8CGheUb8gmIj/c9fCxhnbyzZXx27LyhY4GpvVX9nazK5tAFKsXP8d2tsfSuJ7p+N4fpTxZO8cGQogm5hW3F5LrMuHAY41thH2Woyxyl6jnC+nOoVDTND0kxbrMJ7/8G8mHBZ+iHul8IB58psscNHLbrnYPk0D2sKYzrmfqpHG8LdJPB66vKvzYtfT2aa86wt0z7A9I3lNxZhOC3Bx9bYErRwvF+yf0YB6J3s2kJjO0f8fYcG7aAuHiiL9cZqJEb3twnCtwp9550x1L5/hWOiItm/xJQMJtGXO4Swv53Bq1APDLzfaliN8wniBhjXWDb5X92TyfM8dnf/p65nD/rss5uMOpV0lfuPJy8hLAsQ/m8GjRcvf+4/2E4OOJHRwFz8AURqBc+2t7w3SaN3gq4nXoAFh1aKmEApH/eVAXesbfrWoO8YuS0fA2ZpK4ZlSYUO22cTZ+YbRhVrlBT54Yy/nnU7gAAAAAAA"},28453:(e,n,s)=>{s.d(n,{R:()=>l,x:()=>r});var o=s(96540);const i={},t=o.createContext(i);function l(e){const n=o.useContext(t);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),o.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9462.fe5d8b03.js b/assets/js/9462.58fd6b75.js similarity index 88% rename from assets/js/9462.fe5d8b03.js rename to assets/js/9462.58fd6b75.js index f865686d9..265922905 100644 --- a/assets/js/9462.fe5d8b03.js +++ b/assets/js/9462.58fd6b75.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[9462],{9462:(e,t,r)=>{function n(e,t){var r=void 0;return function(){for(var n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];r&&clearTimeout(r),r=setTimeout((function(){return e.apply(void 0,o)}),t)}}function o(e){return e!==Object(e)}function i(e,t){if(e===t)return!0;if(o(e)||o(t)||"function"==typeof e||"function"==typeof t)return e===t;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var r=0,n=Object.keys(e);r<n.length;r++){var a=n[r];if(!(a in t))return!1;if(!i(e[a],t[a]))return!1}return!0}r.r(t),r.d(t,{DocSearchModal:()=>pn});var a=function(){};function c(e){var t=e.item,r=e.items;return{index:t.__autocomplete_indexName,items:[t],positions:[1+r.findIndex((function(e){return e.objectID===t.objectID}))],queryID:t.__autocomplete_queryID,algoliaSource:["autocomplete"]}}function l(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,c=[],l=!0,u=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=i.call(r)).done)&&(c.push(n.value),c.length!==t);l=!0);}catch(s){u=!0,o=s}finally{try{if(!l&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return c}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return u(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return u(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var s=["items"],f=["items"];function m(e){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},m(e)}function p(e){return function(e){if(Array.isArray(e))return v(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return v(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return v(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function d(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function y(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}function h(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?y(Object(r),!0).forEach((function(t){b(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):y(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function b(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==m(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==m(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===m(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function g(e){return e.map((function(e){var t=e.items,r=d(e,s);return h(h({},r),{},{objectIDs:(null==t?void 0:t.map((function(e){return e.objectID})))||r.objectIDs})}))}function O(e){var t,r,n,o=(t=l((e.version||"").split(".").map(Number),2),r=t[0],n=t[1],r>=3||2===r&&n>=4||1===r&&n>=10);function i(t,r,n){if(o&&void 0!==n){var i=n[0].__autocomplete_algoliaCredentials,a={"X-Algolia-Application-Id":i.appId,"X-Algolia-API-Key":i.apiKey};e.apply(void 0,[t].concat(p(r),[{headers:a}]))}else e.apply(void 0,[t].concat(p(r)))}return{init:function(t,r){e("init",{appId:t,apiKey:r})},setUserToken:function(t){e("setUserToken",t)},clickedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&i("clickedObjectIDsAfterSearch",g(t),t[0].items)},clickedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&i("clickedObjectIDs",g(t),t[0].items)},clickedFilters:function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];r.length>0&&e.apply(void 0,["clickedFilters"].concat(r))},convertedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&i("convertedObjectIDsAfterSearch",g(t),t[0].items)},convertedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&i("convertedObjectIDs",g(t),t[0].items)},convertedFilters:function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];r.length>0&&e.apply(void 0,["convertedFilters"].concat(r))},viewedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&t.reduce((function(e,t){var r=t.items,n=d(t,f);return[].concat(p(e),p(function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:20,r=[],n=0;n<e.objectIDs.length;n+=t)r.push(h(h({},e),{},{objectIDs:e.objectIDs.slice(n,n+t)}));return r}(h(h({},n),{},{objectIDs:(null==r?void 0:r.map((function(e){return e.objectID})))||n.objectIDs})).map((function(e){return{items:r,payload:e}}))))}),[]).forEach((function(e){var t=e.items;return i("viewedObjectIDs",[e.payload],t)}))},viewedFilters:function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];r.length>0&&e.apply(void 0,["viewedFilters"].concat(r))}}}function S(e){var t=e.items.reduce((function(e,t){var r;return e[t.__autocomplete_indexName]=(null!==(r=e[t.__autocomplete_indexName])&&void 0!==r?r:[]).concat(t),e}),{});return Object.keys(t).map((function(e){return{index:e,items:t[e],algoliaSource:["autocomplete"]}}))}function j(e){return e.objectID&&e.__autocomplete_indexName&&e.__autocomplete_queryID}function w(e){return w="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},w(e)}function E(e){return function(e){if(Array.isArray(e))return P(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return P(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return P(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function P(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function I(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}function D(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?I(Object(r),!0).forEach((function(t){A(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):I(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function A(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==w(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==w(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===w(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var k="2.6.0",x="https://cdn.jsdelivr.net/npm/search-insights@".concat(k,"/dist/search-insights.min.js"),C=n((function(e){var t=e.onItemsChange,r=e.items,n=e.insights,o=e.state;t({insights:n,insightsEvents:S({items:r}).map((function(e){return D({eventName:"Items Viewed"},e)})),state:o})}),400);function _(e){var t=function(e){return D({onItemsChange:function(e){var t=e.insights,r=e.insightsEvents;t.viewedObjectIDs.apply(t,E(r.map((function(e){return D(D({},e),{},{algoliaSource:[].concat(E(e.algoliaSource||[]),["autocomplete-internal"])})}))))},onSelect:function(e){var t=e.insights,r=e.insightsEvents;t.clickedObjectIDsAfterSearch.apply(t,E(r.map((function(e){return D(D({},e),{},{algoliaSource:[].concat(E(e.algoliaSource||[]),["autocomplete-internal"])})}))))},onActive:a},e)}(e),r=t.insightsClient,o=t.onItemsChange,l=t.onSelect,u=t.onActive,s=r;r||function(e){if("undefined"!=typeof window)e({window:window})}((function(e){var t=e.window,r=t.AlgoliaAnalyticsObject||"aa";"string"==typeof r&&(s=t[r]),s||(t.AlgoliaAnalyticsObject=r,t[r]||(t[r]=function(){t[r].queue||(t[r].queue=[]);for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];t[r].queue.push(n)}),t[r].version=k,s=t[r],function(e){var t="[Autocomplete]: Could not load search-insights.js. Please load it manually following https://alg.li/insights-autocomplete";try{var r=e.document.createElement("script");r.async=!0,r.src=x,r.onerror=function(){console.error(t)},document.body.appendChild(r)}catch(n){console.error(t)}}(t))}));var f=O(s),m={current:[]},p=n((function(e){var t=e.state;if(t.isOpen){var r=t.collections.reduce((function(e,t){return[].concat(E(e),E(t.items))}),[]).filter(j);i(m.current.map((function(e){return e.objectID})),r.map((function(e){return e.objectID})))||(m.current=r,r.length>0&&C({onItemsChange:o,items:r,insights:f,state:t}))}}),0);return{name:"aa.algoliaInsightsPlugin",subscribe:function(e){var t=e.setContext,r=e.onSelect,n=e.onActive;s("addAlgoliaAgent","insights-plugin"),t({algoliaInsightsPlugin:{__algoliaSearchParameters:{clickAnalytics:!0},insights:f}}),r((function(e){var t=e.item,r=e.state,n=e.event;j(t)&&l({state:r,event:n,insights:f,item:t,insightsEvents:[D({eventName:"Item Selected"},c({item:t,items:m.current}))]})})),n((function(e){var t=e.item,r=e.state,n=e.event;j(t)&&u({state:r,event:n,insights:f,item:t,insightsEvents:[D({eventName:"Item Active"},c({item:t,items:m.current}))]})}))},onStateChange:function(e){var t=e.state;p({state:t})},__autocomplete_pluginOptions:e}}function N(e){return N="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},N(e)}function T(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}function q(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==N(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==N(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===N(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function R(e,t,r){var n,o=t.initialState;return{getState:function(){return o},dispatch:function(n,i){var a=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?T(Object(r),!0).forEach((function(t){q(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):T(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},o);o=e(o,{type:n,props:t,payload:i}),r({state:o,prevState:a})},pendingRequests:(n=[],{add:function(e){return n.push(e),e.finally((function(){n=n.filter((function(t){return t!==e}))}))},cancelAll:function(){n.forEach((function(e){return e.cancel()}))},isEmpty:function(){return 0===n.length}})}}function L(e){return e.reduce((function(e,t){return e.concat(t)}),[])}function M(e){return M="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},M(e)}function H(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}function F(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?H(Object(r),!0).forEach((function(t){U(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):H(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function U(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==M(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==M(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===M(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function B(e){return 0===e.collections.length?0:e.collections.reduce((function(e,t){return e+t.items.length}),0)}var V=0;function K(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}function $(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?K(Object(r),!0).forEach((function(t){J(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):K(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function J(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==z(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==z(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===z(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function z(e){return z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},z(e)}function W(e){return W="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},W(e)}function Q(e){return function(e){if(Array.isArray(e))return Z(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Z(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Z(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Z(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function G(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}function X(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?G(Object(r),!0).forEach((function(t){Y(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):G(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Y(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==W(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==W(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===W(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ee(e,t){var r,n="undefined"!=typeof window?window:{},o=e.plugins||[];return X(X({debug:!1,openOnFocus:!1,placeholder:"",autoFocus:!1,defaultActiveItemId:null,stallThreshold:300,insights:!1,environment:n,shouldPanelOpen:function(e){return B(e.state)>0},reshape:function(e){return e.sources}},e),{},{id:null!==(r=e.id)&&void 0!==r?r:"autocomplete-".concat(V++),plugins:o,initialState:X({activeItemId:null,query:"",completion:null,collections:[],isOpen:!1,status:"idle",context:{}},e.initialState),onStateChange:function(t){var r;null===(r=e.onStateChange)||void 0===r||r.call(e,t),o.forEach((function(e){var r;return null===(r=e.onStateChange)||void 0===r?void 0:r.call(e,t)}))},onSubmit:function(t){var r;null===(r=e.onSubmit)||void 0===r||r.call(e,t),o.forEach((function(e){var r;return null===(r=e.onSubmit)||void 0===r?void 0:r.call(e,t)}))},onReset:function(t){var r;null===(r=e.onReset)||void 0===r||r.call(e,t),o.forEach((function(e){var r;return null===(r=e.onReset)||void 0===r?void 0:r.call(e,t)}))},getSources:function(r){return Promise.all([].concat(Q(o.map((function(e){return e.getSources}))),[e.getSources]).filter(Boolean).map((function(e){return function(e,t){var r=[];return Promise.resolve(e(t)).then((function(e){return Array.isArray(e),Promise.all(e.filter((function(e){return Boolean(e)})).map((function(e){if(e.sourceId,r.includes(e.sourceId))throw new Error("[Autocomplete] The `sourceId` ".concat(JSON.stringify(e.sourceId)," is not unique."));r.push(e.sourceId);var t={getItemInputValue:function(e){return e.state.query},getItemUrl:function(){},onSelect:function(e){(0,e.setIsOpen)(!1)},onActive:a,onResolve:a};Object.keys(t).forEach((function(e){t[e].__default=!0}));var n=$($({},t),e);return Promise.resolve(n)})))}))}(e,r)}))).then((function(e){return L(e)})).then((function(e){return e.map((function(e){return X(X({},e),{},{onSelect:function(r){e.onSelect(r),t.forEach((function(e){var t;return null===(t=e.onSelect)||void 0===t?void 0:t.call(e,r)}))},onActive:function(r){e.onActive(r),t.forEach((function(e){var t;return null===(t=e.onActive)||void 0===t?void 0:t.call(e,r)}))},onResolve:function(r){e.onResolve(r),t.forEach((function(e){var t;return null===(t=e.onResolve)||void 0===t?void 0:t.call(e,r)}))}})}))}))},navigator:X({navigate:function(e){var t=e.itemUrl;n.location.assign(t)},navigateNewTab:function(e){var t=e.itemUrl,r=n.open(t,"_blank","noopener");null==r||r.focus()},navigateNewWindow:function(e){var t=e.itemUrl;n.open(t,"_blank","noopener")}},e.navigator)})}function te(e){return te="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},te(e)}function re(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}function ne(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?re(Object(r),!0).forEach((function(t){oe(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):re(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function oe(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==te(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==te(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===te(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ie(e){return ie="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ie(e)}function ae(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}function ce(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ae(Object(r),!0).forEach((function(t){le(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ae(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function le(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==ie(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==ie(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===ie(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ue(e){return function(e){if(Array.isArray(e))return se(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return se(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return se(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function se(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function fe(e){return Boolean(e.execute)}function me(e,t,r){if(o=e,Boolean(null==o?void 0:o.execute)){var n="algolia"===e.requesterId?Object.assign.apply(Object,[{}].concat(ue(Object.keys(r.context).map((function(e){var t;return null===(t=r.context[e])||void 0===t?void 0:t.__algoliaSearchParameters}))))):{};return ce(ce({},e),{},{requests:e.queries.map((function(r){return{query:"algolia"===e.requesterId?ce(ce({},r),{},{params:ce(ce({},n),r.params)}):r,sourceId:t,transformResponse:e.transformResponse}}))})}var o;return{items:e,sourceId:t}}function pe(e){var t=e.reduce((function(e,t){if(!fe(t))return e.push(t),e;var r=t.searchClient,n=t.execute,o=t.requesterId,i=t.requests,a=e.find((function(e){return fe(t)&&fe(e)&&e.searchClient===r&&Boolean(o)&&e.requesterId===o}));if(a){var c;(c=a.items).push.apply(c,ue(i))}else{var l={execute:n,requesterId:o,items:i,searchClient:r};e.push(l)}return e}),[]).map((function(e){if(!fe(e))return Promise.resolve(e);var t=e,r=t.execute,n=t.items;return r({searchClient:t.searchClient,requests:n})}));return Promise.all(t).then((function(e){return L(e)}))}function ve(e,t,r){return t.map((function(t){var n,o=e.filter((function(e){return e.sourceId===t.sourceId})),i=o.map((function(e){return e.items})),a=o[0].transformResponse,c=a?a({results:n=i,hits:n.map((function(e){return e.hits})).filter(Boolean),facetHits:n.map((function(e){var t;return null===(t=e.facetHits)||void 0===t?void 0:t.map((function(e){return{label:e.value,count:e.count,_highlightResult:{label:{value:e.highlighted}}}}))})).filter(Boolean)}):i;return t.onResolve({source:t,results:i,items:c,state:r.getState()}),Array.isArray(c),c.every(Boolean),'The `getItems` function from source "'.concat(t.sourceId,'" must return an array of items but returned ').concat(JSON.stringify(void 0),".\n\nDid you forget to return items?\n\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems"),{source:t,items:c}}))}function de(e,t){var r=t;return{then:function(t,n){return de(e.then(be(t,r,e),be(n,r,e)),r)},catch:function(t){return de(e.catch(be(t,r,e)),r)},finally:function(t){return t&&r.onCancelList.push(t),de(e.finally(be(t&&function(){return r.onCancelList=[],t()},r,e)),r)},cancel:function(){r.isCanceled=!0;var e=r.onCancelList;r.onCancelList=[],e.forEach((function(e){e()}))},isCanceled:function(){return!0===r.isCanceled}}}function ye(e){return de(new Promise((function(t,r){return e(t,r)})),{isCanceled:!1,onCancelList:[]})}function he(e){return de(e,{isCanceled:!1,onCancelList:[]})}function be(e,t,r){return e?function(r){return t.isCanceled?r:e(r)}:r}function ge(e){var t=function(e){var t=e.collections.map((function(e){return e.items.length})).reduce((function(e,t,r){var n=(e[r-1]||0)+t;return e.push(n),e}),[]).reduce((function(t,r){return r<=e.activeItemId?t+1:t}),0);return e.collections[t]}(e);if(!t)return null;var r=t.items[function(e){for(var t=e.state,r=e.collection,n=!1,o=0,i=0;!1===n;){var a=t.collections[o];if(a===r){n=!0;break}i+=a.items.length,o++}return t.activeItemId-i}({state:e,collection:t})],n=t.source;return{item:r,itemInputValue:n.getItemInputValue({item:r,state:e}),itemUrl:n.getItemUrl({item:r,state:e}),source:n}}function Oe(e){return Oe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Oe(e)}ye.resolve=function(e){return he(Promise.resolve(e))},ye.reject=function(e){return he(Promise.reject(e))};var Se=["event","nextState","props","query","refresh","store"];function je(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}function we(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?je(Object(r),!0).forEach((function(t){Ee(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):je(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Ee(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Oe(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Oe(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Oe(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Pe(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var Ie,De,Ae,ke=null,xe=(Ie=-1,De=-1,Ae=void 0,function(e){var t=++Ie;return Promise.resolve(e).then((function(e){return Ae&&t<De?Ae:(De=t,Ae=e,e)}))});function Ce(e){var t=e.event,r=e.nextState,n=void 0===r?{}:r,o=e.props,i=e.query,a=e.refresh,c=e.store,l=Pe(e,Se);ke&&o.environment.clearTimeout(ke);var u=l.setCollections,s=l.setIsOpen,f=l.setQuery,m=l.setActiveItemId,p=l.setStatus;if(f(i),m(o.defaultActiveItemId),!i&&!1===o.openOnFocus){var v,d=c.getState().collections.map((function(e){return we(we({},e),{},{items:[]})}));p("idle"),u(d),s(null!==(v=n.isOpen)&&void 0!==v?v:o.shouldPanelOpen({state:c.getState()}));var y=he(xe(d).then((function(){return Promise.resolve()})));return c.pendingRequests.add(y)}p("loading"),ke=o.environment.setTimeout((function(){p("stalled")}),o.stallThreshold);var h=he(xe(o.getSources(we({query:i,refresh:a,state:c.getState()},l)).then((function(e){return Promise.all(e.map((function(e){return Promise.resolve(e.getItems(we({query:i,refresh:a,state:c.getState()},l))).then((function(t){return me(t,e.sourceId,c.getState())}))}))).then(pe).then((function(t){return ve(t,e,c)})).then((function(e){return function(e){var t=e.collections,r=e.props,n=e.state,o=t.reduce((function(e,t){return ne(ne({},e),{},oe({},t.source.sourceId,ne(ne({},t.source),{},{getItems:function(){return L(t.items)}})))}),{}),i=r.plugins.reduce((function(e,t){return t.reshape?t.reshape(e):e}),{sourcesBySourceId:o,state:n}).sourcesBySourceId;return L(r.reshape({sourcesBySourceId:i,sources:Object.values(i),state:n})).filter(Boolean).map((function(e){return{source:e,items:e.getItems()}}))}({collections:e,props:o,state:c.getState()})}))})))).then((function(e){var r;p("idle"),u(e);var f=o.shouldPanelOpen({state:c.getState()});s(null!==(r=n.isOpen)&&void 0!==r?r:o.openOnFocus&&!i&&f||f);var m=ge(c.getState());if(null!==c.getState().activeItemId&&m){var v=m.item,d=m.itemInputValue,y=m.itemUrl,h=m.source;h.onActive(we({event:t,item:v,itemInputValue:d,itemUrl:y,refresh:a,source:h,state:c.getState()},l))}})).finally((function(){p("idle"),ke&&o.environment.clearTimeout(ke)}));return c.pendingRequests.add(h)}function _e(e){return _e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_e(e)}var Ne=["event","props","refresh","store"];function Te(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}function qe(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Te(Object(r),!0).forEach((function(t){Re(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Te(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Re(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==_e(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==_e(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===_e(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Le(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var Me=/((gt|sm)-|galaxy nexus)|samsung[- ]|samsungbrowser/i;function He(e){return He="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},He(e)}var Fe=["props","refresh","store"],Ue=["inputElement","formElement","panelElement"],Be=["inputElement"],Ve=["inputElement","maxLength"],Ke=["sourceIndex"],$e=["sourceIndex"],Je=["item","source","sourceIndex"];function ze(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}function We(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ze(Object(r),!0).forEach((function(t){Qe(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ze(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Qe(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==He(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==He(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===He(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[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={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function Ge(e){var t=e.props,r=e.refresh,n=e.store,o=Ze(e,Fe),i=function(e,t){return void 0!==t?"".concat(e,"-").concat(t):e};return{getEnvironmentProps:function(e){var r=e.inputElement,o=e.formElement,i=e.panelElement;function a(e){!n.getState().isOpen&&n.pendingRequests.isEmpty()||e.target===r||!1===[o,i].some((function(t){return r=t,n=e.target,r===n||r.contains(n);var r,n}))&&(n.dispatch("blur",null),t.debug||n.pendingRequests.cancelAll())}return We({onTouchStart:a,onMouseDown:a,onTouchMove:function(e){!1!==n.getState().isOpen&&r===t.environment.document.activeElement&&e.target!==r&&r.blur()}},Ze(e,Ue))},getRootProps:function(e){return We({role:"combobox","aria-expanded":n.getState().isOpen,"aria-haspopup":"listbox","aria-owns":n.getState().isOpen?"".concat(t.id,"-list"):void 0,"aria-labelledby":"".concat(t.id,"-label")},e)},getFormProps:function(e){e.inputElement;return We({action:"",noValidate:!0,role:"search",onSubmit:function(i){var a;i.preventDefault(),t.onSubmit(We({event:i,refresh:r,state:n.getState()},o)),n.dispatch("submit",null),null===(a=e.inputElement)||void 0===a||a.blur()},onReset:function(i){var a;i.preventDefault(),t.onReset(We({event:i,refresh:r,state:n.getState()},o)),n.dispatch("reset",null),null===(a=e.inputElement)||void 0===a||a.focus()}},Ze(e,Be))},getLabelProps:function(e){var r=e||{},n=r.sourceIndex,o=Ze(r,Ke);return We({htmlFor:"".concat(i(t.id,n),"-input"),id:"".concat(i(t.id,n),"-label")},o)},getInputProps:function(e){var i;function c(e){(t.openOnFocus||Boolean(n.getState().query))&&Ce(We({event:e,props:t,query:n.getState().completion||n.getState().query,refresh:r,store:n},o)),n.dispatch("focus",null)}var l=e||{},u=(l.inputElement,l.maxLength),s=void 0===u?512:u,f=Ze(l,Ve),m=ge(n.getState()),p=function(e){return Boolean(e&&e.match(Me))}((null===(i=t.environment.navigator)||void 0===i?void 0:i.userAgent)||""),v=null!=m&&m.itemUrl&&!p?"go":"search";return We({"aria-autocomplete":"both","aria-activedescendant":n.getState().isOpen&&null!==n.getState().activeItemId?"".concat(t.id,"-item-").concat(n.getState().activeItemId):void 0,"aria-controls":n.getState().isOpen?"".concat(t.id,"-list"):void 0,"aria-labelledby":"".concat(t.id,"-label"),value:n.getState().completion||n.getState().query,id:"".concat(t.id,"-input"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",enterKeyHint:v,spellCheck:"false",autoFocus:t.autoFocus,placeholder:t.placeholder,maxLength:s,type:"search",onChange:function(e){Ce(We({event:e,props:t,query:e.currentTarget.value.slice(0,s),refresh:r,store:n},o))},onKeyDown:function(e){!function(e){var t=e.event,r=e.props,n=e.refresh,o=e.store,i=Le(e,Ne);if("ArrowUp"===t.key||"ArrowDown"===t.key){var a=function(){var e=r.environment.document.getElementById("".concat(r.id,"-item-").concat(o.getState().activeItemId));e&&(e.scrollIntoViewIfNeeded?e.scrollIntoViewIfNeeded(!1):e.scrollIntoView(!1))},c=function(){var e=ge(o.getState());if(null!==o.getState().activeItemId&&e){var r=e.item,a=e.itemInputValue,c=e.itemUrl,l=e.source;l.onActive(qe({event:t,item:r,itemInputValue:a,itemUrl:c,refresh:n,source:l,state:o.getState()},i))}};t.preventDefault(),!1===o.getState().isOpen&&(r.openOnFocus||Boolean(o.getState().query))?Ce(qe({event:t,props:r,query:o.getState().query,refresh:n,store:o},i)).then((function(){o.dispatch(t.key,{nextActiveItemId:r.defaultActiveItemId}),c(),setTimeout(a,0)})):(o.dispatch(t.key,{}),c(),a())}else if("Escape"===t.key)t.preventDefault(),o.dispatch(t.key,null),o.pendingRequests.cancelAll();else if("Tab"===t.key)o.dispatch("blur",null),o.pendingRequests.cancelAll();else if("Enter"===t.key){if(null===o.getState().activeItemId||o.getState().collections.every((function(e){return 0===e.items.length})))return void(r.debug||o.pendingRequests.cancelAll());t.preventDefault();var l=ge(o.getState()),u=l.item,s=l.itemInputValue,f=l.itemUrl,m=l.source;if(t.metaKey||t.ctrlKey)void 0!==f&&(m.onSelect(qe({event:t,item:u,itemInputValue:s,itemUrl:f,refresh:n,source:m,state:o.getState()},i)),r.navigator.navigateNewTab({itemUrl:f,item:u,state:o.getState()}));else if(t.shiftKey)void 0!==f&&(m.onSelect(qe({event:t,item:u,itemInputValue:s,itemUrl:f,refresh:n,source:m,state:o.getState()},i)),r.navigator.navigateNewWindow({itemUrl:f,item:u,state:o.getState()}));else if(t.altKey);else{if(void 0!==f)return m.onSelect(qe({event:t,item:u,itemInputValue:s,itemUrl:f,refresh:n,source:m,state:o.getState()},i)),void r.navigator.navigate({itemUrl:f,item:u,state:o.getState()});Ce(qe({event:t,nextState:{isOpen:!1},props:r,query:s,refresh:n,store:o},i)).then((function(){m.onSelect(qe({event:t,item:u,itemInputValue:s,itemUrl:f,refresh:n,source:m,state:o.getState()},i))}))}}}(We({event:e,props:t,refresh:r,store:n},o))},onFocus:c,onBlur:a,onClick:function(r){e.inputElement!==t.environment.document.activeElement||n.getState().isOpen||c(r)}},f)},getPanelProps:function(e){return We({onMouseDown:function(e){e.preventDefault()},onMouseLeave:function(){n.dispatch("mouseleave",null)}},e)},getListProps:function(e){var r=e||{},n=r.sourceIndex,o=Ze(r,$e);return We({role:"listbox","aria-labelledby":"".concat(i(t.id,n),"-label"),id:"".concat(i(t.id,n),"-list")},o)},getItemProps:function(e){var a=e.item,c=e.source,l=e.sourceIndex,u=Ze(e,Je);return We({id:"".concat(i(t.id,l),"-item-").concat(a.__autocomplete_id),role:"option","aria-selected":n.getState().activeItemId===a.__autocomplete_id,onMouseMove:function(e){if(a.__autocomplete_id!==n.getState().activeItemId){n.dispatch("mousemove",a.__autocomplete_id);var t=ge(n.getState());if(null!==n.getState().activeItemId&&t){var i=t.item,c=t.itemInputValue,l=t.itemUrl,u=t.source;u.onActive(We({event:e,item:i,itemInputValue:c,itemUrl:l,refresh:r,source:u,state:n.getState()},o))}}},onMouseDown:function(e){e.preventDefault()},onClick:function(e){var i=c.getItemInputValue({item:a,state:n.getState()}),l=c.getItemUrl({item:a,state:n.getState()});(l?Promise.resolve():Ce(We({event:e,nextState:{isOpen:!1},props:t,query:i,refresh:r,store:n},o))).then((function(){c.onSelect(We({event:e,item:a,itemInputValue:i,itemUrl:l,refresh:r,source:c,state:n.getState()},o))}))}},u)}}}var Xe=[{segment:"autocomplete-core",version:"1.9.3"}];function Ye(e){return Ye="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ye(e)}function et(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}function tt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?et(Object(r),!0).forEach((function(t){rt(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):et(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function rt(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Ye(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Ye(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Ye(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function nt(e){var t,r,n,o,i=e.plugins,a=e.options,c=null===(t=((null===(r=a.__autocomplete_metadata)||void 0===r?void 0:r.userAgents)||[])[0])||void 0===t?void 0:t.segment,l=c?rt({},c,Object.keys((null===(n=a.__autocomplete_metadata)||void 0===n?void 0:n.options)||{})):{};return{plugins:i.map((function(e){return{name:e.name,options:Object.keys(e.__autocomplete_pluginOptions||[])}})),options:tt({"autocomplete-core":Object.keys(a)},l),ua:Xe.concat((null===(o=a.__autocomplete_metadata)||void 0===o?void 0:o.userAgents)||[])}}function ot(e){var t,r=e.state;return!1===r.isOpen||null===r.activeItemId?null:(null===(t=ge(r))||void 0===t?void 0:t.itemInputValue)||null}function it(e,t,r,n){if(!r)return null;if(e<0&&(null===t||null!==n&&0===t))return r+e;var o=(null===t?-1:t)+e;return o<=-1||o>=r?null===n?null:0:o}function at(e){return at="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},at(e)}function ct(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}function lt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ct(Object(r),!0).forEach((function(t){ut(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ct(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function ut(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==at(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==at(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===at(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var st=function(e,t){switch(t.type){case"setActiveItemId":case"mousemove":return lt(lt({},e),{},{activeItemId:t.payload});case"setQuery":return lt(lt({},e),{},{query:t.payload,completion:null});case"setCollections":return lt(lt({},e),{},{collections:t.payload});case"setIsOpen":return lt(lt({},e),{},{isOpen:t.payload});case"setStatus":return lt(lt({},e),{},{status:t.payload});case"setContext":return lt(lt({},e),{},{context:lt(lt({},e.context),t.payload)});case"ArrowDown":var r=lt(lt({},e),{},{activeItemId:t.payload.hasOwnProperty("nextActiveItemId")?t.payload.nextActiveItemId:it(1,e.activeItemId,B(e),t.props.defaultActiveItemId)});return lt(lt({},r),{},{completion:ot({state:r})});case"ArrowUp":var n=lt(lt({},e),{},{activeItemId:it(-1,e.activeItemId,B(e),t.props.defaultActiveItemId)});return lt(lt({},n),{},{completion:ot({state:n})});case"Escape":return e.isOpen?lt(lt({},e),{},{activeItemId:null,isOpen:!1,completion:null}):lt(lt({},e),{},{activeItemId:null,query:"",status:"idle",collections:[]});case"submit":return lt(lt({},e),{},{activeItemId:null,isOpen:!1,status:"idle"});case"reset":return lt(lt({},e),{},{activeItemId:!0===t.props.openOnFocus?t.props.defaultActiveItemId:null,status:"idle",query:""});case"focus":return lt(lt({},e),{},{activeItemId:t.props.defaultActiveItemId,isOpen:(t.props.openOnFocus||Boolean(e.query))&&t.props.shouldPanelOpen({state:e})});case"blur":return t.props.debug?e:lt(lt({},e),{},{isOpen:!1,activeItemId:null});case"mouseleave":return lt(lt({},e),{},{activeItemId:t.props.defaultActiveItemId});default:return"The reducer action ".concat(JSON.stringify(t.type)," is not supported."),e}};function ft(e){return ft="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ft(e)}function mt(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}function pt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?mt(Object(r),!0).forEach((function(t){vt(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):mt(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function vt(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==ft(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==ft(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===ft(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function dt(e){var t=[],r=ee(e,t),n=R(st,r,(function(e){var t=e.prevState,n=e.state;r.onStateChange(pt({prevState:t,state:n,refresh:a,navigator:r.navigator},o))})),o=function(e){var t=e.store;return{setActiveItemId:function(e){t.dispatch("setActiveItemId",e)},setQuery:function(e){t.dispatch("setQuery",e)},setCollections:function(e){var r=0,n=e.map((function(e){return F(F({},e),{},{items:L(e.items).map((function(e){return F(F({},e),{},{__autocomplete_id:r++})}))})}));t.dispatch("setCollections",n)},setIsOpen:function(e){t.dispatch("setIsOpen",e)},setStatus:function(e){t.dispatch("setStatus",e)},setContext:function(e){t.dispatch("setContext",e)}}}({store:n}),i=Ge(pt({props:r,refresh:a,store:n,navigator:r.navigator},o));function a(){return Ce(pt({event:new Event("input"),nextState:{isOpen:n.getState().isOpen},props:r,navigator:r.navigator,query:n.getState().query,refresh:a,store:n},o))}if(e.insights&&!r.plugins.some((function(e){return"aa.algoliaInsightsPlugin"===e.name}))){var c="boolean"==typeof e.insights?{}:e.insights;r.plugins.push(_(c))}return r.plugins.forEach((function(e){var n;return null===(n=e.subscribe)||void 0===n?void 0:n.call(e,pt(pt({},o),{},{navigator:r.navigator,refresh:a,onSelect:function(e){t.push({onSelect:e})},onActive:function(e){t.push({onActive:e})},onResolve:function(e){t.push({onResolve:e})}}))})),function(e){var t,r,n=e.metadata,o=e.environment;if(null===(t=o.navigator)||void 0===t||null===(r=t.userAgent)||void 0===r?void 0:r.includes("Algolia Crawler")){var i=o.document.createElement("meta"),a=o.document.querySelector("head");i.name="algolia:metadata",setTimeout((function(){i.content=JSON.stringify(n),a.appendChild(i)}),0)}}({metadata:nt({plugins:r.plugins,options:e}),environment:r.environment}),pt(pt({refresh:a,navigator:r.navigator},i),o)}var yt=r(96540),ht=64;function bt(e){var t=e.translations,r=(void 0===t?{}:t).searchByText,n=void 0===r?"Search by":r;return yt.createElement("a",{href:"https://www.algolia.com/ref/docsearch/?utm_source=".concat(window.location.hostname,"&utm_medium=referral&utm_content=powered_by&utm_campaign=docsearch"),target:"_blank",rel:"noopener noreferrer"},yt.createElement("span",{className:"DocSearch-Label"},n),yt.createElement("svg",{width:"77",height:"19","aria-label":"Algolia",role:"img",id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 2196.2 500"},yt.createElement("defs",null,yt.createElement("style",null,".cls-1,.cls-2{fill:#003dff;}.cls-2{fill-rule:evenodd;}")),yt.createElement("path",{className:"cls-2",d:"M1070.38,275.3V5.91c0-3.63-3.24-6.39-6.82-5.83l-50.46,7.94c-2.87,.45-4.99,2.93-4.99,5.84l.17,273.22c0,12.92,0,92.7,95.97,95.49,3.33,.1,6.09-2.58,6.09-5.91v-40.78c0-2.96-2.19-5.51-5.12-5.84-34.85-4.01-34.85-47.57-34.85-54.72Z"}),yt.createElement("rect",{className:"cls-1",x:"1845.88",y:"104.73",width:"62.58",height:"277.9",rx:"5.9",ry:"5.9"}),yt.createElement("path",{className:"cls-2",d:"M1851.78,71.38h50.77c3.26,0,5.9-2.64,5.9-5.9V5.9c0-3.62-3.24-6.39-6.82-5.83l-50.77,7.95c-2.87,.45-4.99,2.92-4.99,5.83v51.62c0,3.26,2.64,5.9,5.9,5.9Z"}),yt.createElement("path",{className:"cls-2",d:"M1764.03,275.3V5.91c0-3.63-3.24-6.39-6.82-5.83l-50.46,7.94c-2.87,.45-4.99,2.93-4.99,5.84l.17,273.22c0,12.92,0,92.7,95.97,95.49,3.33,.1,6.09-2.58,6.09-5.91v-40.78c0-2.96-2.19-5.51-5.12-5.84-34.85-4.01-34.85-47.57-34.85-54.72Z"}),yt.createElement("path",{className:"cls-2",d:"M1631.95,142.72c-11.14-12.25-24.83-21.65-40.78-28.31-15.92-6.53-33.26-9.85-52.07-9.85-18.78,0-36.15,3.17-51.92,9.85-15.59,6.66-29.29,16.05-40.76,28.31-11.47,12.23-20.38,26.87-26.76,44.03-6.38,17.17-9.24,37.37-9.24,58.36,0,20.99,3.19,36.87,9.55,54.21,6.38,17.32,15.14,32.11,26.45,44.36,11.29,12.23,24.83,21.62,40.6,28.46,15.77,6.83,40.12,10.33,52.4,10.48,12.25,0,36.78-3.82,52.7-10.48,15.92-6.68,29.46-16.23,40.78-28.46,11.29-12.25,20.05-27.04,26.25-44.36,6.22-17.34,9.24-33.22,9.24-54.21,0-20.99-3.34-41.19-10.03-58.36-6.38-17.17-15.14-31.8-26.43-44.03Zm-44.43,163.75c-11.47,15.75-27.56,23.7-48.09,23.7-20.55,0-36.63-7.8-48.1-23.7-11.47-15.75-17.21-34.01-17.21-61.2,0-26.89,5.59-49.14,17.06-64.87,11.45-15.75,27.54-23.52,48.07-23.52,20.55,0,36.63,7.78,48.09,23.52,11.47,15.57,17.36,37.98,17.36,64.87,0,27.19-5.72,45.3-17.19,61.2Z"}),yt.createElement("path",{className:"cls-2",d:"M894.42,104.73h-49.33c-48.36,0-90.91,25.48-115.75,64.1-14.52,22.58-22.99,49.63-22.99,78.73,0,44.89,20.13,84.92,51.59,111.1,2.93,2.6,6.05,4.98,9.31,7.14,12.86,8.49,28.11,13.47,44.52,13.47,1.23,0,2.46-.03,3.68-.09,.36-.02,.71-.05,1.07-.07,.87-.05,1.75-.11,2.62-.2,.34-.03,.68-.08,1.02-.12,.91-.1,1.82-.21,2.73-.34,.21-.03,.42-.07,.63-.1,32.89-5.07,61.56-30.82,70.9-62.81v57.83c0,3.26,2.64,5.9,5.9,5.9h50.42c3.26,0,5.9-2.64,5.9-5.9V110.63c0-3.26-2.64-5.9-5.9-5.9h-56.32Zm0,206.92c-12.2,10.16-27.97,13.98-44.84,15.12-.16,.01-.33,.03-.49,.04-1.12,.07-2.24,.1-3.36,.1-42.24,0-77.12-35.89-77.12-79.37,0-10.25,1.96-20.01,5.42-28.98,11.22-29.12,38.77-49.74,71.06-49.74h49.33v142.83Z"}),yt.createElement("path",{className:"cls-2",d:"M2133.97,104.73h-49.33c-48.36,0-90.91,25.48-115.75,64.1-14.52,22.58-22.99,49.63-22.99,78.73,0,44.89,20.13,84.92,51.59,111.1,2.93,2.6,6.05,4.98,9.31,7.14,12.86,8.49,28.11,13.47,44.52,13.47,1.23,0,2.46-.03,3.68-.09,.36-.02,.71-.05,1.07-.07,.87-.05,1.75-.11,2.62-.2,.34-.03,.68-.08,1.02-.12,.91-.1,1.82-.21,2.73-.34,.21-.03,.42-.07,.63-.1,32.89-5.07,61.56-30.82,70.9-62.81v57.83c0,3.26,2.64,5.9,5.9,5.9h50.42c3.26,0,5.9-2.64,5.9-5.9V110.63c0-3.26-2.64-5.9-5.9-5.9h-56.32Zm0,206.92c-12.2,10.16-27.97,13.98-44.84,15.12-.16,.01-.33,.03-.49,.04-1.12,.07-2.24,.1-3.36,.1-42.24,0-77.12-35.89-77.12-79.37,0-10.25,1.96-20.01,5.42-28.98,11.22-29.12,38.77-49.74,71.06-49.74h49.33v142.83Z"}),yt.createElement("path",{className:"cls-2",d:"M1314.05,104.73h-49.33c-48.36,0-90.91,25.48-115.75,64.1-11.79,18.34-19.6,39.64-22.11,62.59-.58,5.3-.88,10.68-.88,16.14s.31,11.15,.93,16.59c4.28,38.09,23.14,71.61,50.66,94.52,2.93,2.6,6.05,4.98,9.31,7.14,12.86,8.49,28.11,13.47,44.52,13.47h0c17.99,0,34.61-5.93,48.16-15.97,16.29-11.58,28.88-28.54,34.48-47.75v50.26h-.11v11.08c0,21.84-5.71,38.27-17.34,49.36-11.61,11.08-31.04,16.63-58.25,16.63-11.12,0-28.79-.59-46.6-2.41-2.83-.29-5.46,1.5-6.27,4.22l-12.78,43.11c-1.02,3.46,1.27,7.02,4.83,7.53,21.52,3.08,42.52,4.68,54.65,4.68,48.91,0,85.16-10.75,108.89-32.21,21.48-19.41,33.15-48.89,35.2-88.52V110.63c0-3.26-2.64-5.9-5.9-5.9h-56.32Zm0,64.1s.65,139.13,0,143.36c-12.08,9.77-27.11,13.59-43.49,14.7-.16,.01-.33,.03-.49,.04-1.12,.07-2.24,.1-3.36,.1-1.32,0-2.63-.03-3.94-.1-40.41-2.11-74.52-37.26-74.52-79.38,0-10.25,1.96-20.01,5.42-28.98,11.22-29.12,38.77-49.74,71.06-49.74h49.33Z"}),yt.createElement("path",{className:"cls-1",d:"M249.83,0C113.3,0,2,110.09,.03,246.16c-2,138.19,110.12,252.7,248.33,253.5,42.68,.25,83.79-10.19,120.3-30.03,3.56-1.93,4.11-6.83,1.08-9.51l-23.38-20.72c-4.75-4.21-11.51-5.4-17.36-2.92-25.48,10.84-53.17,16.38-81.71,16.03-111.68-1.37-201.91-94.29-200.13-205.96,1.76-110.26,92-199.41,202.67-199.41h202.69V407.41l-115-102.18c-3.72-3.31-9.42-2.66-12.42,1.31-18.46,24.44-48.53,39.64-81.93,37.34-46.33-3.2-83.87-40.5-87.34-86.81-4.15-55.24,39.63-101.52,94-101.52,49.18,0,89.68,37.85,93.91,85.95,.38,4.28,2.31,8.27,5.52,11.12l29.95,26.55c3.4,3.01,8.79,1.17,9.63-3.3,2.16-11.55,2.92-23.58,2.07-35.92-4.82-70.34-61.8-126.93-132.17-131.26-80.68-4.97-148.13,58.14-150.27,137.25-2.09,77.1,61.08,143.56,138.19,145.26,32.19,.71,62.03-9.41,86.14-26.95l150.26,133.2c6.44,5.71,16.61,1.14,16.61-7.47V9.48C499.66,4.25,495.42,0,490.18,0H249.83Z"})))}function gt(e){return yt.createElement("svg",{width:"15",height:"15","aria-label":e.ariaLabel,role:"img"},yt.createElement("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"},e.children))}function Ot(e){var t=e.translations,r=void 0===t?{}:t,n=r.selectText,o=void 0===n?"to select":n,i=r.selectKeyAriaLabel,a=void 0===i?"Enter key":i,c=r.navigateText,l=void 0===c?"to navigate":c,u=r.navigateUpKeyAriaLabel,s=void 0===u?"Arrow up":u,f=r.navigateDownKeyAriaLabel,m=void 0===f?"Arrow down":f,p=r.closeText,v=void 0===p?"to close":p,d=r.closeKeyAriaLabel,y=void 0===d?"Escape key":d,h=r.searchByText,b=void 0===h?"Search by":h;return yt.createElement(yt.Fragment,null,yt.createElement("div",{className:"DocSearch-Logo"},yt.createElement(bt,{translations:{searchByText:b}})),yt.createElement("ul",{className:"DocSearch-Commands"},yt.createElement("li",null,yt.createElement("kbd",{className:"DocSearch-Commands-Key"},yt.createElement(gt,{ariaLabel:a},yt.createElement("path",{d:"M12 3.53088v3c0 1-1 2-2 2H4M7 11.53088l-3-3 3-3"}))),yt.createElement("span",{className:"DocSearch-Label"},o)),yt.createElement("li",null,yt.createElement("kbd",{className:"DocSearch-Commands-Key"},yt.createElement(gt,{ariaLabel:m},yt.createElement("path",{d:"M7.5 3.5v8M10.5 8.5l-3 3-3-3"}))),yt.createElement("kbd",{className:"DocSearch-Commands-Key"},yt.createElement(gt,{ariaLabel:s},yt.createElement("path",{d:"M7.5 11.5v-8M10.5 6.5l-3-3-3 3"}))),yt.createElement("span",{className:"DocSearch-Label"},l)),yt.createElement("li",null,yt.createElement("kbd",{className:"DocSearch-Commands-Key"},yt.createElement(gt,{ariaLabel:y},yt.createElement("path",{d:"M13.6167 8.936c-.1065.3583-.6883.962-1.4875.962-.7993 0-1.653-.9165-1.653-2.1258v-.5678c0-1.2548.7896-2.1016 1.653-2.1016.8634 0 1.3601.4778 1.4875 1.0724M9 6c-.1352-.4735-.7506-.9219-1.46-.8972-.7092.0246-1.344.57-1.344 1.2166s.4198.8812 1.3445.9805C8.465 7.3992 8.968 7.9337 9 8.5c.032.5663-.454 1.398-1.4595 1.398C6.6593 9.898 6 9 5.963 8.4851m-1.4748.5368c-.2635.5941-.8099.876-1.5443.876s-1.7073-.6248-1.7073-2.204v-.4603c0-1.0416.721-2.131 1.7073-2.131.9864 0 1.6425 1.031 1.5443 2.2492h-2.956"}))),yt.createElement("span",{className:"DocSearch-Label"},v))))}function St(e){var t=e.hit,r=e.children;return yt.createElement("a",{href:t.url},r)}function jt(){return yt.createElement("svg",{width:"40",height:"40",viewBox:"0 0 20 20",fill:"none",fillRule:"evenodd",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"},yt.createElement("path",{d:"M19 4.8a16 16 0 00-2-1.2m-3.3-1.2A16 16 0 001.1 4.7M16.7 8a12 12 0 00-2.8-1.4M10 6a12 12 0 00-6.7 2M12.3 14.7a4 4 0 00-4.5 0M14.5 11.4A8 8 0 0010 10M3 16L18 2M10 18h0"}))}function wt(e){var t=e.translations,r=void 0===t?{}:t,n=r.titleText,o=void 0===n?"Unable to fetch results":n,i=r.helpText,a=void 0===i?"You might want to check your network connection.":i;return yt.createElement("div",{className:"DocSearch-ErrorScreen"},yt.createElement("div",{className:"DocSearch-Screen-Icon"},yt.createElement(jt,null)),yt.createElement("p",{className:"DocSearch-Title"},o),yt.createElement("p",{className:"DocSearch-Help"},a))}function Et(){return yt.createElement("svg",{width:"40",height:"40",viewBox:"0 0 20 20",fill:"none",fillRule:"evenodd",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"},yt.createElement("path",{d:"M15.5 4.8c2 3 1.7 7-1 9.7h0l4.3 4.3-4.3-4.3a7.8 7.8 0 01-9.8 1m-2.2-2.2A7.8 7.8 0 0113.2 2.4M2 18L18 2"}))}var Pt=["translations"];function It(e){return function(e){if(Array.isArray(e))return Dt(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Dt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Dt(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Dt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function At(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function kt(e){var t=e.translations,r=void 0===t?{}:t,n=At(e,Pt),o=r.noResultsText,i=void 0===o?"No results for":o,a=r.suggestedQueryText,c=void 0===a?"Try searching for":a,l=r.reportMissingResultsText,u=void 0===l?"Believe this query should return results?":l,s=r.reportMissingResultsLinkText,f=void 0===s?"Let us know.":s,m=n.state.context.searchSuggestions;return yt.createElement("div",{className:"DocSearch-NoResults"},yt.createElement("div",{className:"DocSearch-Screen-Icon"},yt.createElement(Et,null)),yt.createElement("p",{className:"DocSearch-Title"},i,' "',yt.createElement("strong",null,n.state.query),'"'),m&&m.length>0&&yt.createElement("div",{className:"DocSearch-NoResults-Prefill-List"},yt.createElement("p",{className:"DocSearch-Help"},c,":"),yt.createElement("ul",null,m.slice(0,3).reduce((function(e,t){return[].concat(It(e),[yt.createElement("li",{key:t},yt.createElement("button",{className:"DocSearch-Prefill",key:t,type:"button",onClick:function(){n.setQuery(t.toLowerCase()+" "),n.refresh(),n.inputRef.current.focus()}},t))])}),[]))),n.getMissingResultsUrl&&yt.createElement("p",{className:"DocSearch-Help"},"".concat(u," "),yt.createElement("a",{href:n.getMissingResultsUrl({query:n.state.query}),target:"_blank",rel:"noopener noreferrer"},f)))}var xt=function(){return yt.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},yt.createElement("path",{d:"M17 6v12c0 .52-.2 1-1 1H4c-.7 0-1-.33-1-1V2c0-.55.42-1 1-1h8l5 5zM14 8h-3.13c-.51 0-.87-.34-.87-.87V4",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))};function Ct(e){switch(e.type){case"lvl1":return yt.createElement(xt,null);case"content":return yt.createElement(Nt,null);default:return yt.createElement(_t,null)}}function _t(){return yt.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},yt.createElement("path",{d:"M13 13h4-4V8H7v5h6v4-4H7V8H3h4V3v5h6V3v5h4-4v5zm-6 0v4-4H3h4z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}function Nt(){return yt.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},yt.createElement("path",{d:"M17 5H3h14zm0 5H3h14zm0 5H3h14z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))}function Tt(){return yt.createElement("svg",{className:"DocSearch-Hit-Select-Icon",width:"20",height:"20",viewBox:"0 0 20 20"},yt.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},yt.createElement("path",{d:"M18 3v4c0 2-2 4-4 4H2"}),yt.createElement("path",{d:"M8 17l-6-6 6-6"})))}var qt=["hit","attribute","tagName"];function Rt(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}function Lt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Rt(Object(r),!0).forEach((function(t){Mt(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Rt(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Mt(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ht(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function Ft(e,t){return t.split(".").reduce((function(e,t){return null!=e&&e[t]?e[t]:null}),e)}function Ut(e){var t=e.hit,r=e.attribute,n=e.tagName,o=void 0===n?"span":n,i=Ht(e,qt);return(0,yt.createElement)(o,Lt(Lt({},i),{},{dangerouslySetInnerHTML:{__html:Ft(t,"_snippetResult.".concat(r,".value"))||Ft(t,r)}}))}function Bt(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==r)return;var n,o,i=[],a=!0,c=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(l){c=!0,o=l}finally{try{a||null==r.return||r.return()}finally{if(c)throw o}}return i}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Vt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Vt(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Vt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Kt(){return Kt=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Kt.apply(this,arguments)}function $t(e){return e.collection&&0!==e.collection.items.length?yt.createElement("section",{className:"DocSearch-Hits"},yt.createElement("div",{className:"DocSearch-Hit-source"},e.title),yt.createElement("ul",e.getListProps(),e.collection.items.map((function(t,r){return yt.createElement(Jt,Kt({key:[e.title,t.objectID].join(":"),item:t,index:r},e))})))):null}function Jt(e){var t=e.item,r=e.index,n=e.renderIcon,o=e.renderAction,i=e.getItemProps,a=e.onItemClick,c=e.collection,l=e.hitComponent,u=Bt(yt.useState(!1),2),s=u[0],f=u[1],m=Bt(yt.useState(!1),2),p=m[0],v=m[1],d=yt.useRef(null),y=l;return yt.createElement("li",Kt({className:["DocSearch-Hit",t.__docsearch_parent&&"DocSearch-Hit--Child",s&&"DocSearch-Hit--deleting",p&&"DocSearch-Hit--favoriting"].filter(Boolean).join(" "),onTransitionEnd:function(){d.current&&d.current()}},i({item:t,source:c.source,onClick:function(e){a(t,e)}})),yt.createElement(y,{hit:t},yt.createElement("div",{className:"DocSearch-Hit-Container"},n({item:t,index:r}),t.hierarchy[t.type]&&"lvl1"===t.type&&yt.createElement("div",{className:"DocSearch-Hit-content-wrapper"},yt.createElement(Ut,{className:"DocSearch-Hit-title",hit:t,attribute:"hierarchy.lvl1"}),t.content&&yt.createElement(Ut,{className:"DocSearch-Hit-path",hit:t,attribute:"content"})),t.hierarchy[t.type]&&("lvl2"===t.type||"lvl3"===t.type||"lvl4"===t.type||"lvl5"===t.type||"lvl6"===t.type)&&yt.createElement("div",{className:"DocSearch-Hit-content-wrapper"},yt.createElement(Ut,{className:"DocSearch-Hit-title",hit:t,attribute:"hierarchy.".concat(t.type)}),yt.createElement(Ut,{className:"DocSearch-Hit-path",hit:t,attribute:"hierarchy.lvl1"})),"content"===t.type&&yt.createElement("div",{className:"DocSearch-Hit-content-wrapper"},yt.createElement(Ut,{className:"DocSearch-Hit-title",hit:t,attribute:"content"}),yt.createElement(Ut,{className:"DocSearch-Hit-path",hit:t,attribute:"hierarchy.lvl1"})),o({item:t,runDeleteTransition:function(e){f(!0),d.current=e},runFavoriteTransition:function(e){v(!0),d.current=e}}))))}var zt=/(<mark>|<\/mark>)/g,Wt=RegExp(zt.source);function Qt(e){var t,r,n=e;if(!n.__docsearch_parent&&!e._highlightResult)return e.hierarchy.lvl0;var o=((n.__docsearch_parent?null===(t=n.__docsearch_parent)||void 0===t||null===(t=t._highlightResult)||void 0===t||null===(t=t.hierarchy)||void 0===t?void 0:t.lvl0:null===(r=e._highlightResult)||void 0===r||null===(r=r.hierarchy)||void 0===r?void 0:r.lvl0)||{}).value;return o&&Wt.test(o)?o.replace(zt,""):o}function Zt(){return Zt=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Zt.apply(this,arguments)}function Gt(e){return yt.createElement("div",{className:"DocSearch-Dropdown-Container"},e.state.collections.map((function(t){if(0===t.items.length)return null;var r=Qt(t.items[0]);return yt.createElement($t,Zt({},e,{key:t.source.sourceId,title:r,collection:t,renderIcon:function(e){var r,n=e.item,o=e.index;return yt.createElement(yt.Fragment,null,n.__docsearch_parent&&yt.createElement("svg",{className:"DocSearch-Hit-Tree",viewBox:"0 0 24 54"},yt.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},n.__docsearch_parent!==(null===(r=t.items[o+1])||void 0===r?void 0:r.__docsearch_parent)?yt.createElement("path",{d:"M8 6v21M20 27H8.3"}):yt.createElement("path",{d:"M8 6v42M20 27H8.3"}))),yt.createElement("div",{className:"DocSearch-Hit-icon"},yt.createElement(Ct,{type:n.type})))},renderAction:function(){return yt.createElement("div",{className:"DocSearch-Hit-action"},yt.createElement(Tt,null))}}))})),e.resultsFooterComponent&&yt.createElement("section",{className:"DocSearch-HitsFooter"},yt.createElement(e.resultsFooterComponent,{state:e.state})))}function Xt(){return yt.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},yt.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},yt.createElement("path",{d:"M3.18 6.6a8.23 8.23 0 1112.93 9.94h0a8.23 8.23 0 01-11.63 0"}),yt.createElement("path",{d:"M6.44 7.25H2.55V3.36M10.45 6v5.6M10.45 11.6L13 13"})))}function Yt(){return yt.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},yt.createElement("path",{d:"M10 14.2L5 17l1-5.6-4-4 5.5-.7 2.5-5 2.5 5 5.6.8-4 4 .9 5.5z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))}function er(){return yt.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},yt.createElement("path",{d:"M10 10l5.09-5.09L10 10l5.09 5.09L10 10zm0 0L4.91 4.91 10 10l-5.09 5.09L10 10z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}var tr=["translations"];function rr(){return rr=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},rr.apply(this,arguments)}function nr(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function or(e){var t=e.translations,r=void 0===t?{}:t,n=nr(e,tr),o=r.recentSearchesTitle,i=void 0===o?"Recent":o,a=r.noRecentSearchesText,c=void 0===a?"No recent searches":a,l=r.saveRecentSearchButtonTitle,u=void 0===l?"Save this search":l,s=r.removeRecentSearchButtonTitle,f=void 0===s?"Remove this search from history":s,m=r.favoriteSearchesTitle,p=void 0===m?"Favorite":m,v=r.removeFavoriteSearchButtonTitle,d=void 0===v?"Remove this search from favorites":v;return"idle"===n.state.status&&!1===n.hasCollections?n.disableUserPersonalization?null:yt.createElement("div",{className:"DocSearch-StartScreen"},yt.createElement("p",{className:"DocSearch-Help"},c)):!1===n.hasCollections?null:yt.createElement("div",{className:"DocSearch-Dropdown-Container"},yt.createElement($t,rr({},n,{title:i,collection:n.state.collections[0],renderIcon:function(){return yt.createElement("div",{className:"DocSearch-Hit-icon"},yt.createElement(Xt,null))},renderAction:function(e){var t=e.item,r=e.runFavoriteTransition,o=e.runDeleteTransition;return yt.createElement(yt.Fragment,null,yt.createElement("div",{className:"DocSearch-Hit-action"},yt.createElement("button",{className:"DocSearch-Hit-action-button",title:u,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),r((function(){n.favoriteSearches.add(t),n.recentSearches.remove(t),n.refresh()}))}},yt.createElement(Yt,null))),yt.createElement("div",{className:"DocSearch-Hit-action"},yt.createElement("button",{className:"DocSearch-Hit-action-button",title:f,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),o((function(){n.recentSearches.remove(t),n.refresh()}))}},yt.createElement(er,null))))}})),yt.createElement($t,rr({},n,{title:p,collection:n.state.collections[1],renderIcon:function(){return yt.createElement("div",{className:"DocSearch-Hit-icon"},yt.createElement(Yt,null))},renderAction:function(e){var t=e.item,r=e.runDeleteTransition;return yt.createElement("div",{className:"DocSearch-Hit-action"},yt.createElement("button",{className:"DocSearch-Hit-action-button",title:d,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),r((function(){n.favoriteSearches.remove(t),n.refresh()}))}},yt.createElement(er,null)))}})))}var ir=["translations"];function ar(){return ar=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},ar.apply(this,arguments)}function cr(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var lr=yt.memo((function(e){var t=e.translations,r=void 0===t?{}:t,n=cr(e,ir);if("error"===n.state.status)return yt.createElement(wt,{translations:null==r?void 0:r.errorScreen});var o=n.state.collections.some((function(e){return e.items.length>0}));return n.state.query?!1===o?yt.createElement(kt,ar({},n,{translations:null==r?void 0:r.noResultsScreen})):yt.createElement(Gt,n):yt.createElement(or,ar({},n,{hasCollections:o,translations:null==r?void 0:r.startScreen}))}),(function(e,t){return"loading"===t.state.status||"stalled"===t.state.status}));function ur(){return yt.createElement("svg",{viewBox:"0 0 38 38",stroke:"currentColor",strokeOpacity:".5"},yt.createElement("g",{fill:"none",fillRule:"evenodd"},yt.createElement("g",{transform:"translate(1 1)",strokeWidth:"2"},yt.createElement("circle",{strokeOpacity:".3",cx:"18",cy:"18",r:"18"}),yt.createElement("path",{d:"M36 18c0-9.94-8.06-18-18-18"},yt.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 18 18",to:"360 18 18",dur:"1s",repeatCount:"indefinite"})))))}var sr=r(89188),fr=["translations"];function mr(){return mr=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},mr.apply(this,arguments)}function pr(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function vr(e){var t=e.translations,r=void 0===t?{}:t,n=pr(e,fr),o=r.resetButtonTitle,i=void 0===o?"Clear the query":o,a=r.resetButtonAriaLabel,c=void 0===a?"Clear the query":a,l=r.cancelButtonText,u=void 0===l?"Cancel":l,s=r.cancelButtonAriaLabel,f=void 0===s?"Cancel":s,m=r.searchInputLabel,p=void 0===m?"Search":m,v=n.getFormProps({inputElement:n.inputRef.current}).onReset;return yt.useEffect((function(){n.autoFocus&&n.inputRef.current&&n.inputRef.current.focus()}),[n.autoFocus,n.inputRef]),yt.useEffect((function(){n.isFromSelection&&n.inputRef.current&&n.inputRef.current.select()}),[n.isFromSelection,n.inputRef]),yt.createElement(yt.Fragment,null,yt.createElement("form",{className:"DocSearch-Form",onSubmit:function(e){e.preventDefault()},onReset:v},yt.createElement("label",mr({className:"DocSearch-MagnifierLabel"},n.getLabelProps()),yt.createElement(sr.W,null),yt.createElement("span",{className:"DocSearch-VisuallyHiddenForAccessibility"},p)),yt.createElement("div",{className:"DocSearch-LoadingIndicator"},yt.createElement(ur,null)),yt.createElement("input",mr({className:"DocSearch-Input",ref:n.inputRef},n.getInputProps({inputElement:n.inputRef.current,autoFocus:n.autoFocus,maxLength:ht}))),yt.createElement("button",{type:"reset",title:i,className:"DocSearch-Reset","aria-label":c,hidden:!n.state.query},yt.createElement(er,null))),yt.createElement("button",{className:"DocSearch-Cancel",type:"reset","aria-label":f,onClick:n.onClose},u))}var dr=["_highlightResult","_snippetResult"];function yr(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function hr(e){return!1===function(){var e="__TEST_KEY__";try{return localStorage.setItem(e,""),localStorage.removeItem(e),!0}catch(t){return!1}}()?{setItem:function(){},getItem:function(){return[]}}:{setItem:function(t){return window.localStorage.setItem(e,JSON.stringify(t))},getItem:function(){var t=window.localStorage.getItem(e);return t?JSON.parse(t):[]}}}function br(e){var t=e.key,r=e.limit,n=void 0===r?5:r,o=hr(t),i=o.getItem().slice(0,n);return{add:function(e){var t=e,r=(t._highlightResult,t._snippetResult,yr(t,dr)),a=i.findIndex((function(e){return e.objectID===r.objectID}));a>-1&&i.splice(a,1),i.unshift(r),i=i.slice(0,n),o.setItem(i)},remove:function(e){i=i.filter((function(t){return t.objectID!==e.objectID})),o.setItem(i)},getAll:function(){return i}}}function gr(e){const t=`algoliasearch-client-js-${e.key}`;let r;const n=()=>(void 0===r&&(r=e.localStorage||window.localStorage),r),o=()=>JSON.parse(n().getItem(t)||"{}"),i=e=>{n().setItem(t,JSON.stringify(e))};return{get:(t,r,n={miss:()=>Promise.resolve()})=>Promise.resolve().then((()=>{(()=>{const t=e.timeToLive?1e3*e.timeToLive:null,r=o(),n=Object.fromEntries(Object.entries(r).filter((([,e])=>void 0!==e.timestamp)));if(i(n),!t)return;const a=Object.fromEntries(Object.entries(n).filter((([,e])=>{const r=(new Date).getTime();return!(e.timestamp+t<r)})));i(a)})();const r=JSON.stringify(t);return o()[r]})).then((e=>Promise.all([e?e.value:r(),void 0!==e]))).then((([e,t])=>Promise.all([e,t||n.miss(e)]))).then((([e])=>e)),set:(e,r)=>Promise.resolve().then((()=>{const i=o();return i[JSON.stringify(e)]={timestamp:(new Date).getTime(),value:r},n().setItem(t,JSON.stringify(i)),r})),delete:e=>Promise.resolve().then((()=>{const r=o();delete r[JSON.stringify(e)],n().setItem(t,JSON.stringify(r))})),clear:()=>Promise.resolve().then((()=>{n().removeItem(t)}))}}function Or(e){const t=[...e.caches],r=t.shift();return void 0===r?{get:(e,t,r={miss:()=>Promise.resolve()})=>t().then((e=>Promise.all([e,r.miss(e)]))).then((([e])=>e)),set:(e,t)=>Promise.resolve(t),delete:e=>Promise.resolve(),clear:()=>Promise.resolve()}:{get:(e,n,o={miss:()=>Promise.resolve()})=>r.get(e,n,o).catch((()=>Or({caches:t}).get(e,n,o))),set:(e,n)=>r.set(e,n).catch((()=>Or({caches:t}).set(e,n))),delete:e=>r.delete(e).catch((()=>Or({caches:t}).delete(e))),clear:()=>r.clear().catch((()=>Or({caches:t}).clear()))}}function Sr(e={serializable:!0}){let t={};return{get(r,n,o={miss:()=>Promise.resolve()}){const i=JSON.stringify(r);if(i in t)return Promise.resolve(e.serializable?JSON.parse(t[i]):t[i]);const a=n(),c=o&&o.miss||(()=>Promise.resolve());return a.then((e=>c(e))).then((()=>a))},set:(r,n)=>(t[JSON.stringify(r)]=e.serializable?JSON.stringify(n):n,Promise.resolve(n)),delete:e=>(delete t[JSON.stringify(e)],Promise.resolve()),clear:()=>(t={},Promise.resolve())}}function jr(e){let t=e.length-1;for(;t>0;t--){const r=Math.floor(Math.random()*(t+1)),n=e[t];e[t]=e[r],e[r]=n}return e}function wr(e,t){return t?(Object.keys(t).forEach((r=>{e[r]=t[r](e)})),e):e}function Er(e,...t){let r=0;return e.replace(/%s/g,(()=>encodeURIComponent(t[r++])))}const Pr="4.22.1",Ir={WithinQueryParameters:0,WithinHeaders:1};function Dr(e,t){const r=e||{},n=r.data||{};return Object.keys(r).forEach((e=>{-1===["timeout","headers","queryParameters","data","cacheable"].indexOf(e)&&(n[e]=r[e])})),{data:Object.entries(n).length>0?n:void 0,timeout:r.timeout||t,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}const Ar={Read:1,Write:2,Any:3},kr={Up:1,Down:2,Timeouted:3},xr=12e4;function Cr(e,t=kr.Up){return{...e,status:t,lastUpdate:Date.now()}}function _r(e){return"string"==typeof e?{protocol:"https",url:e,accept:Ar.Any}:{protocol:e.protocol||"https",url:e.url,accept:e.accept||Ar.Any}}const Nr={Delete:"DELETE",Get:"GET",Post:"POST",Put:"PUT"};function Tr(e,t){return Promise.all(t.map((t=>e.get(t,(()=>Promise.resolve(Cr(t))))))).then((e=>{const r=e.filter((e=>function(e){return e.status===kr.Up||Date.now()-e.lastUpdate>xr}(e))),n=e.filter((e=>function(e){return e.status===kr.Timeouted&&Date.now()-e.lastUpdate<=xr}(e))),o=[...r,...n];return{getTimeout:(e,t)=>(0===n.length&&0===e?1:n.length+3+e)*t,statelessHosts:o.length>0?o.map((e=>_r(e))):t}}))}const qr=(e,t)=>(e=>{const t=e.status;return e.isTimedOut||(({isTimedOut:e,status:t})=>!e&&!~~t)(e)||2!=~~(t/100)&&4!=~~(t/100)})(e)?t.onRetry(e):(({status:e})=>2==~~(e/100))(e)?t.onSuccess(e):t.onFail(e);function Rr(e,t,r,n){const o=[],i=function(e,t){if(e.method===Nr.Get||void 0===e.data&&void 0===t.data)return;const r=Array.isArray(e.data)?e.data:{...e.data,...t.data};return JSON.stringify(r)}(r,n),a=function(e,t){const r={...e.headers,...t.headers},n={};return Object.keys(r).forEach((e=>{const t=r[e];n[e.toLowerCase()]=t})),n}(e,n),c=r.method,l=r.method!==Nr.Get?{}:{...r.data,...n.data},u={"x-algolia-agent":e.userAgent.value,...e.queryParameters,...l,...n.queryParameters};let s=0;const f=(t,l)=>{const m=t.pop();if(void 0===m)throw{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:Fr(o)};const p={data:i,headers:a,method:c,url:Mr(m,r.path,u),connectTimeout:l(s,e.timeouts.connect),responseTimeout:l(s,n.timeout)},v=e=>{const r={request:p,response:e,host:m,triesLeft:t.length};return o.push(r),r},d={onSuccess:e=>function(e){try{return JSON.parse(e.content)}catch(t){throw function(e,t){return{name:"DeserializationError",message:e,response:t}}(t.message,e)}}(e),onRetry(r){const n=v(r);return r.isTimedOut&&s++,Promise.all([e.logger.info("Retryable failure",Ur(n)),e.hostsCache.set(m,Cr(m,r.isTimedOut?kr.Timeouted:kr.Down))]).then((()=>f(t,l)))},onFail(e){throw v(e),function({content:e,status:t},r){let n=e;try{n=JSON.parse(e).message}catch(o){}return function(e,t,r){return{name:"ApiError",message:e,status:t,transporterStackTrace:r}}(n,t,r)}(e,Fr(o))}};return e.requester.send(p).then((e=>qr(e,d)))};return Tr(e.hostsCache,t).then((e=>f([...e.statelessHosts].reverse(),e.getTimeout)))}function Lr(e){const t={value:`Algolia for JavaScript (${e})`,add(e){const r=`; ${e.segment}${void 0!==e.version?` (${e.version})`:""}`;return-1===t.value.indexOf(r)&&(t.value=`${t.value}${r}`),t}};return t}function Mr(e,t,r){const n=Hr(r);let o=`${e.protocol}://${e.url}/${"/"===t.charAt(0)?t.substr(1):t}`;return n.length&&(o+=`?${n}`),o}function Hr(e){return Object.keys(e).map((t=>{return Er("%s=%s",t,(r=e[t],"[object Object]"===Object.prototype.toString.call(r)||"[object Array]"===Object.prototype.toString.call(r)?JSON.stringify(e[t]):e[t]));var r})).join("&")}function Fr(e){return e.map((e=>Ur(e)))}function Ur(e){const t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...e,request:{...e.request,headers:{...e.request.headers,...t}}}}const Br=e=>{const t=e.appId,r=function(e,t,r){const n={"x-algolia-api-key":r,"x-algolia-application-id":t};return{headers:()=>e===Ir.WithinHeaders?n:{},queryParameters:()=>e===Ir.WithinQueryParameters?n:{}}}(void 0!==e.authMode?e.authMode:Ir.WithinHeaders,t,e.apiKey),n=function(e){const{hostsCache:t,logger:r,requester:n,requestsCache:o,responsesCache:i,timeouts:a,userAgent:c,hosts:l,queryParameters:u,headers:s}=e,f={hostsCache:t,logger:r,requester:n,requestsCache:o,responsesCache:i,timeouts:a,userAgent:c,headers:s,queryParameters:u,hosts:l.map((e=>_r(e))),read(e,t){const r=Dr(t,f.timeouts.read),n=()=>Rr(f,f.hosts.filter((e=>!!(e.accept&Ar.Read))),e,r);if(!0!==(void 0!==r.cacheable?r.cacheable:e.cacheable))return n();const o={request:e,mappedRequestOptions:r,transporter:{queryParameters:f.queryParameters,headers:f.headers}};return f.responsesCache.get(o,(()=>f.requestsCache.get(o,(()=>f.requestsCache.set(o,n()).then((e=>Promise.all([f.requestsCache.delete(o),e])),(e=>Promise.all([f.requestsCache.delete(o),Promise.reject(e)]))).then((([e,t])=>t))))),{miss:e=>f.responsesCache.set(o,e)})},write:(e,t)=>Rr(f,f.hosts.filter((e=>!!(e.accept&Ar.Write))),e,Dr(t,f.timeouts.write))};return f}({hosts:[{url:`${t}-dsn.algolia.net`,accept:Ar.Read},{url:`${t}.algolia.net`,accept:Ar.Write}].concat(jr([{url:`${t}-1.algolianet.com`},{url:`${t}-2.algolianet.com`},{url:`${t}-3.algolianet.com`}])),...e,headers:{...r.headers(),"content-type":"application/x-www-form-urlencoded",...e.headers},queryParameters:{...r.queryParameters(),...e.queryParameters}}),o={transporter:n,appId:t,addAlgoliaAgent(e,t){n.userAgent.add({segment:e,version:t})},clearCache:()=>Promise.all([n.requestsCache.clear(),n.responsesCache.clear()]).then((()=>{}))};return wr(o,e.methods)},Vr=e=>(t,r)=>t.method===Nr.Get?e.transporter.read(t,r):e.transporter.write(t,r),Kr=e=>(t,r={})=>wr({transporter:e.transporter,appId:e.appId,indexName:t},r.methods),$r=e=>(t,r)=>{const n=t.map((e=>({...e,params:Hr(e.params||{})})));return e.transporter.read({method:Nr.Post,path:"1/indexes/*/queries",data:{requests:n},cacheable:!0},r)},Jr=e=>(t,r)=>Promise.all(t.map((t=>{const{facetName:n,facetQuery:o,...i}=t.params;return Kr(e)(t.indexName,{methods:{searchForFacetValues:Qr}}).searchForFacetValues(n,o,{...r,...i})}))),zr=e=>(t,r,n)=>e.transporter.read({method:Nr.Post,path:Er("1/answers/%s/prediction",e.indexName),data:{query:t,queryLanguages:r},cacheable:!0},n),Wr=e=>(t,r)=>e.transporter.read({method:Nr.Post,path:Er("1/indexes/%s/query",e.indexName),data:{query:t},cacheable:!0},r),Qr=e=>(t,r,n)=>e.transporter.read({method:Nr.Post,path:Er("1/indexes/%s/facets/%s/query",e.indexName,t),data:{facetQuery:r},cacheable:!0},n),Zr={Debug:1,Info:2,Error:3};function Gr(e,t,r){const n={appId:e,apiKey:t,timeouts:{connect:1,read:2,write:30},requester:{send:e=>new Promise((t=>{const r=new XMLHttpRequest;r.open(e.method,e.url,!0),Object.keys(e.headers).forEach((t=>r.setRequestHeader(t,e.headers[t])));const n=(e,n)=>setTimeout((()=>{r.abort(),t({status:0,content:n,isTimedOut:!0})}),1e3*e),o=n(e.connectTimeout,"Connection timeout");let i;r.onreadystatechange=()=>{r.readyState>r.OPENED&&void 0===i&&(clearTimeout(o),i=n(e.responseTimeout,"Socket timeout"))},r.onerror=()=>{0===r.status&&(clearTimeout(o),clearTimeout(i),t({content:r.responseText||"Network request failed",status:r.status,isTimedOut:!1}))},r.onload=()=>{clearTimeout(o),clearTimeout(i),t({content:r.responseText,status:r.status,isTimedOut:!1})},r.send(e.data)}))},logger:(o=Zr.Error,{debug:(e,t)=>(Zr.Debug>=o&&console.debug(e,t),Promise.resolve()),info:(e,t)=>(Zr.Info>=o&&console.info(e,t),Promise.resolve()),error:(e,t)=>(console.error(e,t),Promise.resolve())}),responsesCache:Sr(),requestsCache:Sr({serializable:!1}),hostsCache:Or({caches:[gr({key:`${Pr}-${e}`}),Sr()]}),userAgent:Lr(Pr).add({segment:"Browser",version:"lite"}),authMode:Ir.WithinQueryParameters};var o;return Br({...n,...r,methods:{search:$r,searchForFacetValues:Jr,multipleQueries:$r,multipleSearchForFacetValues:Jr,customRequest:Vr,initIndex:e=>t=>Kr(e)(t,{methods:{search:Wr,searchForFacetValues:Qr,findAnswers:zr}})}})}Gr.version=Pr;const Xr=Gr;var Yr="3.6.0";function en(){}function tn(e){return e}function rn(e){return 1===e.button||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}function nn(e,t,r){return e.reduce((function(e,n){var o=t(n);return e.hasOwnProperty(o)||(e[o]=[]),e[o].length<(r||5)&&e[o].push(n),e}),{})}var on=["footer","searchBox"];function an(){return an=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},an.apply(this,arguments)}function cn(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}function ln(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?cn(Object(r),!0).forEach((function(t){un(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):cn(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function un(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function sn(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==r)return;var n,o,i=[],a=!0,c=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(l){c=!0,o=l}finally{try{a||null==r.return||r.return()}finally{if(c)throw o}}return i}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return fn(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return fn(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function fn(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function mn(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function pn(e){var t=e.appId,r=e.apiKey,n=e.indexName,o=e.placeholder,i=void 0===o?"Search docs":o,a=e.searchParameters,c=e.maxResultsPerGroup,l=e.onClose,u=void 0===l?en:l,s=e.transformItems,f=void 0===s?tn:s,m=e.hitComponent,p=void 0===m?St:m,v=e.resultsFooterComponent,d=void 0===v?function(){return null}:v,y=e.navigator,h=e.initialScrollY,b=void 0===h?0:h,g=e.transformSearchClient,O=void 0===g?tn:g,S=e.disableUserPersonalization,j=void 0!==S&&S,w=e.initialQuery,E=void 0===w?"":w,P=e.translations,I=void 0===P?{}:P,D=e.getMissingResultsUrl,A=e.insights,k=void 0!==A&&A,x=I.footer,C=I.searchBox,_=mn(I,on),N=sn(yt.useState({query:"",collections:[],completion:null,context:{},isOpen:!1,activeItemId:null,status:"idle"}),2),T=N[0],q=N[1],R=yt.useRef(null),L=yt.useRef(null),M=yt.useRef(null),H=yt.useRef(null),F=yt.useRef(null),U=yt.useRef(10),B=yt.useRef("undefined"!=typeof window?window.getSelection().toString().slice(0,ht):"").current,V=yt.useRef(E||B).current,K=function(e,t,r){return yt.useMemo((function(){var n=Xr(e,t);return n.addAlgoliaAgent("docsearch",Yr),!1===/docsearch.js \(.*\)/.test(n.transporter.userAgent.value)&&n.addAlgoliaAgent("docsearch-react",Yr),r(n)}),[e,t,r])}(t,r,O),$=yt.useRef(br({key:"__DOCSEARCH_FAVORITE_SEARCHES__".concat(n),limit:10})).current,J=yt.useRef(br({key:"__DOCSEARCH_RECENT_SEARCHES__".concat(n),limit:0===$.getAll().length?7:4})).current,z=yt.useCallback((function(e){if(!j){var t="content"===e.type?e.__docsearch_parent:e;t&&-1===$.getAll().findIndex((function(e){return e.objectID===t.objectID}))&&J.add(t)}}),[$,J,j]),W=yt.useCallback((function(e){if(T.context.algoliaInsightsPlugin&&e.__autocomplete_id){var t=e,r={eventName:"Item Selected",index:t.__autocomplete_indexName,items:[t],positions:[e.__autocomplete_id],queryID:t.__autocomplete_queryID};T.context.algoliaInsightsPlugin.insights.clickedObjectIDsAfterSearch(r)}}),[T.context.algoliaInsightsPlugin]),Q=yt.useMemo((function(){return dt({id:"docsearch",defaultActiveItemId:0,placeholder:i,openOnFocus:!0,initialState:{query:V,context:{searchSuggestions:[]}},insights:k,navigator:y,onStateChange:function(e){q(e.state)},getSources:function(e){var o=e.query,i=e.state,l=e.setContext,s=e.setStatus;if(!o)return j?[]:[{sourceId:"recentSearches",onSelect:function(e){var t=e.item,r=e.event;z(t),rn(r)||u()},getItemUrl:function(e){return e.item.url},getItems:function(){return J.getAll()}},{sourceId:"favoriteSearches",onSelect:function(e){var t=e.item,r=e.event;z(t),rn(r)||u()},getItemUrl:function(e){return e.item.url},getItems:function(){return $.getAll()}}];var m=Boolean(k);return K.search([{query:o,indexName:n,params:ln({attributesToRetrieve:["hierarchy.lvl0","hierarchy.lvl1","hierarchy.lvl2","hierarchy.lvl3","hierarchy.lvl4","hierarchy.lvl5","hierarchy.lvl6","content","type","url"],attributesToSnippet:["hierarchy.lvl1:".concat(U.current),"hierarchy.lvl2:".concat(U.current),"hierarchy.lvl3:".concat(U.current),"hierarchy.lvl4:".concat(U.current),"hierarchy.lvl5:".concat(U.current),"hierarchy.lvl6:".concat(U.current),"content:".concat(U.current)],snippetEllipsisText:"\u2026",highlightPreTag:"<mark>",highlightPostTag:"</mark>",hitsPerPage:20,clickAnalytics:m},a)}]).catch((function(e){throw"RetryError"===e.name&&s("error"),e})).then((function(e){var o=e.results[0],a=o.hits,s=o.nbHits,p=nn(a,(function(e){return Qt(e)}),c);i.context.searchSuggestions.length<Object.keys(p).length&&l({searchSuggestions:Object.keys(p)}),l({nbHits:s});var v={};return m&&(v={__autocomplete_indexName:n,__autocomplete_queryID:o.queryID,__autocomplete_algoliaCredentials:{appId:t,apiKey:r}}),Object.values(p).map((function(e,t){return{sourceId:"hits".concat(t),onSelect:function(e){var t=e.item,r=e.event;z(t),rn(r)||u()},getItemUrl:function(e){return e.item.url},getItems:function(){return Object.values(nn(e,(function(e){return e.hierarchy.lvl1}),c)).map(f).map((function(e){return e.map((function(t){var r=null,n=e.find((function(e){return"lvl1"===e.type&&e.hierarchy.lvl1===t.hierarchy.lvl1}));return"lvl1"!==t.type&&n&&(r=n),ln(ln({},t),{},{__docsearch_parent:r},v)}))})).flat()}}}))}))}})}),[n,a,c,K,u,J,$,z,V,i,y,f,j,k,t,r]),Z=Q.getEnvironmentProps,G=Q.getRootProps,X=Q.refresh;return function(e){var t=e.getEnvironmentProps,r=e.panelElement,n=e.formElement,o=e.inputElement;yt.useEffect((function(){if(r&&n&&o){var e=t({panelElement:r,formElement:n,inputElement:o}),i=e.onTouchStart,a=e.onTouchMove;return window.addEventListener("touchstart",i),window.addEventListener("touchmove",a),function(){window.removeEventListener("touchstart",i),window.removeEventListener("touchmove",a)}}}),[t,r,n,o])}({getEnvironmentProps:Z,panelElement:H.current,formElement:M.current,inputElement:F.current}),function(e){var t=e.container;yt.useEffect((function(){if(t){var e=t.querySelectorAll("a[href]:not([disabled]), button:not([disabled]), input:not([disabled])"),r=e[0],n=e[e.length-1];return t.addEventListener("keydown",o),function(){t.removeEventListener("keydown",o)}}function o(e){"Tab"===e.key&&(e.shiftKey?document.activeElement===r&&(e.preventDefault(),n.focus()):document.activeElement===n&&(e.preventDefault(),r.focus()))}}),[t])}({container:R.current}),yt.useEffect((function(){return document.body.classList.add("DocSearch--active"),function(){var e,t;document.body.classList.remove("DocSearch--active"),null===(e=(t=window).scrollTo)||void 0===e||e.call(t,0,b)}}),[]),yt.useEffect((function(){window.matchMedia("(max-width: 768px)").matches&&(U.current=5)}),[]),yt.useEffect((function(){H.current&&(H.current.scrollTop=0)}),[T.query]),yt.useEffect((function(){V.length>0&&(X(),F.current&&F.current.focus())}),[V,X]),yt.useEffect((function(){function e(){if(L.current){var e=.01*window.innerHeight;L.current.style.setProperty("--docsearch-vh","".concat(e,"px"))}}return e(),window.addEventListener("resize",e),function(){window.removeEventListener("resize",e)}}),[]),yt.createElement("div",an({ref:R},G({"aria-expanded":!0}),{className:["DocSearch","DocSearch-Container","stalled"===T.status&&"DocSearch-Container--Stalled","error"===T.status&&"DocSearch-Container--Errored"].filter(Boolean).join(" "),role:"button",tabIndex:0,onMouseDown:function(e){e.target===e.currentTarget&&u()}}),yt.createElement("div",{className:"DocSearch-Modal",ref:L},yt.createElement("header",{className:"DocSearch-SearchBar",ref:M},yt.createElement(vr,an({},Q,{state:T,autoFocus:0===V.length,inputRef:F,isFromSelection:Boolean(V)&&V===B,translations:C,onClose:u}))),yt.createElement("div",{className:"DocSearch-Dropdown",ref:H},yt.createElement(lr,an({},Q,{indexName:n,state:T,hitComponent:p,resultsFooterComponent:d,disableUserPersonalization:j,recentSearches:J,favoriteSearches:$,inputRef:F,translations:_,getMissingResultsUrl:D,onItemClick:function(e,t){W(e),z(e),rn(t)||u()}}))),yt.createElement("footer",{className:"DocSearch-Footer"},yt.createElement(Ot,{translations:x}))))}}}]); \ No newline at end of file +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[9462],{9462:(e,t,r)=>{function n(e,t){var r=void 0;return function(){for(var n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];r&&clearTimeout(r),r=setTimeout((function(){return e.apply(void 0,o)}),t)}}function o(e){return e!==Object(e)}function i(e,t){if(e===t)return!0;if(o(e)||o(t)||"function"==typeof e||"function"==typeof t)return e===t;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var r=0,n=Object.keys(e);r<n.length;r++){var a=n[r];if(!(a in t))return!1;if(!i(e[a],t[a]))return!1}return!0}r.r(t),r.d(t,{DocSearchModal:()=>vn});var a=function(){};function c(e){var t=e.item,r=e.items;return{index:t.__autocomplete_indexName,items:[t],positions:[1+r.findIndex((function(e){return e.objectID===t.objectID}))],queryID:t.__autocomplete_queryID,algoliaSource:["autocomplete"]}}function l(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,c=[],l=!0,u=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=i.call(r)).done)&&(c.push(n.value),c.length!==t);l=!0);}catch(s){u=!0,o=s}finally{try{if(!l&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return c}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return u(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return u(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var s=["items"],f=["items"];function m(e){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},m(e)}function p(e){return function(e){if(Array.isArray(e))return v(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return v(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return v(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function d(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function y(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}function h(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?y(Object(r),!0).forEach((function(t){b(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):y(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function b(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==m(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==m(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===m(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function g(e){return e.map((function(e){var t=e.items,r=d(e,s);return h(h({},r),{},{objectIDs:(null==t?void 0:t.map((function(e){return e.objectID})))||r.objectIDs})}))}function O(e){var t,r,n,o=(t=l((e.version||"").split(".").map(Number),2),r=t[0],n=t[1],r>=3||2===r&&n>=4||1===r&&n>=10);function i(t,r,n){if(o&&void 0!==n){var i=n[0].__autocomplete_algoliaCredentials,a={"X-Algolia-Application-Id":i.appId,"X-Algolia-API-Key":i.apiKey};e.apply(void 0,[t].concat(p(r),[{headers:a}]))}else e.apply(void 0,[t].concat(p(r)))}return{init:function(t,r){e("init",{appId:t,apiKey:r})},setUserToken:function(t){e("setUserToken",t)},clickedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&i("clickedObjectIDsAfterSearch",g(t),t[0].items)},clickedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&i("clickedObjectIDs",g(t),t[0].items)},clickedFilters:function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];r.length>0&&e.apply(void 0,["clickedFilters"].concat(r))},convertedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&i("convertedObjectIDsAfterSearch",g(t),t[0].items)},convertedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&i("convertedObjectIDs",g(t),t[0].items)},convertedFilters:function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];r.length>0&&e.apply(void 0,["convertedFilters"].concat(r))},viewedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&t.reduce((function(e,t){var r=t.items,n=d(t,f);return[].concat(p(e),p(function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:20,r=[],n=0;n<e.objectIDs.length;n+=t)r.push(h(h({},e),{},{objectIDs:e.objectIDs.slice(n,n+t)}));return r}(h(h({},n),{},{objectIDs:(null==r?void 0:r.map((function(e){return e.objectID})))||n.objectIDs})).map((function(e){return{items:r,payload:e}}))))}),[]).forEach((function(e){var t=e.items;return i("viewedObjectIDs",[e.payload],t)}))},viewedFilters:function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];r.length>0&&e.apply(void 0,["viewedFilters"].concat(r))}}}function S(e){var t=e.items.reduce((function(e,t){var r;return e[t.__autocomplete_indexName]=(null!==(r=e[t.__autocomplete_indexName])&&void 0!==r?r:[]).concat(t),e}),{});return Object.keys(t).map((function(e){return{index:e,items:t[e],algoliaSource:["autocomplete"]}}))}function j(e){return e.objectID&&e.__autocomplete_indexName&&e.__autocomplete_queryID}function w(e){return w="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},w(e)}function E(e){return function(e){if(Array.isArray(e))return P(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return P(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return P(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function P(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function I(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}function D(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?I(Object(r),!0).forEach((function(t){A(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):I(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function A(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==w(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==w(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===w(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var k="2.6.0",x="https://cdn.jsdelivr.net/npm/search-insights@".concat(k,"/dist/search-insights.min.js"),C=n((function(e){var t=e.onItemsChange,r=e.items,n=e.insights,o=e.state;t({insights:n,insightsEvents:S({items:r}).map((function(e){return D({eventName:"Items Viewed"},e)})),state:o})}),400);function _(e){var t=function(e){return D({onItemsChange:function(e){var t=e.insights,r=e.insightsEvents;t.viewedObjectIDs.apply(t,E(r.map((function(e){return D(D({},e),{},{algoliaSource:[].concat(E(e.algoliaSource||[]),["autocomplete-internal"])})}))))},onSelect:function(e){var t=e.insights,r=e.insightsEvents;t.clickedObjectIDsAfterSearch.apply(t,E(r.map((function(e){return D(D({},e),{},{algoliaSource:[].concat(E(e.algoliaSource||[]),["autocomplete-internal"])})}))))},onActive:a},e)}(e),r=t.insightsClient,o=t.onItemsChange,l=t.onSelect,u=t.onActive,s=r;r||function(e){if("undefined"!=typeof window)e({window:window})}((function(e){var t=e.window,r=t.AlgoliaAnalyticsObject||"aa";"string"==typeof r&&(s=t[r]),s||(t.AlgoliaAnalyticsObject=r,t[r]||(t[r]=function(){t[r].queue||(t[r].queue=[]);for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];t[r].queue.push(n)}),t[r].version=k,s=t[r],function(e){var t="[Autocomplete]: Could not load search-insights.js. Please load it manually following https://alg.li/insights-autocomplete";try{var r=e.document.createElement("script");r.async=!0,r.src=x,r.onerror=function(){console.error(t)},document.body.appendChild(r)}catch(n){console.error(t)}}(t))}));var f=O(s),m={current:[]},p=n((function(e){var t=e.state;if(t.isOpen){var r=t.collections.reduce((function(e,t){return[].concat(E(e),E(t.items))}),[]).filter(j);i(m.current.map((function(e){return e.objectID})),r.map((function(e){return e.objectID})))||(m.current=r,r.length>0&&C({onItemsChange:o,items:r,insights:f,state:t}))}}),0);return{name:"aa.algoliaInsightsPlugin",subscribe:function(e){var t=e.setContext,r=e.onSelect,n=e.onActive;s("addAlgoliaAgent","insights-plugin"),t({algoliaInsightsPlugin:{__algoliaSearchParameters:{clickAnalytics:!0},insights:f}}),r((function(e){var t=e.item,r=e.state,n=e.event;j(t)&&l({state:r,event:n,insights:f,item:t,insightsEvents:[D({eventName:"Item Selected"},c({item:t,items:m.current}))]})})),n((function(e){var t=e.item,r=e.state,n=e.event;j(t)&&u({state:r,event:n,insights:f,item:t,insightsEvents:[D({eventName:"Item Active"},c({item:t,items:m.current}))]})}))},onStateChange:function(e){var t=e.state;p({state:t})},__autocomplete_pluginOptions:e}}function N(e){return N="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},N(e)}function T(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}function q(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==N(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==N(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===N(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function R(e,t,r){var n,o=t.initialState;return{getState:function(){return o},dispatch:function(n,i){var a=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?T(Object(r),!0).forEach((function(t){q(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):T(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},o);o=e(o,{type:n,props:t,payload:i}),r({state:o,prevState:a})},pendingRequests:(n=[],{add:function(e){return n.push(e),e.finally((function(){n=n.filter((function(t){return t!==e}))}))},cancelAll:function(){n.forEach((function(e){return e.cancel()}))},isEmpty:function(){return 0===n.length}})}}function L(e){return e.reduce((function(e,t){return e.concat(t)}),[])}function M(e){return M="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},M(e)}function H(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}function F(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?H(Object(r),!0).forEach((function(t){U(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):H(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function U(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==M(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==M(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===M(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function B(e){return 0===e.collections.length?0:e.collections.reduce((function(e,t){return e+t.items.length}),0)}var V=0;function K(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}function $(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?K(Object(r),!0).forEach((function(t){J(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):K(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function J(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==z(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==z(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===z(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function z(e){return z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},z(e)}function W(e){return W="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},W(e)}function Q(e){return function(e){if(Array.isArray(e))return Z(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Z(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Z(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Z(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function G(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}function X(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?G(Object(r),!0).forEach((function(t){Y(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):G(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Y(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==W(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==W(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===W(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ee(e,t){var r,n="undefined"!=typeof window?window:{},o=e.plugins||[];return X(X({debug:!1,openOnFocus:!1,placeholder:"",autoFocus:!1,defaultActiveItemId:null,stallThreshold:300,insights:!1,environment:n,shouldPanelOpen:function(e){return B(e.state)>0},reshape:function(e){return e.sources}},e),{},{id:null!==(r=e.id)&&void 0!==r?r:"autocomplete-".concat(V++),plugins:o,initialState:X({activeItemId:null,query:"",completion:null,collections:[],isOpen:!1,status:"idle",context:{}},e.initialState),onStateChange:function(t){var r;null===(r=e.onStateChange)||void 0===r||r.call(e,t),o.forEach((function(e){var r;return null===(r=e.onStateChange)||void 0===r?void 0:r.call(e,t)}))},onSubmit:function(t){var r;null===(r=e.onSubmit)||void 0===r||r.call(e,t),o.forEach((function(e){var r;return null===(r=e.onSubmit)||void 0===r?void 0:r.call(e,t)}))},onReset:function(t){var r;null===(r=e.onReset)||void 0===r||r.call(e,t),o.forEach((function(e){var r;return null===(r=e.onReset)||void 0===r?void 0:r.call(e,t)}))},getSources:function(r){return Promise.all([].concat(Q(o.map((function(e){return e.getSources}))),[e.getSources]).filter(Boolean).map((function(e){return function(e,t){var r=[];return Promise.resolve(e(t)).then((function(e){return Array.isArray(e),Promise.all(e.filter((function(e){return Boolean(e)})).map((function(e){if(e.sourceId,r.includes(e.sourceId))throw new Error("[Autocomplete] The `sourceId` ".concat(JSON.stringify(e.sourceId)," is not unique."));r.push(e.sourceId);var t={getItemInputValue:function(e){return e.state.query},getItemUrl:function(){},onSelect:function(e){(0,e.setIsOpen)(!1)},onActive:a,onResolve:a};Object.keys(t).forEach((function(e){t[e].__default=!0}));var n=$($({},t),e);return Promise.resolve(n)})))}))}(e,r)}))).then((function(e){return L(e)})).then((function(e){return e.map((function(e){return X(X({},e),{},{onSelect:function(r){e.onSelect(r),t.forEach((function(e){var t;return null===(t=e.onSelect)||void 0===t?void 0:t.call(e,r)}))},onActive:function(r){e.onActive(r),t.forEach((function(e){var t;return null===(t=e.onActive)||void 0===t?void 0:t.call(e,r)}))},onResolve:function(r){e.onResolve(r),t.forEach((function(e){var t;return null===(t=e.onResolve)||void 0===t?void 0:t.call(e,r)}))}})}))}))},navigator:X({navigate:function(e){var t=e.itemUrl;n.location.assign(t)},navigateNewTab:function(e){var t=e.itemUrl,r=n.open(t,"_blank","noopener");null==r||r.focus()},navigateNewWindow:function(e){var t=e.itemUrl;n.open(t,"_blank","noopener")}},e.navigator)})}function te(e){return te="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},te(e)}function re(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}function ne(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?re(Object(r),!0).forEach((function(t){oe(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):re(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function oe(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==te(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==te(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===te(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ie(e){return ie="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ie(e)}function ae(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}function ce(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ae(Object(r),!0).forEach((function(t){le(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ae(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function le(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==ie(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==ie(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===ie(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ue(e){return function(e){if(Array.isArray(e))return se(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return se(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return se(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function se(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function fe(e){return Boolean(e.execute)}function me(e,t,r){if(o=e,Boolean(null==o?void 0:o.execute)){var n="algolia"===e.requesterId?Object.assign.apply(Object,[{}].concat(ue(Object.keys(r.context).map((function(e){var t;return null===(t=r.context[e])||void 0===t?void 0:t.__algoliaSearchParameters}))))):{};return ce(ce({},e),{},{requests:e.queries.map((function(r){return{query:"algolia"===e.requesterId?ce(ce({},r),{},{params:ce(ce({},n),r.params)}):r,sourceId:t,transformResponse:e.transformResponse}}))})}var o;return{items:e,sourceId:t}}function pe(e){var t=e.reduce((function(e,t){if(!fe(t))return e.push(t),e;var r=t.searchClient,n=t.execute,o=t.requesterId,i=t.requests,a=e.find((function(e){return fe(t)&&fe(e)&&e.searchClient===r&&Boolean(o)&&e.requesterId===o}));if(a){var c;(c=a.items).push.apply(c,ue(i))}else{var l={execute:n,requesterId:o,items:i,searchClient:r};e.push(l)}return e}),[]).map((function(e){if(!fe(e))return Promise.resolve(e);var t=e,r=t.execute,n=t.items;return r({searchClient:t.searchClient,requests:n})}));return Promise.all(t).then((function(e){return L(e)}))}function ve(e,t,r){return t.map((function(t){var n,o=e.filter((function(e){return e.sourceId===t.sourceId})),i=o.map((function(e){return e.items})),a=o[0].transformResponse,c=a?a({results:n=i,hits:n.map((function(e){return e.hits})).filter(Boolean),facetHits:n.map((function(e){var t;return null===(t=e.facetHits)||void 0===t?void 0:t.map((function(e){return{label:e.value,count:e.count,_highlightResult:{label:{value:e.highlighted}}}}))})).filter(Boolean)}):i;return t.onResolve({source:t,results:i,items:c,state:r.getState()}),Array.isArray(c),c.every(Boolean),'The `getItems` function from source "'.concat(t.sourceId,'" must return an array of items but returned ').concat(JSON.stringify(void 0),".\n\nDid you forget to return items?\n\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems"),{source:t,items:c}}))}function de(e,t){var r=t;return{then:function(t,n){return de(e.then(be(t,r,e),be(n,r,e)),r)},catch:function(t){return de(e.catch(be(t,r,e)),r)},finally:function(t){return t&&r.onCancelList.push(t),de(e.finally(be(t&&function(){return r.onCancelList=[],t()},r,e)),r)},cancel:function(){r.isCanceled=!0;var e=r.onCancelList;r.onCancelList=[],e.forEach((function(e){e()}))},isCanceled:function(){return!0===r.isCanceled}}}function ye(e){return de(new Promise((function(t,r){return e(t,r)})),{isCanceled:!1,onCancelList:[]})}function he(e){return de(e,{isCanceled:!1,onCancelList:[]})}function be(e,t,r){return e?function(r){return t.isCanceled?r:e(r)}:r}function ge(e){var t=function(e){var t=e.collections.map((function(e){return e.items.length})).reduce((function(e,t,r){var n=(e[r-1]||0)+t;return e.push(n),e}),[]).reduce((function(t,r){return r<=e.activeItemId?t+1:t}),0);return e.collections[t]}(e);if(!t)return null;var r=t.items[function(e){for(var t=e.state,r=e.collection,n=!1,o=0,i=0;!1===n;){var a=t.collections[o];if(a===r){n=!0;break}i+=a.items.length,o++}return t.activeItemId-i}({state:e,collection:t})],n=t.source;return{item:r,itemInputValue:n.getItemInputValue({item:r,state:e}),itemUrl:n.getItemUrl({item:r,state:e}),source:n}}function Oe(e){return Oe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Oe(e)}ye.resolve=function(e){return he(Promise.resolve(e))},ye.reject=function(e){return he(Promise.reject(e))};var Se=["event","nextState","props","query","refresh","store"];function je(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}function we(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?je(Object(r),!0).forEach((function(t){Ee(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):je(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Ee(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Oe(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Oe(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Oe(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Pe(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var Ie,De,Ae,ke=null,xe=(Ie=-1,De=-1,Ae=void 0,function(e){var t=++Ie;return Promise.resolve(e).then((function(e){return Ae&&t<De?Ae:(De=t,Ae=e,e)}))});function Ce(e){var t=e.event,r=e.nextState,n=void 0===r?{}:r,o=e.props,i=e.query,a=e.refresh,c=e.store,l=Pe(e,Se);ke&&o.environment.clearTimeout(ke);var u=l.setCollections,s=l.setIsOpen,f=l.setQuery,m=l.setActiveItemId,p=l.setStatus;if(f(i),m(o.defaultActiveItemId),!i&&!1===o.openOnFocus){var v,d=c.getState().collections.map((function(e){return we(we({},e),{},{items:[]})}));p("idle"),u(d),s(null!==(v=n.isOpen)&&void 0!==v?v:o.shouldPanelOpen({state:c.getState()}));var y=he(xe(d).then((function(){return Promise.resolve()})));return c.pendingRequests.add(y)}p("loading"),ke=o.environment.setTimeout((function(){p("stalled")}),o.stallThreshold);var h=he(xe(o.getSources(we({query:i,refresh:a,state:c.getState()},l)).then((function(e){return Promise.all(e.map((function(e){return Promise.resolve(e.getItems(we({query:i,refresh:a,state:c.getState()},l))).then((function(t){return me(t,e.sourceId,c.getState())}))}))).then(pe).then((function(t){return ve(t,e,c)})).then((function(e){return function(e){var t=e.collections,r=e.props,n=e.state,o=t.reduce((function(e,t){return ne(ne({},e),{},oe({},t.source.sourceId,ne(ne({},t.source),{},{getItems:function(){return L(t.items)}})))}),{}),i=r.plugins.reduce((function(e,t){return t.reshape?t.reshape(e):e}),{sourcesBySourceId:o,state:n}).sourcesBySourceId;return L(r.reshape({sourcesBySourceId:i,sources:Object.values(i),state:n})).filter(Boolean).map((function(e){return{source:e,items:e.getItems()}}))}({collections:e,props:o,state:c.getState()})}))})))).then((function(e){var r;p("idle"),u(e);var f=o.shouldPanelOpen({state:c.getState()});s(null!==(r=n.isOpen)&&void 0!==r?r:o.openOnFocus&&!i&&f||f);var m=ge(c.getState());if(null!==c.getState().activeItemId&&m){var v=m.item,d=m.itemInputValue,y=m.itemUrl,h=m.source;h.onActive(we({event:t,item:v,itemInputValue:d,itemUrl:y,refresh:a,source:h,state:c.getState()},l))}})).finally((function(){p("idle"),ke&&o.environment.clearTimeout(ke)}));return c.pendingRequests.add(h)}function _e(e){return _e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_e(e)}var Ne=["event","props","refresh","store"];function Te(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}function qe(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Te(Object(r),!0).forEach((function(t){Re(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Te(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Re(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==_e(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==_e(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===_e(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Le(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var Me=/((gt|sm)-|galaxy nexus)|samsung[- ]|samsungbrowser/i;function He(e){return He="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},He(e)}var Fe=["props","refresh","store"],Ue=["inputElement","formElement","panelElement"],Be=["inputElement"],Ve=["inputElement","maxLength"],Ke=["sourceIndex"],$e=["sourceIndex"],Je=["item","source","sourceIndex"];function ze(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}function We(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ze(Object(r),!0).forEach((function(t){Qe(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ze(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Qe(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==He(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==He(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===He(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[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={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function Ge(e){var t=e.props,r=e.refresh,n=e.store,o=Ze(e,Fe),i=function(e,t){return void 0!==t?"".concat(e,"-").concat(t):e};return{getEnvironmentProps:function(e){var r=e.inputElement,o=e.formElement,i=e.panelElement;function a(e){!n.getState().isOpen&&n.pendingRequests.isEmpty()||e.target===r||!1===[o,i].some((function(t){return r=t,n=e.target,r===n||r.contains(n);var r,n}))&&(n.dispatch("blur",null),t.debug||n.pendingRequests.cancelAll())}return We({onTouchStart:a,onMouseDown:a,onTouchMove:function(e){!1!==n.getState().isOpen&&r===t.environment.document.activeElement&&e.target!==r&&r.blur()}},Ze(e,Ue))},getRootProps:function(e){return We({role:"combobox","aria-expanded":n.getState().isOpen,"aria-haspopup":"listbox","aria-owns":n.getState().isOpen?"".concat(t.id,"-list"):void 0,"aria-labelledby":"".concat(t.id,"-label")},e)},getFormProps:function(e){e.inputElement;return We({action:"",noValidate:!0,role:"search",onSubmit:function(i){var a;i.preventDefault(),t.onSubmit(We({event:i,refresh:r,state:n.getState()},o)),n.dispatch("submit",null),null===(a=e.inputElement)||void 0===a||a.blur()},onReset:function(i){var a;i.preventDefault(),t.onReset(We({event:i,refresh:r,state:n.getState()},o)),n.dispatch("reset",null),null===(a=e.inputElement)||void 0===a||a.focus()}},Ze(e,Be))},getLabelProps:function(e){var r=e||{},n=r.sourceIndex,o=Ze(r,Ke);return We({htmlFor:"".concat(i(t.id,n),"-input"),id:"".concat(i(t.id,n),"-label")},o)},getInputProps:function(e){var i;function c(e){(t.openOnFocus||Boolean(n.getState().query))&&Ce(We({event:e,props:t,query:n.getState().completion||n.getState().query,refresh:r,store:n},o)),n.dispatch("focus",null)}var l=e||{},u=(l.inputElement,l.maxLength),s=void 0===u?512:u,f=Ze(l,Ve),m=ge(n.getState()),p=function(e){return Boolean(e&&e.match(Me))}((null===(i=t.environment.navigator)||void 0===i?void 0:i.userAgent)||""),v=null!=m&&m.itemUrl&&!p?"go":"search";return We({"aria-autocomplete":"both","aria-activedescendant":n.getState().isOpen&&null!==n.getState().activeItemId?"".concat(t.id,"-item-").concat(n.getState().activeItemId):void 0,"aria-controls":n.getState().isOpen?"".concat(t.id,"-list"):void 0,"aria-labelledby":"".concat(t.id,"-label"),value:n.getState().completion||n.getState().query,id:"".concat(t.id,"-input"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",enterKeyHint:v,spellCheck:"false",autoFocus:t.autoFocus,placeholder:t.placeholder,maxLength:s,type:"search",onChange:function(e){Ce(We({event:e,props:t,query:e.currentTarget.value.slice(0,s),refresh:r,store:n},o))},onKeyDown:function(e){!function(e){var t=e.event,r=e.props,n=e.refresh,o=e.store,i=Le(e,Ne);if("ArrowUp"===t.key||"ArrowDown"===t.key){var a=function(){var e=r.environment.document.getElementById("".concat(r.id,"-item-").concat(o.getState().activeItemId));e&&(e.scrollIntoViewIfNeeded?e.scrollIntoViewIfNeeded(!1):e.scrollIntoView(!1))},c=function(){var e=ge(o.getState());if(null!==o.getState().activeItemId&&e){var r=e.item,a=e.itemInputValue,c=e.itemUrl,l=e.source;l.onActive(qe({event:t,item:r,itemInputValue:a,itemUrl:c,refresh:n,source:l,state:o.getState()},i))}};t.preventDefault(),!1===o.getState().isOpen&&(r.openOnFocus||Boolean(o.getState().query))?Ce(qe({event:t,props:r,query:o.getState().query,refresh:n,store:o},i)).then((function(){o.dispatch(t.key,{nextActiveItemId:r.defaultActiveItemId}),c(),setTimeout(a,0)})):(o.dispatch(t.key,{}),c(),a())}else if("Escape"===t.key)t.preventDefault(),o.dispatch(t.key,null),o.pendingRequests.cancelAll();else if("Tab"===t.key)o.dispatch("blur",null),o.pendingRequests.cancelAll();else if("Enter"===t.key){if(null===o.getState().activeItemId||o.getState().collections.every((function(e){return 0===e.items.length})))return void(r.debug||o.pendingRequests.cancelAll());t.preventDefault();var l=ge(o.getState()),u=l.item,s=l.itemInputValue,f=l.itemUrl,m=l.source;if(t.metaKey||t.ctrlKey)void 0!==f&&(m.onSelect(qe({event:t,item:u,itemInputValue:s,itemUrl:f,refresh:n,source:m,state:o.getState()},i)),r.navigator.navigateNewTab({itemUrl:f,item:u,state:o.getState()}));else if(t.shiftKey)void 0!==f&&(m.onSelect(qe({event:t,item:u,itemInputValue:s,itemUrl:f,refresh:n,source:m,state:o.getState()},i)),r.navigator.navigateNewWindow({itemUrl:f,item:u,state:o.getState()}));else if(t.altKey);else{if(void 0!==f)return m.onSelect(qe({event:t,item:u,itemInputValue:s,itemUrl:f,refresh:n,source:m,state:o.getState()},i)),void r.navigator.navigate({itemUrl:f,item:u,state:o.getState()});Ce(qe({event:t,nextState:{isOpen:!1},props:r,query:s,refresh:n,store:o},i)).then((function(){m.onSelect(qe({event:t,item:u,itemInputValue:s,itemUrl:f,refresh:n,source:m,state:o.getState()},i))}))}}}(We({event:e,props:t,refresh:r,store:n},o))},onFocus:c,onBlur:a,onClick:function(r){e.inputElement!==t.environment.document.activeElement||n.getState().isOpen||c(r)}},f)},getPanelProps:function(e){return We({onMouseDown:function(e){e.preventDefault()},onMouseLeave:function(){n.dispatch("mouseleave",null)}},e)},getListProps:function(e){var r=e||{},n=r.sourceIndex,o=Ze(r,$e);return We({role:"listbox","aria-labelledby":"".concat(i(t.id,n),"-label"),id:"".concat(i(t.id,n),"-list")},o)},getItemProps:function(e){var a=e.item,c=e.source,l=e.sourceIndex,u=Ze(e,Je);return We({id:"".concat(i(t.id,l),"-item-").concat(a.__autocomplete_id),role:"option","aria-selected":n.getState().activeItemId===a.__autocomplete_id,onMouseMove:function(e){if(a.__autocomplete_id!==n.getState().activeItemId){n.dispatch("mousemove",a.__autocomplete_id);var t=ge(n.getState());if(null!==n.getState().activeItemId&&t){var i=t.item,c=t.itemInputValue,l=t.itemUrl,u=t.source;u.onActive(We({event:e,item:i,itemInputValue:c,itemUrl:l,refresh:r,source:u,state:n.getState()},o))}}},onMouseDown:function(e){e.preventDefault()},onClick:function(e){var i=c.getItemInputValue({item:a,state:n.getState()}),l=c.getItemUrl({item:a,state:n.getState()});(l?Promise.resolve():Ce(We({event:e,nextState:{isOpen:!1},props:t,query:i,refresh:r,store:n},o))).then((function(){c.onSelect(We({event:e,item:a,itemInputValue:i,itemUrl:l,refresh:r,source:c,state:n.getState()},o))}))}},u)}}}var Xe=[{segment:"autocomplete-core",version:"1.9.3"}];function Ye(e){return Ye="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ye(e)}function et(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}function tt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?et(Object(r),!0).forEach((function(t){rt(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):et(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function rt(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Ye(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Ye(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Ye(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function nt(e){var t,r,n,o,i=e.plugins,a=e.options,c=null===(t=((null===(r=a.__autocomplete_metadata)||void 0===r?void 0:r.userAgents)||[])[0])||void 0===t?void 0:t.segment,l=c?rt({},c,Object.keys((null===(n=a.__autocomplete_metadata)||void 0===n?void 0:n.options)||{})):{};return{plugins:i.map((function(e){return{name:e.name,options:Object.keys(e.__autocomplete_pluginOptions||[])}})),options:tt({"autocomplete-core":Object.keys(a)},l),ua:Xe.concat((null===(o=a.__autocomplete_metadata)||void 0===o?void 0:o.userAgents)||[])}}function ot(e){var t,r=e.state;return!1===r.isOpen||null===r.activeItemId?null:(null===(t=ge(r))||void 0===t?void 0:t.itemInputValue)||null}function it(e,t,r,n){if(!r)return null;if(e<0&&(null===t||null!==n&&0===t))return r+e;var o=(null===t?-1:t)+e;return o<=-1||o>=r?null===n?null:0:o}function at(e){return at="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},at(e)}function ct(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}function lt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ct(Object(r),!0).forEach((function(t){ut(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ct(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function ut(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==at(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==at(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===at(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var st=function(e,t){switch(t.type){case"setActiveItemId":case"mousemove":return lt(lt({},e),{},{activeItemId:t.payload});case"setQuery":return lt(lt({},e),{},{query:t.payload,completion:null});case"setCollections":return lt(lt({},e),{},{collections:t.payload});case"setIsOpen":return lt(lt({},e),{},{isOpen:t.payload});case"setStatus":return lt(lt({},e),{},{status:t.payload});case"setContext":return lt(lt({},e),{},{context:lt(lt({},e.context),t.payload)});case"ArrowDown":var r=lt(lt({},e),{},{activeItemId:t.payload.hasOwnProperty("nextActiveItemId")?t.payload.nextActiveItemId:it(1,e.activeItemId,B(e),t.props.defaultActiveItemId)});return lt(lt({},r),{},{completion:ot({state:r})});case"ArrowUp":var n=lt(lt({},e),{},{activeItemId:it(-1,e.activeItemId,B(e),t.props.defaultActiveItemId)});return lt(lt({},n),{},{completion:ot({state:n})});case"Escape":return e.isOpen?lt(lt({},e),{},{activeItemId:null,isOpen:!1,completion:null}):lt(lt({},e),{},{activeItemId:null,query:"",status:"idle",collections:[]});case"submit":return lt(lt({},e),{},{activeItemId:null,isOpen:!1,status:"idle"});case"reset":return lt(lt({},e),{},{activeItemId:!0===t.props.openOnFocus?t.props.defaultActiveItemId:null,status:"idle",query:""});case"focus":return lt(lt({},e),{},{activeItemId:t.props.defaultActiveItemId,isOpen:(t.props.openOnFocus||Boolean(e.query))&&t.props.shouldPanelOpen({state:e})});case"blur":return t.props.debug?e:lt(lt({},e),{},{isOpen:!1,activeItemId:null});case"mouseleave":return lt(lt({},e),{},{activeItemId:t.props.defaultActiveItemId});default:return"The reducer action ".concat(JSON.stringify(t.type)," is not supported."),e}};function ft(e){return ft="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ft(e)}function mt(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}function pt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?mt(Object(r),!0).forEach((function(t){vt(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):mt(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function vt(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==ft(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==ft(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===ft(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function dt(e){var t=[],r=ee(e,t),n=R(st,r,(function(e){var t=e.prevState,n=e.state;r.onStateChange(pt({prevState:t,state:n,refresh:a,navigator:r.navigator},o))})),o=function(e){var t=e.store;return{setActiveItemId:function(e){t.dispatch("setActiveItemId",e)},setQuery:function(e){t.dispatch("setQuery",e)},setCollections:function(e){var r=0,n=e.map((function(e){return F(F({},e),{},{items:L(e.items).map((function(e){return F(F({},e),{},{__autocomplete_id:r++})}))})}));t.dispatch("setCollections",n)},setIsOpen:function(e){t.dispatch("setIsOpen",e)},setStatus:function(e){t.dispatch("setStatus",e)},setContext:function(e){t.dispatch("setContext",e)}}}({store:n}),i=Ge(pt({props:r,refresh:a,store:n,navigator:r.navigator},o));function a(){return Ce(pt({event:new Event("input"),nextState:{isOpen:n.getState().isOpen},props:r,navigator:r.navigator,query:n.getState().query,refresh:a,store:n},o))}if(e.insights&&!r.plugins.some((function(e){return"aa.algoliaInsightsPlugin"===e.name}))){var c="boolean"==typeof e.insights?{}:e.insights;r.plugins.push(_(c))}return r.plugins.forEach((function(e){var n;return null===(n=e.subscribe)||void 0===n?void 0:n.call(e,pt(pt({},o),{},{navigator:r.navigator,refresh:a,onSelect:function(e){t.push({onSelect:e})},onActive:function(e){t.push({onActive:e})},onResolve:function(e){t.push({onResolve:e})}}))})),function(e){var t,r,n=e.metadata,o=e.environment;if(null===(t=o.navigator)||void 0===t||null===(r=t.userAgent)||void 0===r?void 0:r.includes("Algolia Crawler")){var i=o.document.createElement("meta"),a=o.document.querySelector("head");i.name="algolia:metadata",setTimeout((function(){i.content=JSON.stringify(n),a.appendChild(i)}),0)}}({metadata:nt({plugins:r.plugins,options:e}),environment:r.environment}),pt(pt({refresh:a,navigator:r.navigator},i),o)}var yt=r(96540),ht=64;function bt(e){var t=e.translations,r=(void 0===t?{}:t).searchByText,n=void 0===r?"Search by":r;return yt.createElement("a",{href:"https://www.algolia.com/ref/docsearch/?utm_source=".concat(window.location.hostname,"&utm_medium=referral&utm_content=powered_by&utm_campaign=docsearch"),target:"_blank",rel:"noopener noreferrer"},yt.createElement("span",{className:"DocSearch-Label"},n),yt.createElement("svg",{width:"77",height:"19","aria-label":"Algolia",role:"img",id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 2196.2 500"},yt.createElement("defs",null,yt.createElement("style",null,".cls-1,.cls-2{fill:#003dff;}.cls-2{fill-rule:evenodd;}")),yt.createElement("path",{className:"cls-2",d:"M1070.38,275.3V5.91c0-3.63-3.24-6.39-6.82-5.83l-50.46,7.94c-2.87,.45-4.99,2.93-4.99,5.84l.17,273.22c0,12.92,0,92.7,95.97,95.49,3.33,.1,6.09-2.58,6.09-5.91v-40.78c0-2.96-2.19-5.51-5.12-5.84-34.85-4.01-34.85-47.57-34.85-54.72Z"}),yt.createElement("rect",{className:"cls-1",x:"1845.88",y:"104.73",width:"62.58",height:"277.9",rx:"5.9",ry:"5.9"}),yt.createElement("path",{className:"cls-2",d:"M1851.78,71.38h50.77c3.26,0,5.9-2.64,5.9-5.9V5.9c0-3.62-3.24-6.39-6.82-5.83l-50.77,7.95c-2.87,.45-4.99,2.92-4.99,5.83v51.62c0,3.26,2.64,5.9,5.9,5.9Z"}),yt.createElement("path",{className:"cls-2",d:"M1764.03,275.3V5.91c0-3.63-3.24-6.39-6.82-5.83l-50.46,7.94c-2.87,.45-4.99,2.93-4.99,5.84l.17,273.22c0,12.92,0,92.7,95.97,95.49,3.33,.1,6.09-2.58,6.09-5.91v-40.78c0-2.96-2.19-5.51-5.12-5.84-34.85-4.01-34.85-47.57-34.85-54.72Z"}),yt.createElement("path",{className:"cls-2",d:"M1631.95,142.72c-11.14-12.25-24.83-21.65-40.78-28.31-15.92-6.53-33.26-9.85-52.07-9.85-18.78,0-36.15,3.17-51.92,9.85-15.59,6.66-29.29,16.05-40.76,28.31-11.47,12.23-20.38,26.87-26.76,44.03-6.38,17.17-9.24,37.37-9.24,58.36,0,20.99,3.19,36.87,9.55,54.21,6.38,17.32,15.14,32.11,26.45,44.36,11.29,12.23,24.83,21.62,40.6,28.46,15.77,6.83,40.12,10.33,52.4,10.48,12.25,0,36.78-3.82,52.7-10.48,15.92-6.68,29.46-16.23,40.78-28.46,11.29-12.25,20.05-27.04,26.25-44.36,6.22-17.34,9.24-33.22,9.24-54.21,0-20.99-3.34-41.19-10.03-58.36-6.38-17.17-15.14-31.8-26.43-44.03Zm-44.43,163.75c-11.47,15.75-27.56,23.7-48.09,23.7-20.55,0-36.63-7.8-48.1-23.7-11.47-15.75-17.21-34.01-17.21-61.2,0-26.89,5.59-49.14,17.06-64.87,11.45-15.75,27.54-23.52,48.07-23.52,20.55,0,36.63,7.78,48.09,23.52,11.47,15.57,17.36,37.98,17.36,64.87,0,27.19-5.72,45.3-17.19,61.2Z"}),yt.createElement("path",{className:"cls-2",d:"M894.42,104.73h-49.33c-48.36,0-90.91,25.48-115.75,64.1-14.52,22.58-22.99,49.63-22.99,78.73,0,44.89,20.13,84.92,51.59,111.1,2.93,2.6,6.05,4.98,9.31,7.14,12.86,8.49,28.11,13.47,44.52,13.47,1.23,0,2.46-.03,3.68-.09,.36-.02,.71-.05,1.07-.07,.87-.05,1.75-.11,2.62-.2,.34-.03,.68-.08,1.02-.12,.91-.1,1.82-.21,2.73-.34,.21-.03,.42-.07,.63-.1,32.89-5.07,61.56-30.82,70.9-62.81v57.83c0,3.26,2.64,5.9,5.9,5.9h50.42c3.26,0,5.9-2.64,5.9-5.9V110.63c0-3.26-2.64-5.9-5.9-5.9h-56.32Zm0,206.92c-12.2,10.16-27.97,13.98-44.84,15.12-.16,.01-.33,.03-.49,.04-1.12,.07-2.24,.1-3.36,.1-42.24,0-77.12-35.89-77.12-79.37,0-10.25,1.96-20.01,5.42-28.98,11.22-29.12,38.77-49.74,71.06-49.74h49.33v142.83Z"}),yt.createElement("path",{className:"cls-2",d:"M2133.97,104.73h-49.33c-48.36,0-90.91,25.48-115.75,64.1-14.52,22.58-22.99,49.63-22.99,78.73,0,44.89,20.13,84.92,51.59,111.1,2.93,2.6,6.05,4.98,9.31,7.14,12.86,8.49,28.11,13.47,44.52,13.47,1.23,0,2.46-.03,3.68-.09,.36-.02,.71-.05,1.07-.07,.87-.05,1.75-.11,2.62-.2,.34-.03,.68-.08,1.02-.12,.91-.1,1.82-.21,2.73-.34,.21-.03,.42-.07,.63-.1,32.89-5.07,61.56-30.82,70.9-62.81v57.83c0,3.26,2.64,5.9,5.9,5.9h50.42c3.26,0,5.9-2.64,5.9-5.9V110.63c0-3.26-2.64-5.9-5.9-5.9h-56.32Zm0,206.92c-12.2,10.16-27.97,13.98-44.84,15.12-.16,.01-.33,.03-.49,.04-1.12,.07-2.24,.1-3.36,.1-42.24,0-77.12-35.89-77.12-79.37,0-10.25,1.96-20.01,5.42-28.98,11.22-29.12,38.77-49.74,71.06-49.74h49.33v142.83Z"}),yt.createElement("path",{className:"cls-2",d:"M1314.05,104.73h-49.33c-48.36,0-90.91,25.48-115.75,64.1-11.79,18.34-19.6,39.64-22.11,62.59-.58,5.3-.88,10.68-.88,16.14s.31,11.15,.93,16.59c4.28,38.09,23.14,71.61,50.66,94.52,2.93,2.6,6.05,4.98,9.31,7.14,12.86,8.49,28.11,13.47,44.52,13.47h0c17.99,0,34.61-5.93,48.16-15.97,16.29-11.58,28.88-28.54,34.48-47.75v50.26h-.11v11.08c0,21.84-5.71,38.27-17.34,49.36-11.61,11.08-31.04,16.63-58.25,16.63-11.12,0-28.79-.59-46.6-2.41-2.83-.29-5.46,1.5-6.27,4.22l-12.78,43.11c-1.02,3.46,1.27,7.02,4.83,7.53,21.52,3.08,42.52,4.68,54.65,4.68,48.91,0,85.16-10.75,108.89-32.21,21.48-19.41,33.15-48.89,35.2-88.52V110.63c0-3.26-2.64-5.9-5.9-5.9h-56.32Zm0,64.1s.65,139.13,0,143.36c-12.08,9.77-27.11,13.59-43.49,14.7-.16,.01-.33,.03-.49,.04-1.12,.07-2.24,.1-3.36,.1-1.32,0-2.63-.03-3.94-.1-40.41-2.11-74.52-37.26-74.52-79.38,0-10.25,1.96-20.01,5.42-28.98,11.22-29.12,38.77-49.74,71.06-49.74h49.33Z"}),yt.createElement("path",{className:"cls-1",d:"M249.83,0C113.3,0,2,110.09,.03,246.16c-2,138.19,110.12,252.7,248.33,253.5,42.68,.25,83.79-10.19,120.3-30.03,3.56-1.93,4.11-6.83,1.08-9.51l-23.38-20.72c-4.75-4.21-11.51-5.4-17.36-2.92-25.48,10.84-53.17,16.38-81.71,16.03-111.68-1.37-201.91-94.29-200.13-205.96,1.76-110.26,92-199.41,202.67-199.41h202.69V407.41l-115-102.18c-3.72-3.31-9.42-2.66-12.42,1.31-18.46,24.44-48.53,39.64-81.93,37.34-46.33-3.2-83.87-40.5-87.34-86.81-4.15-55.24,39.63-101.52,94-101.52,49.18,0,89.68,37.85,93.91,85.95,.38,4.28,2.31,8.27,5.52,11.12l29.95,26.55c3.4,3.01,8.79,1.17,9.63-3.3,2.16-11.55,2.92-23.58,2.07-35.92-4.82-70.34-61.8-126.93-132.17-131.26-80.68-4.97-148.13,58.14-150.27,137.25-2.09,77.1,61.08,143.56,138.19,145.26,32.19,.71,62.03-9.41,86.14-26.95l150.26,133.2c6.44,5.71,16.61,1.14,16.61-7.47V9.48C499.66,4.25,495.42,0,490.18,0H249.83Z"})))}function gt(e){return yt.createElement("svg",{width:"15",height:"15","aria-label":e.ariaLabel,role:"img"},yt.createElement("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"},e.children))}function Ot(e){var t=e.translations,r=void 0===t?{}:t,n=r.selectText,o=void 0===n?"to select":n,i=r.selectKeyAriaLabel,a=void 0===i?"Enter key":i,c=r.navigateText,l=void 0===c?"to navigate":c,u=r.navigateUpKeyAriaLabel,s=void 0===u?"Arrow up":u,f=r.navigateDownKeyAriaLabel,m=void 0===f?"Arrow down":f,p=r.closeText,v=void 0===p?"to close":p,d=r.closeKeyAriaLabel,y=void 0===d?"Escape key":d,h=r.searchByText,b=void 0===h?"Search by":h;return yt.createElement(yt.Fragment,null,yt.createElement("div",{className:"DocSearch-Logo"},yt.createElement(bt,{translations:{searchByText:b}})),yt.createElement("ul",{className:"DocSearch-Commands"},yt.createElement("li",null,yt.createElement("kbd",{className:"DocSearch-Commands-Key"},yt.createElement(gt,{ariaLabel:a},yt.createElement("path",{d:"M12 3.53088v3c0 1-1 2-2 2H4M7 11.53088l-3-3 3-3"}))),yt.createElement("span",{className:"DocSearch-Label"},o)),yt.createElement("li",null,yt.createElement("kbd",{className:"DocSearch-Commands-Key"},yt.createElement(gt,{ariaLabel:m},yt.createElement("path",{d:"M7.5 3.5v8M10.5 8.5l-3 3-3-3"}))),yt.createElement("kbd",{className:"DocSearch-Commands-Key"},yt.createElement(gt,{ariaLabel:s},yt.createElement("path",{d:"M7.5 11.5v-8M10.5 6.5l-3-3-3 3"}))),yt.createElement("span",{className:"DocSearch-Label"},l)),yt.createElement("li",null,yt.createElement("kbd",{className:"DocSearch-Commands-Key"},yt.createElement(gt,{ariaLabel:y},yt.createElement("path",{d:"M13.6167 8.936c-.1065.3583-.6883.962-1.4875.962-.7993 0-1.653-.9165-1.653-2.1258v-.5678c0-1.2548.7896-2.1016 1.653-2.1016.8634 0 1.3601.4778 1.4875 1.0724M9 6c-.1352-.4735-.7506-.9219-1.46-.8972-.7092.0246-1.344.57-1.344 1.2166s.4198.8812 1.3445.9805C8.465 7.3992 8.968 7.9337 9 8.5c.032.5663-.454 1.398-1.4595 1.398C6.6593 9.898 6 9 5.963 8.4851m-1.4748.5368c-.2635.5941-.8099.876-1.5443.876s-1.7073-.6248-1.7073-2.204v-.4603c0-1.0416.721-2.131 1.7073-2.131.9864 0 1.6425 1.031 1.5443 2.2492h-2.956"}))),yt.createElement("span",{className:"DocSearch-Label"},v))))}function St(e){var t=e.hit,r=e.children;return yt.createElement("a",{href:t.url},r)}function jt(){return yt.createElement("svg",{width:"40",height:"40",viewBox:"0 0 20 20",fill:"none",fillRule:"evenodd",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"},yt.createElement("path",{d:"M19 4.8a16 16 0 00-2-1.2m-3.3-1.2A16 16 0 001.1 4.7M16.7 8a12 12 0 00-2.8-1.4M10 6a12 12 0 00-6.7 2M12.3 14.7a4 4 0 00-4.5 0M14.5 11.4A8 8 0 0010 10M3 16L18 2M10 18h0"}))}function wt(e){var t=e.translations,r=void 0===t?{}:t,n=r.titleText,o=void 0===n?"Unable to fetch results":n,i=r.helpText,a=void 0===i?"You might want to check your network connection.":i;return yt.createElement("div",{className:"DocSearch-ErrorScreen"},yt.createElement("div",{className:"DocSearch-Screen-Icon"},yt.createElement(jt,null)),yt.createElement("p",{className:"DocSearch-Title"},o),yt.createElement("p",{className:"DocSearch-Help"},a))}function Et(){return yt.createElement("svg",{width:"40",height:"40",viewBox:"0 0 20 20",fill:"none",fillRule:"evenodd",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"},yt.createElement("path",{d:"M15.5 4.8c2 3 1.7 7-1 9.7h0l4.3 4.3-4.3-4.3a7.8 7.8 0 01-9.8 1m-2.2-2.2A7.8 7.8 0 0113.2 2.4M2 18L18 2"}))}var Pt=["translations"];function It(e){return function(e){if(Array.isArray(e))return Dt(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Dt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Dt(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Dt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function At(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function kt(e){var t=e.translations,r=void 0===t?{}:t,n=At(e,Pt),o=r.noResultsText,i=void 0===o?"No results for":o,a=r.suggestedQueryText,c=void 0===a?"Try searching for":a,l=r.reportMissingResultsText,u=void 0===l?"Believe this query should return results?":l,s=r.reportMissingResultsLinkText,f=void 0===s?"Let us know.":s,m=n.state.context.searchSuggestions;return yt.createElement("div",{className:"DocSearch-NoResults"},yt.createElement("div",{className:"DocSearch-Screen-Icon"},yt.createElement(Et,null)),yt.createElement("p",{className:"DocSearch-Title"},i,' "',yt.createElement("strong",null,n.state.query),'"'),m&&m.length>0&&yt.createElement("div",{className:"DocSearch-NoResults-Prefill-List"},yt.createElement("p",{className:"DocSearch-Help"},c,":"),yt.createElement("ul",null,m.slice(0,3).reduce((function(e,t){return[].concat(It(e),[yt.createElement("li",{key:t},yt.createElement("button",{className:"DocSearch-Prefill",key:t,type:"button",onClick:function(){n.setQuery(t.toLowerCase()+" "),n.refresh(),n.inputRef.current.focus()}},t))])}),[]))),n.getMissingResultsUrl&&yt.createElement("p",{className:"DocSearch-Help"},"".concat(u," "),yt.createElement("a",{href:n.getMissingResultsUrl({query:n.state.query}),target:"_blank",rel:"noopener noreferrer"},f)))}var xt=function(){return yt.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},yt.createElement("path",{d:"M17 6v12c0 .52-.2 1-1 1H4c-.7 0-1-.33-1-1V2c0-.55.42-1 1-1h8l5 5zM14 8h-3.13c-.51 0-.87-.34-.87-.87V4",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))};function Ct(e){switch(e.type){case"lvl1":return yt.createElement(xt,null);case"content":return yt.createElement(Nt,null);default:return yt.createElement(_t,null)}}function _t(){return yt.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},yt.createElement("path",{d:"M13 13h4-4V8H7v5h6v4-4H7V8H3h4V3v5h6V3v5h4-4v5zm-6 0v4-4H3h4z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}function Nt(){return yt.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},yt.createElement("path",{d:"M17 5H3h14zm0 5H3h14zm0 5H3h14z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))}function Tt(){return yt.createElement("svg",{className:"DocSearch-Hit-Select-Icon",width:"20",height:"20",viewBox:"0 0 20 20"},yt.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},yt.createElement("path",{d:"M18 3v4c0 2-2 4-4 4H2"}),yt.createElement("path",{d:"M8 17l-6-6 6-6"})))}var qt=["hit","attribute","tagName"];function Rt(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}function Lt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Rt(Object(r),!0).forEach((function(t){Mt(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Rt(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Mt(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ht(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function Ft(e,t){return t.split(".").reduce((function(e,t){return null!=e&&e[t]?e[t]:null}),e)}function Ut(e){var t=e.hit,r=e.attribute,n=e.tagName,o=void 0===n?"span":n,i=Ht(e,qt);return(0,yt.createElement)(o,Lt(Lt({},i),{},{dangerouslySetInnerHTML:{__html:Ft(t,"_snippetResult.".concat(r,".value"))||Ft(t,r)}}))}function Bt(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==r)return;var n,o,i=[],a=!0,c=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(l){c=!0,o=l}finally{try{a||null==r.return||r.return()}finally{if(c)throw o}}return i}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Vt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Vt(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Vt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Kt(){return Kt=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Kt.apply(this,arguments)}function $t(e){return e.collection&&0!==e.collection.items.length?yt.createElement("section",{className:"DocSearch-Hits"},yt.createElement("div",{className:"DocSearch-Hit-source"},e.title),yt.createElement("ul",e.getListProps(),e.collection.items.map((function(t,r){return yt.createElement(Jt,Kt({key:[e.title,t.objectID].join(":"),item:t,index:r},e))})))):null}function Jt(e){var t=e.item,r=e.index,n=e.renderIcon,o=e.renderAction,i=e.getItemProps,a=e.onItemClick,c=e.collection,l=e.hitComponent,u=Bt(yt.useState(!1),2),s=u[0],f=u[1],m=Bt(yt.useState(!1),2),p=m[0],v=m[1],d=yt.useRef(null),y=l;return yt.createElement("li",Kt({className:["DocSearch-Hit",t.__docsearch_parent&&"DocSearch-Hit--Child",s&&"DocSearch-Hit--deleting",p&&"DocSearch-Hit--favoriting"].filter(Boolean).join(" "),onTransitionEnd:function(){d.current&&d.current()}},i({item:t,source:c.source,onClick:function(e){a(t,e)}})),yt.createElement(y,{hit:t},yt.createElement("div",{className:"DocSearch-Hit-Container"},n({item:t,index:r}),t.hierarchy[t.type]&&"lvl1"===t.type&&yt.createElement("div",{className:"DocSearch-Hit-content-wrapper"},yt.createElement(Ut,{className:"DocSearch-Hit-title",hit:t,attribute:"hierarchy.lvl1"}),t.content&&yt.createElement(Ut,{className:"DocSearch-Hit-path",hit:t,attribute:"content"})),t.hierarchy[t.type]&&("lvl2"===t.type||"lvl3"===t.type||"lvl4"===t.type||"lvl5"===t.type||"lvl6"===t.type)&&yt.createElement("div",{className:"DocSearch-Hit-content-wrapper"},yt.createElement(Ut,{className:"DocSearch-Hit-title",hit:t,attribute:"hierarchy.".concat(t.type)}),yt.createElement(Ut,{className:"DocSearch-Hit-path",hit:t,attribute:"hierarchy.lvl1"})),"content"===t.type&&yt.createElement("div",{className:"DocSearch-Hit-content-wrapper"},yt.createElement(Ut,{className:"DocSearch-Hit-title",hit:t,attribute:"content"}),yt.createElement(Ut,{className:"DocSearch-Hit-path",hit:t,attribute:"hierarchy.lvl1"})),o({item:t,runDeleteTransition:function(e){f(!0),d.current=e},runFavoriteTransition:function(e){v(!0),d.current=e}}))))}var zt=/(<mark>|<\/mark>)/g,Wt=RegExp(zt.source);function Qt(e){var t,r,n=e;if(!n.__docsearch_parent&&!e._highlightResult)return e.hierarchy.lvl0;var o=((n.__docsearch_parent?null===(t=n.__docsearch_parent)||void 0===t||null===(t=t._highlightResult)||void 0===t||null===(t=t.hierarchy)||void 0===t?void 0:t.lvl0:null===(r=e._highlightResult)||void 0===r||null===(r=r.hierarchy)||void 0===r?void 0:r.lvl0)||{}).value;return o&&Wt.test(o)?o.replace(zt,""):o}function Zt(){return Zt=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Zt.apply(this,arguments)}function Gt(e){return yt.createElement("div",{className:"DocSearch-Dropdown-Container"},e.state.collections.map((function(t){if(0===t.items.length)return null;var r=Qt(t.items[0]);return yt.createElement($t,Zt({},e,{key:t.source.sourceId,title:r,collection:t,renderIcon:function(e){var r,n=e.item,o=e.index;return yt.createElement(yt.Fragment,null,n.__docsearch_parent&&yt.createElement("svg",{className:"DocSearch-Hit-Tree",viewBox:"0 0 24 54"},yt.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},n.__docsearch_parent!==(null===(r=t.items[o+1])||void 0===r?void 0:r.__docsearch_parent)?yt.createElement("path",{d:"M8 6v21M20 27H8.3"}):yt.createElement("path",{d:"M8 6v42M20 27H8.3"}))),yt.createElement("div",{className:"DocSearch-Hit-icon"},yt.createElement(Ct,{type:n.type})))},renderAction:function(){return yt.createElement("div",{className:"DocSearch-Hit-action"},yt.createElement(Tt,null))}}))})),e.resultsFooterComponent&&yt.createElement("section",{className:"DocSearch-HitsFooter"},yt.createElement(e.resultsFooterComponent,{state:e.state})))}function Xt(){return yt.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},yt.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},yt.createElement("path",{d:"M3.18 6.6a8.23 8.23 0 1112.93 9.94h0a8.23 8.23 0 01-11.63 0"}),yt.createElement("path",{d:"M6.44 7.25H2.55V3.36M10.45 6v5.6M10.45 11.6L13 13"})))}function Yt(){return yt.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},yt.createElement("path",{d:"M10 14.2L5 17l1-5.6-4-4 5.5-.7 2.5-5 2.5 5 5.6.8-4 4 .9 5.5z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))}function er(){return yt.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},yt.createElement("path",{d:"M10 10l5.09-5.09L10 10l5.09 5.09L10 10zm0 0L4.91 4.91 10 10l-5.09 5.09L10 10z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}var tr=["translations"];function rr(){return rr=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},rr.apply(this,arguments)}function nr(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function or(e){var t=e.translations,r=void 0===t?{}:t,n=nr(e,tr),o=r.recentSearchesTitle,i=void 0===o?"Recent":o,a=r.noRecentSearchesText,c=void 0===a?"No recent searches":a,l=r.saveRecentSearchButtonTitle,u=void 0===l?"Save this search":l,s=r.removeRecentSearchButtonTitle,f=void 0===s?"Remove this search from history":s,m=r.favoriteSearchesTitle,p=void 0===m?"Favorite":m,v=r.removeFavoriteSearchButtonTitle,d=void 0===v?"Remove this search from favorites":v;return"idle"===n.state.status&&!1===n.hasCollections?n.disableUserPersonalization?null:yt.createElement("div",{className:"DocSearch-StartScreen"},yt.createElement("p",{className:"DocSearch-Help"},c)):!1===n.hasCollections?null:yt.createElement("div",{className:"DocSearch-Dropdown-Container"},yt.createElement($t,rr({},n,{title:i,collection:n.state.collections[0],renderIcon:function(){return yt.createElement("div",{className:"DocSearch-Hit-icon"},yt.createElement(Xt,null))},renderAction:function(e){var t=e.item,r=e.runFavoriteTransition,o=e.runDeleteTransition;return yt.createElement(yt.Fragment,null,yt.createElement("div",{className:"DocSearch-Hit-action"},yt.createElement("button",{className:"DocSearch-Hit-action-button",title:u,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),r((function(){n.favoriteSearches.add(t),n.recentSearches.remove(t),n.refresh()}))}},yt.createElement(Yt,null))),yt.createElement("div",{className:"DocSearch-Hit-action"},yt.createElement("button",{className:"DocSearch-Hit-action-button",title:f,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),o((function(){n.recentSearches.remove(t),n.refresh()}))}},yt.createElement(er,null))))}})),yt.createElement($t,rr({},n,{title:p,collection:n.state.collections[1],renderIcon:function(){return yt.createElement("div",{className:"DocSearch-Hit-icon"},yt.createElement(Yt,null))},renderAction:function(e){var t=e.item,r=e.runDeleteTransition;return yt.createElement("div",{className:"DocSearch-Hit-action"},yt.createElement("button",{className:"DocSearch-Hit-action-button",title:d,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),r((function(){n.favoriteSearches.remove(t),n.refresh()}))}},yt.createElement(er,null)))}})))}var ir=["translations"];function ar(){return ar=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},ar.apply(this,arguments)}function cr(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var lr=yt.memo((function(e){var t=e.translations,r=void 0===t?{}:t,n=cr(e,ir);if("error"===n.state.status)return yt.createElement(wt,{translations:null==r?void 0:r.errorScreen});var o=n.state.collections.some((function(e){return e.items.length>0}));return n.state.query?!1===o?yt.createElement(kt,ar({},n,{translations:null==r?void 0:r.noResultsScreen})):yt.createElement(Gt,n):yt.createElement(or,ar({},n,{hasCollections:o,translations:null==r?void 0:r.startScreen}))}),(function(e,t){return"loading"===t.state.status||"stalled"===t.state.status}));function ur(){return yt.createElement("svg",{viewBox:"0 0 38 38",stroke:"currentColor",strokeOpacity:".5"},yt.createElement("g",{fill:"none",fillRule:"evenodd"},yt.createElement("g",{transform:"translate(1 1)",strokeWidth:"2"},yt.createElement("circle",{strokeOpacity:".3",cx:"18",cy:"18",r:"18"}),yt.createElement("path",{d:"M36 18c0-9.94-8.06-18-18-18"},yt.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 18 18",to:"360 18 18",dur:"1s",repeatCount:"indefinite"})))))}var sr=r(89188),fr=["translations"];function mr(){return mr=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},mr.apply(this,arguments)}function pr(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function vr(e){var t=e.translations,r=void 0===t?{}:t,n=pr(e,fr),o=r.resetButtonTitle,i=void 0===o?"Clear the query":o,a=r.resetButtonAriaLabel,c=void 0===a?"Clear the query":a,l=r.cancelButtonText,u=void 0===l?"Cancel":l,s=r.cancelButtonAriaLabel,f=void 0===s?"Cancel":s,m=r.searchInputLabel,p=void 0===m?"Search":m,v=n.getFormProps({inputElement:n.inputRef.current}).onReset;return yt.useEffect((function(){n.autoFocus&&n.inputRef.current&&n.inputRef.current.focus()}),[n.autoFocus,n.inputRef]),yt.useEffect((function(){n.isFromSelection&&n.inputRef.current&&n.inputRef.current.select()}),[n.isFromSelection,n.inputRef]),yt.createElement(yt.Fragment,null,yt.createElement("form",{className:"DocSearch-Form",onSubmit:function(e){e.preventDefault()},onReset:v},yt.createElement("label",mr({className:"DocSearch-MagnifierLabel"},n.getLabelProps()),yt.createElement(sr.W,null),yt.createElement("span",{className:"DocSearch-VisuallyHiddenForAccessibility"},p)),yt.createElement("div",{className:"DocSearch-LoadingIndicator"},yt.createElement(ur,null)),yt.createElement("input",mr({className:"DocSearch-Input",ref:n.inputRef},n.getInputProps({inputElement:n.inputRef.current,autoFocus:n.autoFocus,maxLength:ht}))),yt.createElement("button",{type:"reset",title:i,className:"DocSearch-Reset","aria-label":c,hidden:!n.state.query},yt.createElement(er,null))),yt.createElement("button",{className:"DocSearch-Cancel",type:"reset","aria-label":f,onClick:n.onClose},u))}var dr=["_highlightResult","_snippetResult"];function yr(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function hr(e){return!1===function(){var e="__TEST_KEY__";try{return localStorage.setItem(e,""),localStorage.removeItem(e),!0}catch(t){return!1}}()?{setItem:function(){},getItem:function(){return[]}}:{setItem:function(t){return window.localStorage.setItem(e,JSON.stringify(t))},getItem:function(){var t=window.localStorage.getItem(e);return t?JSON.parse(t):[]}}}function br(e){var t=e.key,r=e.limit,n=void 0===r?5:r,o=hr(t),i=o.getItem().slice(0,n);return{add:function(e){var t=e,r=(t._highlightResult,t._snippetResult,yr(t,dr)),a=i.findIndex((function(e){return e.objectID===r.objectID}));a>-1&&i.splice(a,1),i.unshift(r),i=i.slice(0,n),o.setItem(i)},remove:function(e){i=i.filter((function(t){return t.objectID!==e.objectID})),o.setItem(i)},getAll:function(){return i}}}function gr(e){const t=`algoliasearch-client-js-${e.key}`;let r;const n=()=>(void 0===r&&(r=e.localStorage||window.localStorage),r),o=()=>JSON.parse(n().getItem(t)||"{}"),i=e=>{n().setItem(t,JSON.stringify(e))};return{get:(t,r,n={miss:()=>Promise.resolve()})=>Promise.resolve().then((()=>{(()=>{const t=e.timeToLive?1e3*e.timeToLive:null,r=o(),n=Object.fromEntries(Object.entries(r).filter((([,e])=>void 0!==e.timestamp)));if(i(n),!t)return;const a=Object.fromEntries(Object.entries(n).filter((([,e])=>{const r=(new Date).getTime();return!(e.timestamp+t<r)})));i(a)})();const r=JSON.stringify(t);return o()[r]})).then((e=>Promise.all([e?e.value:r(),void 0!==e]))).then((([e,t])=>Promise.all([e,t||n.miss(e)]))).then((([e])=>e)),set:(e,r)=>Promise.resolve().then((()=>{const i=o();return i[JSON.stringify(e)]={timestamp:(new Date).getTime(),value:r},n().setItem(t,JSON.stringify(i)),r})),delete:e=>Promise.resolve().then((()=>{const r=o();delete r[JSON.stringify(e)],n().setItem(t,JSON.stringify(r))})),clear:()=>Promise.resolve().then((()=>{n().removeItem(t)}))}}function Or(e){const t=[...e.caches],r=t.shift();return void 0===r?{get:(e,t,r={miss:()=>Promise.resolve()})=>t().then((e=>Promise.all([e,r.miss(e)]))).then((([e])=>e)),set:(e,t)=>Promise.resolve(t),delete:e=>Promise.resolve(),clear:()=>Promise.resolve()}:{get:(e,n,o={miss:()=>Promise.resolve()})=>r.get(e,n,o).catch((()=>Or({caches:t}).get(e,n,o))),set:(e,n)=>r.set(e,n).catch((()=>Or({caches:t}).set(e,n))),delete:e=>r.delete(e).catch((()=>Or({caches:t}).delete(e))),clear:()=>r.clear().catch((()=>Or({caches:t}).clear()))}}function Sr(e={serializable:!0}){let t={};return{get(r,n,o={miss:()=>Promise.resolve()}){const i=JSON.stringify(r);if(i in t)return Promise.resolve(e.serializable?JSON.parse(t[i]):t[i]);const a=n(),c=o&&o.miss||(()=>Promise.resolve());return a.then((e=>c(e))).then((()=>a))},set:(r,n)=>(t[JSON.stringify(r)]=e.serializable?JSON.stringify(n):n,Promise.resolve(n)),delete:e=>(delete t[JSON.stringify(e)],Promise.resolve()),clear:()=>(t={},Promise.resolve())}}function jr(e){let t=e.length-1;for(;t>0;t--){const r=Math.floor(Math.random()*(t+1)),n=e[t];e[t]=e[r],e[r]=n}return e}function wr(e,t){return t?(Object.keys(t).forEach((r=>{e[r]=t[r](e)})),e):e}function Er(e,...t){let r=0;return e.replace(/%s/g,(()=>encodeURIComponent(t[r++])))}const Pr="4.23.3",Ir={WithinQueryParameters:0,WithinHeaders:1};function Dr(e,t){const r=e||{},n=r.data||{};return Object.keys(r).forEach((e=>{-1===["timeout","headers","queryParameters","data","cacheable"].indexOf(e)&&(n[e]=r[e])})),{data:Object.entries(n).length>0?n:void 0,timeout:r.timeout||t,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}const Ar={Read:1,Write:2,Any:3},kr={Up:1,Down:2,Timeouted:3},xr=12e4;function Cr(e,t=kr.Up){return{...e,status:t,lastUpdate:Date.now()}}function _r(e){return"string"==typeof e?{protocol:"https",url:e,accept:Ar.Any}:{protocol:e.protocol||"https",url:e.url,accept:e.accept||Ar.Any}}const Nr={Delete:"DELETE",Get:"GET",Post:"POST",Put:"PUT"};function Tr(e,t){return Promise.all(t.map((t=>e.get(t,(()=>Promise.resolve(Cr(t))))))).then((e=>{const r=e.filter((e=>function(e){return e.status===kr.Up||Date.now()-e.lastUpdate>xr}(e))),n=e.filter((e=>function(e){return e.status===kr.Timeouted&&Date.now()-e.lastUpdate<=xr}(e))),o=[...r,...n];return{getTimeout:(e,t)=>(0===n.length&&0===e?1:n.length+3+e)*t,statelessHosts:o.length>0?o.map((e=>_r(e))):t}}))}const qr=(e,t)=>(e=>{const t=e.status;return e.isTimedOut||(({isTimedOut:e,status:t})=>!e&&!~~t)(e)||2!=~~(t/100)&&4!=~~(t/100)})(e)?t.onRetry(e):(({status:e})=>2==~~(e/100))(e)?t.onSuccess(e):t.onFail(e);function Rr(e,t,r,n){const o=[],i=function(e,t){if(e.method===Nr.Get||void 0===e.data&&void 0===t.data)return;const r=Array.isArray(e.data)?e.data:{...e.data,...t.data};return JSON.stringify(r)}(r,n),a=function(e,t){const r={...e.headers,...t.headers},n={};return Object.keys(r).forEach((e=>{const t=r[e];n[e.toLowerCase()]=t})),n}(e,n),c=r.method,l=r.method!==Nr.Get?{}:{...r.data,...n.data},u={"x-algolia-agent":e.userAgent.value,...e.queryParameters,...l,...n.queryParameters};let s=0;const f=(t,l)=>{const m=t.pop();if(void 0===m)throw{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:Fr(o)};const p={data:i,headers:a,method:c,url:Mr(m,r.path,u),connectTimeout:l(s,e.timeouts.connect),responseTimeout:l(s,n.timeout)},v=e=>{const r={request:p,response:e,host:m,triesLeft:t.length};return o.push(r),r},d={onSuccess:e=>function(e){try{return JSON.parse(e.content)}catch(t){throw function(e,t){return{name:"DeserializationError",message:e,response:t}}(t.message,e)}}(e),onRetry(r){const n=v(r);return r.isTimedOut&&s++,Promise.all([e.logger.info("Retryable failure",Ur(n)),e.hostsCache.set(m,Cr(m,r.isTimedOut?kr.Timeouted:kr.Down))]).then((()=>f(t,l)))},onFail(e){throw v(e),function({content:e,status:t},r){let n=e;try{n=JSON.parse(e).message}catch(o){}return function(e,t,r){return{name:"ApiError",message:e,status:t,transporterStackTrace:r}}(n,t,r)}(e,Fr(o))}};return e.requester.send(p).then((e=>qr(e,d)))};return Tr(e.hostsCache,t).then((e=>f([...e.statelessHosts].reverse(),e.getTimeout)))}function Lr(e){const t={value:`Algolia for JavaScript (${e})`,add(e){const r=`; ${e.segment}${void 0!==e.version?` (${e.version})`:""}`;return-1===t.value.indexOf(r)&&(t.value=`${t.value}${r}`),t}};return t}function Mr(e,t,r){const n=Hr(r);let o=`${e.protocol}://${e.url}/${"/"===t.charAt(0)?t.substr(1):t}`;return n.length&&(o+=`?${n}`),o}function Hr(e){return Object.keys(e).map((t=>{return Er("%s=%s",t,(r=e[t],"[object Object]"===Object.prototype.toString.call(r)||"[object Array]"===Object.prototype.toString.call(r)?JSON.stringify(e[t]):e[t]));var r})).join("&")}function Fr(e){return e.map((e=>Ur(e)))}function Ur(e){const t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...e,request:{...e.request,headers:{...e.request.headers,...t}}}}const Br=e=>{const t=e.appId,r=function(e,t,r){const n={"x-algolia-api-key":r,"x-algolia-application-id":t};return{headers:()=>e===Ir.WithinHeaders?n:{},queryParameters:()=>e===Ir.WithinQueryParameters?n:{}}}(void 0!==e.authMode?e.authMode:Ir.WithinHeaders,t,e.apiKey),n=function(e){const{hostsCache:t,logger:r,requester:n,requestsCache:o,responsesCache:i,timeouts:a,userAgent:c,hosts:l,queryParameters:u,headers:s}=e,f={hostsCache:t,logger:r,requester:n,requestsCache:o,responsesCache:i,timeouts:a,userAgent:c,headers:s,queryParameters:u,hosts:l.map((e=>_r(e))),read(e,t){const r=Dr(t,f.timeouts.read),n=()=>Rr(f,f.hosts.filter((e=>!!(e.accept&Ar.Read))),e,r);if(!0!==(void 0!==r.cacheable?r.cacheable:e.cacheable))return n();const o={request:e,mappedRequestOptions:r,transporter:{queryParameters:f.queryParameters,headers:f.headers}};return f.responsesCache.get(o,(()=>f.requestsCache.get(o,(()=>f.requestsCache.set(o,n()).then((e=>Promise.all([f.requestsCache.delete(o),e])),(e=>Promise.all([f.requestsCache.delete(o),Promise.reject(e)]))).then((([e,t])=>t))))),{miss:e=>f.responsesCache.set(o,e)})},write:(e,t)=>Rr(f,f.hosts.filter((e=>!!(e.accept&Ar.Write))),e,Dr(t,f.timeouts.write))};return f}({hosts:[{url:`${t}-dsn.algolia.net`,accept:Ar.Read},{url:`${t}.algolia.net`,accept:Ar.Write}].concat(jr([{url:`${t}-1.algolianet.com`},{url:`${t}-2.algolianet.com`},{url:`${t}-3.algolianet.com`}])),...e,headers:{...r.headers(),"content-type":"application/x-www-form-urlencoded",...e.headers},queryParameters:{...r.queryParameters(),...e.queryParameters}}),o={transporter:n,appId:t,addAlgoliaAgent(e,t){n.userAgent.add({segment:e,version:t})},clearCache:()=>Promise.all([n.requestsCache.clear(),n.responsesCache.clear()]).then((()=>{}))};return wr(o,e.methods)},Vr=e=>(t,r)=>t.method===Nr.Get?e.transporter.read(t,r):e.transporter.write(t,r),Kr=e=>(t,r={})=>wr({transporter:e.transporter,appId:e.appId,indexName:t},r.methods),$r=e=>(t,r)=>{const n=t.map((e=>({...e,params:Hr(e.params||{})})));return e.transporter.read({method:Nr.Post,path:"1/indexes/*/queries",data:{requests:n},cacheable:!0},r)},Jr=e=>(t,r)=>Promise.all(t.map((t=>{const{facetName:n,facetQuery:o,...i}=t.params;return Kr(e)(t.indexName,{methods:{searchForFacetValues:Qr}}).searchForFacetValues(n,o,{...r,...i})}))),zr=e=>(t,r,n)=>e.transporter.read({method:Nr.Post,path:Er("1/answers/%s/prediction",e.indexName),data:{query:t,queryLanguages:r},cacheable:!0},n),Wr=e=>(t,r)=>e.transporter.read({method:Nr.Post,path:Er("1/indexes/%s/query",e.indexName),data:{query:t},cacheable:!0},r),Qr=e=>(t,r,n)=>e.transporter.read({method:Nr.Post,path:Er("1/indexes/%s/facets/%s/query",e.indexName,t),data:{facetQuery:r},cacheable:!0},n),Zr={Debug:1,Info:2,Error:3};const Gr=e=>(t,r)=>{const n=t.map((e=>({...e,threshold:e.threshold||0})));return e.transporter.read({method:Nr.Post,path:"1/indexes/*/recommendations",data:{requests:n},cacheable:!0},r)};function Xr(e,t,r){const n={appId:e,apiKey:t,timeouts:{connect:1,read:2,write:30},requester:{send:e=>new Promise((t=>{const r=new XMLHttpRequest;r.open(e.method,e.url,!0),Object.keys(e.headers).forEach((t=>r.setRequestHeader(t,e.headers[t])));const n=(e,n)=>setTimeout((()=>{r.abort(),t({status:0,content:n,isTimedOut:!0})}),1e3*e),o=n(e.connectTimeout,"Connection timeout");let i;r.onreadystatechange=()=>{r.readyState>r.OPENED&&void 0===i&&(clearTimeout(o),i=n(e.responseTimeout,"Socket timeout"))},r.onerror=()=>{0===r.status&&(clearTimeout(o),clearTimeout(i),t({content:r.responseText||"Network request failed",status:r.status,isTimedOut:!1}))},r.onload=()=>{clearTimeout(o),clearTimeout(i),t({content:r.responseText,status:r.status,isTimedOut:!1})},r.send(e.data)}))},logger:(o=Zr.Error,{debug:(e,t)=>(Zr.Debug>=o&&console.debug(e,t),Promise.resolve()),info:(e,t)=>(Zr.Info>=o&&console.info(e,t),Promise.resolve()),error:(e,t)=>(console.error(e,t),Promise.resolve())}),responsesCache:Sr(),requestsCache:Sr({serializable:!1}),hostsCache:Or({caches:[gr({key:`${Pr}-${e}`}),Sr()]}),userAgent:Lr(Pr).add({segment:"Browser",version:"lite"}),authMode:Ir.WithinQueryParameters};var o;return Br({...n,...r,methods:{search:$r,searchForFacetValues:Jr,multipleQueries:$r,multipleSearchForFacetValues:Jr,customRequest:Vr,initIndex:e=>t=>Kr(e)(t,{methods:{search:Wr,searchForFacetValues:Qr,findAnswers:zr}}),getRecommendations:Gr}})}Xr.version=Pr;const Yr=Xr;var en="3.6.0";function tn(){}function rn(e){return e}function nn(e){return 1===e.button||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}function on(e,t,r){return e.reduce((function(e,n){var o=t(n);return e.hasOwnProperty(o)||(e[o]=[]),e[o].length<(r||5)&&e[o].push(n),e}),{})}var an=["footer","searchBox"];function cn(){return cn=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},cn.apply(this,arguments)}function ln(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}function un(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ln(Object(r),!0).forEach((function(t){sn(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ln(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function sn(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function fn(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==r)return;var n,o,i=[],a=!0,c=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(l){c=!0,o=l}finally{try{a||null==r.return||r.return()}finally{if(c)throw o}}return i}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return mn(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return mn(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function mn(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function pn(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function vn(e){var t=e.appId,r=e.apiKey,n=e.indexName,o=e.placeholder,i=void 0===o?"Search docs":o,a=e.searchParameters,c=e.maxResultsPerGroup,l=e.onClose,u=void 0===l?tn:l,s=e.transformItems,f=void 0===s?rn:s,m=e.hitComponent,p=void 0===m?St:m,v=e.resultsFooterComponent,d=void 0===v?function(){return null}:v,y=e.navigator,h=e.initialScrollY,b=void 0===h?0:h,g=e.transformSearchClient,O=void 0===g?rn:g,S=e.disableUserPersonalization,j=void 0!==S&&S,w=e.initialQuery,E=void 0===w?"":w,P=e.translations,I=void 0===P?{}:P,D=e.getMissingResultsUrl,A=e.insights,k=void 0!==A&&A,x=I.footer,C=I.searchBox,_=pn(I,an),N=fn(yt.useState({query:"",collections:[],completion:null,context:{},isOpen:!1,activeItemId:null,status:"idle"}),2),T=N[0],q=N[1],R=yt.useRef(null),L=yt.useRef(null),M=yt.useRef(null),H=yt.useRef(null),F=yt.useRef(null),U=yt.useRef(10),B=yt.useRef("undefined"!=typeof window?window.getSelection().toString().slice(0,ht):"").current,V=yt.useRef(E||B).current,K=function(e,t,r){return yt.useMemo((function(){var n=Yr(e,t);return n.addAlgoliaAgent("docsearch",en),!1===/docsearch.js \(.*\)/.test(n.transporter.userAgent.value)&&n.addAlgoliaAgent("docsearch-react",en),r(n)}),[e,t,r])}(t,r,O),$=yt.useRef(br({key:"__DOCSEARCH_FAVORITE_SEARCHES__".concat(n),limit:10})).current,J=yt.useRef(br({key:"__DOCSEARCH_RECENT_SEARCHES__".concat(n),limit:0===$.getAll().length?7:4})).current,z=yt.useCallback((function(e){if(!j){var t="content"===e.type?e.__docsearch_parent:e;t&&-1===$.getAll().findIndex((function(e){return e.objectID===t.objectID}))&&J.add(t)}}),[$,J,j]),W=yt.useCallback((function(e){if(T.context.algoliaInsightsPlugin&&e.__autocomplete_id){var t=e,r={eventName:"Item Selected",index:t.__autocomplete_indexName,items:[t],positions:[e.__autocomplete_id],queryID:t.__autocomplete_queryID};T.context.algoliaInsightsPlugin.insights.clickedObjectIDsAfterSearch(r)}}),[T.context.algoliaInsightsPlugin]),Q=yt.useMemo((function(){return dt({id:"docsearch",defaultActiveItemId:0,placeholder:i,openOnFocus:!0,initialState:{query:V,context:{searchSuggestions:[]}},insights:k,navigator:y,onStateChange:function(e){q(e.state)},getSources:function(e){var o=e.query,i=e.state,l=e.setContext,s=e.setStatus;if(!o)return j?[]:[{sourceId:"recentSearches",onSelect:function(e){var t=e.item,r=e.event;z(t),nn(r)||u()},getItemUrl:function(e){return e.item.url},getItems:function(){return J.getAll()}},{sourceId:"favoriteSearches",onSelect:function(e){var t=e.item,r=e.event;z(t),nn(r)||u()},getItemUrl:function(e){return e.item.url},getItems:function(){return $.getAll()}}];var m=Boolean(k);return K.search([{query:o,indexName:n,params:un({attributesToRetrieve:["hierarchy.lvl0","hierarchy.lvl1","hierarchy.lvl2","hierarchy.lvl3","hierarchy.lvl4","hierarchy.lvl5","hierarchy.lvl6","content","type","url"],attributesToSnippet:["hierarchy.lvl1:".concat(U.current),"hierarchy.lvl2:".concat(U.current),"hierarchy.lvl3:".concat(U.current),"hierarchy.lvl4:".concat(U.current),"hierarchy.lvl5:".concat(U.current),"hierarchy.lvl6:".concat(U.current),"content:".concat(U.current)],snippetEllipsisText:"\u2026",highlightPreTag:"<mark>",highlightPostTag:"</mark>",hitsPerPage:20,clickAnalytics:m},a)}]).catch((function(e){throw"RetryError"===e.name&&s("error"),e})).then((function(e){var o=e.results[0],a=o.hits,s=o.nbHits,p=on(a,(function(e){return Qt(e)}),c);i.context.searchSuggestions.length<Object.keys(p).length&&l({searchSuggestions:Object.keys(p)}),l({nbHits:s});var v={};return m&&(v={__autocomplete_indexName:n,__autocomplete_queryID:o.queryID,__autocomplete_algoliaCredentials:{appId:t,apiKey:r}}),Object.values(p).map((function(e,t){return{sourceId:"hits".concat(t),onSelect:function(e){var t=e.item,r=e.event;z(t),nn(r)||u()},getItemUrl:function(e){return e.item.url},getItems:function(){return Object.values(on(e,(function(e){return e.hierarchy.lvl1}),c)).map(f).map((function(e){return e.map((function(t){var r=null,n=e.find((function(e){return"lvl1"===e.type&&e.hierarchy.lvl1===t.hierarchy.lvl1}));return"lvl1"!==t.type&&n&&(r=n),un(un({},t),{},{__docsearch_parent:r},v)}))})).flat()}}}))}))}})}),[n,a,c,K,u,J,$,z,V,i,y,f,j,k,t,r]),Z=Q.getEnvironmentProps,G=Q.getRootProps,X=Q.refresh;return function(e){var t=e.getEnvironmentProps,r=e.panelElement,n=e.formElement,o=e.inputElement;yt.useEffect((function(){if(r&&n&&o){var e=t({panelElement:r,formElement:n,inputElement:o}),i=e.onTouchStart,a=e.onTouchMove;return window.addEventListener("touchstart",i),window.addEventListener("touchmove",a),function(){window.removeEventListener("touchstart",i),window.removeEventListener("touchmove",a)}}}),[t,r,n,o])}({getEnvironmentProps:Z,panelElement:H.current,formElement:M.current,inputElement:F.current}),function(e){var t=e.container;yt.useEffect((function(){if(t){var e=t.querySelectorAll("a[href]:not([disabled]), button:not([disabled]), input:not([disabled])"),r=e[0],n=e[e.length-1];return t.addEventListener("keydown",o),function(){t.removeEventListener("keydown",o)}}function o(e){"Tab"===e.key&&(e.shiftKey?document.activeElement===r&&(e.preventDefault(),n.focus()):document.activeElement===n&&(e.preventDefault(),r.focus()))}}),[t])}({container:R.current}),yt.useEffect((function(){return document.body.classList.add("DocSearch--active"),function(){var e,t;document.body.classList.remove("DocSearch--active"),null===(e=(t=window).scrollTo)||void 0===e||e.call(t,0,b)}}),[]),yt.useEffect((function(){window.matchMedia("(max-width: 768px)").matches&&(U.current=5)}),[]),yt.useEffect((function(){H.current&&(H.current.scrollTop=0)}),[T.query]),yt.useEffect((function(){V.length>0&&(X(),F.current&&F.current.focus())}),[V,X]),yt.useEffect((function(){function e(){if(L.current){var e=.01*window.innerHeight;L.current.style.setProperty("--docsearch-vh","".concat(e,"px"))}}return e(),window.addEventListener("resize",e),function(){window.removeEventListener("resize",e)}}),[]),yt.createElement("div",cn({ref:R},G({"aria-expanded":!0}),{className:["DocSearch","DocSearch-Container","stalled"===T.status&&"DocSearch-Container--Stalled","error"===T.status&&"DocSearch-Container--Errored"].filter(Boolean).join(" "),role:"button",tabIndex:0,onMouseDown:function(e){e.target===e.currentTarget&&u()}}),yt.createElement("div",{className:"DocSearch-Modal",ref:L},yt.createElement("header",{className:"DocSearch-SearchBar",ref:M},yt.createElement(vr,cn({},Q,{state:T,autoFocus:0===V.length,inputRef:F,isFromSelection:Boolean(V)&&V===B,translations:C,onClose:u}))),yt.createElement("div",{className:"DocSearch-Dropdown",ref:H},yt.createElement(lr,cn({},Q,{indexName:n,state:T,hitComponent:p,resultsFooterComponent:d,disableUserPersonalization:j,recentSearches:J,favoriteSearches:$,inputRef:F,translations:_,getMissingResultsUrl:D,onItemClick:function(e,t){W(e),z(e),nn(t)||u()}}))),yt.createElement("footer",{className:"DocSearch-Footer"},yt.createElement(Ot,{translations:x}))))}}}]); \ No newline at end of file diff --git a/assets/js/96795ae1.5486154c.js b/assets/js/96795ae1.5486154c.js deleted file mode 100644 index 9b476333b..000000000 --- a/assets/js/96795ae1.5486154c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[54286],{45804:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>s,metadata:()=>l,toc:()=>r});var t=o(74848),i=o(28453);const s={title:"Components and blocks",description:"Explanation of the difference between components and blocks on a practical example",slug:"components-and-blocks",authors:"obradovic",tags:["eightshift","boilerplate","components","blocks"],hide_table_of_contents:!1},a=void 0,l={permalink:"/blog/components-and-blocks",source:"@site/blog/2022-01-21-components-and-blocks.md",title:"Components and blocks",description:"Explanation of the difference between components and blocks on a practical example",date:"2022-01-21T00:00:00.000Z",formattedDate:"January 21, 2022",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"components",permalink:"/blog/tags/components"},{label:"blocks",permalink:"/blog/tags/blocks"}],readingTime:3.75,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Components and blocks",description:"Explanation of the difference between components and blocks on a practical example",slug:"components-and-blocks",authors:"obradovic",tags:["eightshift","boilerplate","components","blocks"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Adding components and blocks with WP-CLI",permalink:"/blog/adding-blocks-wpcli"},nextItem:{title:"Initial setup and first steps",permalink:"/blog/initial-setup"}},c={authorsImageUrls:[void 0]},r=[{value:"Component",id:"component",level:2},{value:"Block",id:"block",level:2},{value:"Conclusion",id:"conclusion",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.p,{children:["In this blog post, we'll give you a practical explanation about the difference between components and blocks. For a truly in-depth explanation about components and blocks, you can refer to ",(0,t.jsx)(n.a,{href:"/docs/basics/blocks",children:"our documentation"}),". A more specific explanation about using components in a block can be found in the ",(0,t.jsx)(n.a,{href:"/docs/basics/blocks-component-in-block/",children:"Component in a Block"})," section."]}),"\n",(0,t.jsx)(n.p,{children:"One of the things that is really confusing to newcomers is the difference between components and blocks. Let's break it all down."}),"\n",(0,t.jsx)(n.h2,{id:"component",children:"Component"}),"\n",(0,t.jsx)(n.admonition,{title:":es-hide-title:",type:"note",children:(0,t.jsx)(n.p,{children:"A component is like a blank slate, a template without context."})}),"\n",(0,t.jsx)(n.p,{children:"It doesn't know or even care for what it will be used. Can you combine multiple simple components into one complex component? Absolutely! That's exactly what we'll do in the following example."}),"\n",(0,t.jsx)(n.p,{children:"Let's say we have a component that consists of an image and a heading. Image and heading are two simple components that come with the theme out-of-the-box."}),"\n",(0,t.jsx)(n.p,{children:"Here are a few examples of how this new component can be used:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"displaying a post"}),"\n",(0,t.jsx)(n.li,{children:"displaying a user or an author"}),"\n",(0,t.jsx)(n.li,{children:"displaying a photo with the photographer's name"}),"\n",(0,t.jsx)(n.li,{children:"and many more..."}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["As you can already see, there are many ways you can use this component. What helps expand the usability of this component even more are ",(0,t.jsx)(n.code,{children:"attributes"}),". Let's say we have the following attributes:"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"imagePosition"})," - left, right, top, bottom"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"imageShape"})," - rectangular, circular"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"imageWidth"})," - 25%, 50%, 75%"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"headingColor"})," - black, blue, red"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"headingSize"})," - small, medium, large"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"These attributes give you the option to modify the look of the component, so this specific component can be used for the following:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"related posts"})," - rectangular image on the left side, 25% image width, heading takes up the remaining 75%, medium heading colored in blue"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"user avatar"})," - circular image on the left side, 25% image width, small heading colored in black"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"photo of the day"})," - rectangular image on the right side which takes 75% width and photographer's name is written in medium blue text"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"featured posts"})," - rectangular image on top, large heading in red color"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{alt:"Component with different attributes",src:o(68057).A+"",width:"1086",height:"813"})}),"\n",(0,t.jsxs)(n.p,{children:["You can even add conditional logic to your options, e.g. to have the option for ",(0,t.jsx)(n.code,{children:"imageWidth"})," visible only when ",(0,t.jsx)(n.code,{children:"imagePosition"})," is set to left or right. And when ",(0,t.jsx)(n.code,{children:"imagePosition"})," is set to top or bottom, it defaults to 100% width."]}),"\n",(0,t.jsx)(n.h2,{id:"block",children:"Block"}),"\n",(0,t.jsx)(n.p,{children:"So, what about blocks? Blocks can consist of one or more components and, most importantly, allow you to use them in the editor. Technically, blocks can consist of zero components, but we encourage you to build blocks from components because that increases the reusability."}),"\n",(0,t.jsx)(n.admonition,{title:":es-hide-title:",type:"note",children:(0,t.jsx)(n.p,{children:"Blocks give context to the components."})}),"\n",(0,t.jsxs)(n.p,{children:["Now that we have our component - let's call it ",(0,t.jsx)(n.code,{children:"card-simple"})," - we can use it in a ",(0,t.jsx)(n.code,{children:"Featured Posts"})," block. In ",(0,t.jsx)(n.strong,{children:"component's"})," ",(0,t.jsx)(n.code,{children:"manifest.json"}),", we've already defined how we want it to look by setting some defaults. When using this component in our block, we can override some attributes in ",(0,t.jsx)(n.strong,{children:"block's"})," ",(0,t.jsx)(n.code,{children:"manifest.json"}),". Since it will be used for displaying featured posts, we can define that ",(0,t.jsx)(n.code,{children:"imagePosition"})," should be set to ",(0,t.jsx)(n.strong,{children:"top"}),"."]}),"\n",(0,t.jsx)(n.p,{children:"After defining how we want our component to look while displaying featured posts, we need another attribute which will allow us to choose which posts to display in our block."}),"\n",(0,t.jsxs)(n.p,{children:["To do that, we'll add a new attribute called ",(0,t.jsx)(n.code,{children:"featuredPosts"})," which will define which posts will be displayed in our block. For each selected post, another ",(0,t.jsx)(n.code,{children:"card-simple"})," component is added, and featured image and post title are dynamically added to its image and heading components. More about the query logic and adding new options in a block will be covered in a future post."]}),"\n",(0,t.jsxs)(n.p,{children:["You may be wondering, can you have a block that allows you to use all options of the ",(0,t.jsx)(n.code,{children:"card-simple"})," component? Of course! You can create a block that allows you to set all available options in the editor and manually add content to the image and heading. There are also block variations, which allow you to set up predefined attributes for a block. More about setting up block variations may be covered in one of the future posts."]}),"\n",(0,t.jsx)(n.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,t.jsx)(n.p,{children:"Hopefully, these examples helped you get a better understanding of the difference between components and blocks. It may take a bit more time or practical use to understand the difference and reasoning behind it. Our next post will walk you through downloading one of our components and blocks with WP CLI and modifying it."})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},68057:(e,n,o)=>{o.d(n,{A:()=>t});const t=o.p+"assets/images/components-257a09f77e42c302781faf91fc8de6a6.webp"},28453:(e,n,o)=>{o.d(n,{R:()=>a,x:()=>l});var t=o(96540);const i={},s=t.createContext(i);function a(e){const n=t.useContext(s);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:a(e.components),t.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/96795ae1.5a4e8f70.js b/assets/js/96795ae1.5a4e8f70.js new file mode 100644 index 000000000..6568b7da9 --- /dev/null +++ b/assets/js/96795ae1.5a4e8f70.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[54286],{45804:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>s,metadata:()=>l,toc:()=>r});var t=o(74848),i=o(28453);const s={title:"Components and blocks",description:"Explanation of the difference between components and blocks on a practical example",slug:"components-and-blocks",authors:"obradovic",tags:["eightshift","boilerplate","components","blocks"],hide_table_of_contents:!1},a=void 0,l={permalink:"/blog/components-and-blocks",source:"@site/blog/2022-01-21-components-and-blocks.md",title:"Components and blocks",description:"Explanation of the difference between components and blocks on a practical example",date:"2022-01-21T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"components",permalink:"/blog/tags/components"},{label:"blocks",permalink:"/blog/tags/blocks"}],readingTime:3.75,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Components and blocks",description:"Explanation of the difference between components and blocks on a practical example",slug:"components-and-blocks",authors:"obradovic",tags:["eightshift","boilerplate","components","blocks"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Adding components and blocks with WP-CLI",permalink:"/blog/adding-blocks-wpcli"},nextItem:{title:"Initial setup and first steps",permalink:"/blog/initial-setup"}},c={authorsImageUrls:[void 0]},r=[{value:"Component",id:"component",level:2},{value:"Block",id:"block",level:2},{value:"Conclusion",id:"conclusion",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.p,{children:["In this blog post, we'll give you a practical explanation about the difference between components and blocks. For a truly in-depth explanation about components and blocks, you can refer to ",(0,t.jsx)(n.a,{href:"/docs/basics/blocks",children:"our documentation"}),". A more specific explanation about using components in a block can be found in the ",(0,t.jsx)(n.a,{href:"/docs/basics/blocks-component-in-block/",children:"Component in a Block"})," section."]}),"\n",(0,t.jsx)(n.p,{children:"One of the things that is really confusing to newcomers is the difference between components and blocks. Let's break it all down."}),"\n",(0,t.jsx)(n.h2,{id:"component",children:"Component"}),"\n",(0,t.jsx)(n.admonition,{title:":es-hide-title:",type:"note",children:(0,t.jsx)(n.p,{children:"A component is like a blank slate, a template without context."})}),"\n",(0,t.jsx)(n.p,{children:"It doesn't know or even care for what it will be used. Can you combine multiple simple components into one complex component? Absolutely! That's exactly what we'll do in the following example."}),"\n",(0,t.jsx)(n.p,{children:"Let's say we have a component that consists of an image and a heading. Image and heading are two simple components that come with the theme out-of-the-box."}),"\n",(0,t.jsx)(n.p,{children:"Here are a few examples of how this new component can be used:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"displaying a post"}),"\n",(0,t.jsx)(n.li,{children:"displaying a user or an author"}),"\n",(0,t.jsx)(n.li,{children:"displaying a photo with the photographer's name"}),"\n",(0,t.jsx)(n.li,{children:"and many more..."}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["As you can already see, there are many ways you can use this component. What helps expand the usability of this component even more are ",(0,t.jsx)(n.code,{children:"attributes"}),". Let's say we have the following attributes:"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"imagePosition"})," - left, right, top, bottom"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"imageShape"})," - rectangular, circular"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"imageWidth"})," - 25%, 50%, 75%"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"headingColor"})," - black, blue, red"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"headingSize"})," - small, medium, large"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"These attributes give you the option to modify the look of the component, so this specific component can be used for the following:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"related posts"})," - rectangular image on the left side, 25% image width, heading takes up the remaining 75%, medium heading colored in blue"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"user avatar"})," - circular image on the left side, 25% image width, small heading colored in black"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"photo of the day"})," - rectangular image on the right side which takes 75% width and photographer's name is written in medium blue text"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"featured posts"})," - rectangular image on top, large heading in red color"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{alt:"Component with different attributes",src:o(68057).A+"",width:"1086",height:"813"})}),"\n",(0,t.jsxs)(n.p,{children:["You can even add conditional logic to your options, e.g. to have the option for ",(0,t.jsx)(n.code,{children:"imageWidth"})," visible only when ",(0,t.jsx)(n.code,{children:"imagePosition"})," is set to left or right. And when ",(0,t.jsx)(n.code,{children:"imagePosition"})," is set to top or bottom, it defaults to 100% width."]}),"\n",(0,t.jsx)(n.h2,{id:"block",children:"Block"}),"\n",(0,t.jsx)(n.p,{children:"So, what about blocks? Blocks can consist of one or more components and, most importantly, allow you to use them in the editor. Technically, blocks can consist of zero components, but we encourage you to build blocks from components because that increases the reusability."}),"\n",(0,t.jsx)(n.admonition,{title:":es-hide-title:",type:"note",children:(0,t.jsx)(n.p,{children:"Blocks give context to the components."})}),"\n",(0,t.jsxs)(n.p,{children:["Now that we have our component - let's call it ",(0,t.jsx)(n.code,{children:"card-simple"})," - we can use it in a ",(0,t.jsx)(n.code,{children:"Featured Posts"})," block. In ",(0,t.jsx)(n.strong,{children:"component's"})," ",(0,t.jsx)(n.code,{children:"manifest.json"}),", we've already defined how we want it to look by setting some defaults. When using this component in our block, we can override some attributes in ",(0,t.jsx)(n.strong,{children:"block's"})," ",(0,t.jsx)(n.code,{children:"manifest.json"}),". Since it will be used for displaying featured posts, we can define that ",(0,t.jsx)(n.code,{children:"imagePosition"})," should be set to ",(0,t.jsx)(n.strong,{children:"top"}),"."]}),"\n",(0,t.jsx)(n.p,{children:"After defining how we want our component to look while displaying featured posts, we need another attribute which will allow us to choose which posts to display in our block."}),"\n",(0,t.jsxs)(n.p,{children:["To do that, we'll add a new attribute called ",(0,t.jsx)(n.code,{children:"featuredPosts"})," which will define which posts will be displayed in our block. For each selected post, another ",(0,t.jsx)(n.code,{children:"card-simple"})," component is added, and featured image and post title are dynamically added to its image and heading components. More about the query logic and adding new options in a block will be covered in a future post."]}),"\n",(0,t.jsxs)(n.p,{children:["You may be wondering, can you have a block that allows you to use all options of the ",(0,t.jsx)(n.code,{children:"card-simple"})," component? Of course! You can create a block that allows you to set all available options in the editor and manually add content to the image and heading. There are also block variations, which allow you to set up predefined attributes for a block. More about setting up block variations may be covered in one of the future posts."]}),"\n",(0,t.jsx)(n.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,t.jsx)(n.p,{children:"Hopefully, these examples helped you get a better understanding of the difference between components and blocks. It may take a bit more time or practical use to understand the difference and reasoning behind it. Our next post will walk you through downloading one of our components and blocks with WP CLI and modifying it."})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},68057:(e,n,o)=>{o.d(n,{A:()=>t});const t=o.p+"assets/images/components-257a09f77e42c302781faf91fc8de6a6.webp"},28453:(e,n,o)=>{o.d(n,{R:()=>a,x:()=>l});var t=o(96540);const i={},s=t.createContext(i);function a(e){const n=t.useContext(s);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:a(e.components),t.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/96c3e083.06a7549e.js b/assets/js/96c3e083.06a7549e.js deleted file mode 100644 index 07021d84b..000000000 --- a/assets/js/96c3e083.06a7549e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[2384],{67752:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/variations","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/9962ee1e.41c956e0.js b/assets/js/9962ee1e.41c956e0.js deleted file mode 100644 index fe98c9344..000000000 --- a/assets/js/9962ee1e.41c956e0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[46353],{28076:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/icons","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/9a2d1e33.039c0ca3.js b/assets/js/9a2d1e33.039c0ca3.js new file mode 100644 index 000000000..bdc5070cb --- /dev/null +++ b/assets/js/9a2d1e33.039c0ca3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[51127],{62800:t=>{t.exports=JSON.parse('{"tag":{"label":"i18n","permalink":"/blog/tags/i-18-n","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/i-18-n","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/9a46388f.4450420d.js b/assets/js/9a46388f.4450420d.js deleted file mode 100644 index bd8391172..000000000 --- a/assets/js/9a46388f.4450420d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[36164],{9014:e=>{e.exports=JSON.parse('{"label":"boilerplate","permalink":"/blog/tags/boilerplate","allTagsPath":"/blog/tags","count":17,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/9ca2f55b.4a755c8a.js b/assets/js/9ca2f55b.4a755c8a.js deleted file mode 100644 index 7a450579f..000000000 --- a/assets/js/9ca2f55b.4a755c8a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[20592],{45937:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>l,contentTitle:()=>r,default:()=>g,frontMatter:()=>s,metadata:()=>a,toc:()=>d});var n=o(74848),i=o(28453);const s={title:"Adding fonts",description:"An intro to adding fonts to your project.",slug:"adding-fonts",authors:"obradovic",date:new Date("2022-04-12T00:00:00.000Z"),tags:["eightshift","boilerplate","fonts"],hide_table_of_contents:!1},r=void 0,a={permalink:"/blog/adding-fonts",source:"@site/blog/2022-04-08-adding-fonts.md",title:"Adding fonts",description:"An intro to adding fonts to your project.",date:"2022-04-12T00:00:00.000Z",formattedDate:"April 12, 2022",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"fonts",permalink:"/blog/tags/fonts"}],readingTime:6.005,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Adding fonts",description:"An intro to adding fonts to your project.",slug:"adding-fonts",authors:"obradovic",date:"2022-04-12T00:00:00.000Z",tags:["eightshift","boilerplate","fonts"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Using assets in a project",permalink:"/blog/using-assets"},nextItem:{title:"Modifying blocks - Color Theme",permalink:"/blog/modifying-blocks-color-theme"}},l={authorsImageUrls:[void 0]},d=[];function c(t){const e={p:"p",...(0,i.R)(),...t.components};return(0,n.jsx)(e.p,{children:"Every project is unique. Logo, colors, fonts, etc. are what define the visual identity of your website. In this post, we'll cover adding fonts to a project."})}function g(t={}){const{wrapper:e}={...(0,i.R)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(c,{...t})}):c(t)}},28453:(t,e,o)=>{o.d(e,{R:()=>r,x:()=>a});var n=o(96540);const i={},s=n.createContext(i);function r(t){const e=n.useContext(s);return n.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function a(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:r(t.components),n.createElement(s.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/9ca2f55b.67b8b2fc.js b/assets/js/9ca2f55b.67b8b2fc.js new file mode 100644 index 000000000..06a107dbb --- /dev/null +++ b/assets/js/9ca2f55b.67b8b2fc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[20592],{45937:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>l,contentTitle:()=>r,default:()=>g,frontMatter:()=>s,metadata:()=>a,toc:()=>d});var n=o(74848),i=o(28453);const s={title:"Adding fonts",description:"An intro to adding fonts to your project.",slug:"adding-fonts",authors:"obradovic",date:new Date("2022-04-12T00:00:00.000Z"),tags:["eightshift","boilerplate","fonts"],hide_table_of_contents:!1},r=void 0,a={permalink:"/blog/adding-fonts",source:"@site/blog/2022-04-08-adding-fonts.md",title:"Adding fonts",description:"An intro to adding fonts to your project.",date:"2022-04-12T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"fonts",permalink:"/blog/tags/fonts"}],readingTime:6.005,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Adding fonts",description:"An intro to adding fonts to your project.",slug:"adding-fonts",authors:"obradovic",date:"2022-04-12T00:00:00.000Z",tags:["eightshift","boilerplate","fonts"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Using assets in a project",permalink:"/blog/using-assets"},nextItem:{title:"Modifying blocks - Color Theme",permalink:"/blog/modifying-blocks-color-theme"}},l={authorsImageUrls:[void 0]},d=[];function c(t){const e={p:"p",...(0,i.R)(),...t.components};return(0,n.jsx)(e.p,{children:"Every project is unique. Logo, colors, fonts, etc. are what define the visual identity of your website. In this post, we'll cover adding fonts to a project."})}function g(t={}){const{wrapper:e}={...(0,i.R)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(c,{...t})}):c(t)}},28453:(t,e,o)=>{o.d(e,{R:()=>r,x:()=>a});var n=o(96540);const i={},s=n.createContext(i);function r(t){const e=n.useContext(s);return n.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function a(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:r(t.components),n.createElement(s.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/9dd0e933.b849b733.js b/assets/js/9dd0e933.b849b733.js new file mode 100644 index 000000000..09ec12168 --- /dev/null +++ b/assets/js/9dd0e933.b849b733.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[53844],{44542:t=>{t.exports=JSON.parse('{"tag":{"label":"theme options","permalink":"/blog/tags/theme-options","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/theme-options","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/9e004082.caf98d00.js b/assets/js/9e004082.caf98d00.js new file mode 100644 index 000000000..87f5c5238 --- /dev/null +++ b/assets/js/9e004082.caf98d00.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[83127],{94616:t=>{t.exports=JSON.parse('{"tag":{"label":"custom post type","permalink":"/blog/tags/custom-post-type","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/custom-post-type","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/9e4087bc.50f79813.js b/assets/js/9e4087bc.50f79813.js deleted file mode 100644 index 38c5022c4..000000000 --- a/assets/js/9e4087bc.50f79813.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[52711],{89331:(e,s,t)=>{t.r(s),t.d(s,{default:()=>o});t(96540);var r=t(28774),a=t(21312),i=t(69024),c=t(49641),n=t(51107),l=t(74848);function h(e){let{year:s,posts:t}=e;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(n.A,{as:"h3",id:s,children:s}),(0,l.jsx)("ul",{children:t.map((e=>(0,l.jsx)("li",{children:(0,l.jsxs)(r.A,{to:e.metadata.permalink,children:[e.metadata.formattedDate," - ",e.metadata.title]})},e.metadata.date)))})]})}function d(e){let{years:s}=e;return(0,l.jsx)("section",{className:"margin-vert--lg",children:(0,l.jsx)("div",{className:"container",children:(0,l.jsx)("div",{className:"row",children:s.map(((e,s)=>(0,l.jsx)("div",{className:"col col--4 margin-vert--lg",children:(0,l.jsx)(h,{...e})},s)))})})})}function o(e){let{archive:s}=e;const t=(0,a.T)({id:"theme.blog.archive.title",message:"Archive",description:"The page & hero title of the blog archive page"}),r=(0,a.T)({id:"theme.blog.archive.description",message:"Archive",description:"The page & hero description of the blog archive page"}),h=function(e){const s=e.reduce(((e,s)=>{const t=s.metadata.date.split("-")[0],r=e.get(t)??[];return e.set(t,[s,...r])}),new Map);return Array.from(s,(e=>{let[s,t]=e;return{year:s,posts:t}}))}(s.blogPosts);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(i.be,{title:t,description:r}),(0,l.jsxs)(c.A,{children:[(0,l.jsx)("header",{className:"hero hero--primary",children:(0,l.jsxs)("div",{className:"container",children:[(0,l.jsx)(n.A,{as:"h1",className:"hero__title",children:t}),(0,l.jsx)("p",{className:"hero__subtitle",children:r})]})}),(0,l.jsx)("main",{children:h.length>0&&(0,l.jsx)(d,{years:h})})]})]})}}}]); \ No newline at end of file diff --git a/assets/js/9e4087bc.daf8b6ed.js b/assets/js/9e4087bc.daf8b6ed.js new file mode 100644 index 000000000..94e502fbb --- /dev/null +++ b/assets/js/9e4087bc.daf8b6ed.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[52711],{89331:(e,t,r)=>{r.r(t),r.d(t,{default:()=>m});r(96540);var a=r(28774),s=r(21312),n=r(45500),i=r(36266),c=r(49641),l=r(51107),o=r(74848);function d(e){let{year:t,posts:r}=e;const s=(0,i.i)({day:"numeric",month:"long",timeZone:"UTC"});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(l.A,{as:"h3",id:t,children:t}),(0,o.jsx)("ul",{children:r.map((e=>{return(0,o.jsx)("li",{children:(0,o.jsxs)(a.A,{to:e.metadata.permalink,children:[(t=e.metadata.date,s.format(new Date(t)))," - ",e.metadata.title]})},e.metadata.date);var t}))})]})}function h(e){let{years:t}=e;return(0,o.jsx)("section",{className:"margin-vert--lg",children:(0,o.jsx)("div",{className:"container",children:(0,o.jsx)("div",{className:"row",children:t.map(((e,t)=>(0,o.jsx)("div",{className:"col col--4 margin-vert--lg",children:(0,o.jsx)(d,{...e})},t)))})})})}function m(e){let{archive:t}=e;const r=(0,s.T)({id:"theme.blog.archive.title",message:"Archive",description:"The page & hero title of the blog archive page"}),a=(0,s.T)({id:"theme.blog.archive.description",message:"Archive",description:"The page & hero description of the blog archive page"}),i=function(e){const t=e.reduce(((e,t)=>{const r=t.metadata.date.split("-")[0],a=e.get(r)??[];return e.set(r,[t,...a])}),new Map);return Array.from(t,(e=>{let[t,r]=e;return{year:t,posts:r}}))}(t.blogPosts);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.be,{title:r,description:a}),(0,o.jsxs)(c.A,{children:[(0,o.jsx)("header",{className:"hero hero--primary",children:(0,o.jsxs)("div",{className:"container",children:[(0,o.jsx)(l.A,{as:"h1",className:"hero__title",children:r}),(0,o.jsx)("p",{className:"hero__subtitle",children:a})]})}),(0,o.jsx)("main",{children:i.length>0&&(0,o.jsx)(h,{years:i})})]})]})}},36266:(e,t,r)=>{r.d(t,{i:()=>s});var a=r(44586);function s(e){void 0===e&&(e={});const{i18n:{currentLocale:t}}=(0,a.A)(),r=function(){const{i18n:{currentLocale:e,localeConfigs:t}}=(0,a.A)();return t[e].calendar}();return new Intl.DateTimeFormat(t,{calendar:r,...e})}}}]); \ No newline at end of file diff --git a/assets/js/a372a63b.dd02277a.js b/assets/js/a372a63b.dd02277a.js deleted file mode 100644 index fb65ba9eb..000000000 --- a/assets/js/a372a63b.dd02277a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[4122],{22855:s=>{s.exports=JSON.parse('{"label":"query","permalink":"/blog/tags/query","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/a43c0a1c.07df539f.js b/assets/js/a43c0a1c.07df539f.js deleted file mode 100644 index 276c7d055..000000000 --- a/assets/js/a43c0a1c.07df539f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[58371],{866:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/class","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/a5081791.6f32536a.js b/assets/js/a5081791.6f32536a.js new file mode 100644 index 000000000..bf631d46d --- /dev/null +++ b/assets/js/a5081791.6f32536a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[67199],{14272:t=>{t.exports=JSON.parse('{"tag":{"label":"fonts","permalink":"/blog/tags/fonts","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/fonts","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/a5dd7d10.dde18711.js b/assets/js/a5dd7d10.dde18711.js deleted file mode 100644 index ec6cb30ca..000000000 --- a/assets/js/a5dd7d10.dde18711.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[97515],{5581:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/patterns","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/a6aa9e1f.93b71935.js b/assets/js/a6aa9e1f.6862bc3a.js similarity index 96% rename from assets/js/a6aa9e1f.93b71935.js rename to assets/js/a6aa9e1f.6862bc3a.js index 50b9896ea..373a39cc1 100644 --- a/assets/js/a6aa9e1f.93b71935.js +++ b/assets/js/a6aa9e1f.6862bc3a.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[37643,18401],{47713:(t,e,i)=>{i.d(e,{A:()=>r});i(96540);var s=i(21312),n=i(39022),o=i(74848);function r(t){const{metadata:e}=t,{previousPage:i,nextPage:r}=e;return(0,o.jsxs)("nav",{className:"pagination-nav","aria-label":(0,s.T)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[i&&(0,o.jsx)(n.A,{permalink:i,title:(0,o.jsx)(s.A,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)",children:"Newer Entries"})}),r&&(0,o.jsx)(n.A,{permalink:r,title:(0,o.jsx)(s.A,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older Entries"}),isNext:!0})]})}},33892:(t,e,i)=>{i.d(e,{A:()=>r});i(96540);var s=i(7131),n=i(48258),o=i(74848);function r(t){let{items:e,component:i=n.A}=t;return(0,o.jsx)(o.Fragment,{children:e.map((t=>{let{content:e}=t;return(0,o.jsx)(s.i,{content:e,children:(0,o.jsx)(i,{children:(0,o.jsx)(e,{})})},e.metadata.permalink)}))})}},71608:(t,e,i)=>{i.d(e,{A:()=>o});i(96540);var s=i(25552),n=i(74848);function o(t){return(0,n.jsx)(s.V,{...t})}},48809:(t,e,i)=>{i.r(e),i.d(e,{default:()=>m});i(96540);var s=i(34164),n=i(44586),o=i(69024),r=i(17559),a=i(26535),l=i(47713),h=i(41463),g=i(33892),c=i(57607),u=i(70340),d=i(74848);function p(t){const{metadata:e}=t,{siteConfig:{title:i}}=(0,n.A)(),{blogDescription:s,blogTitle:r,permalink:a}=e,l="/"===a?i:r;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(o.be,{title:l,description:s}),(0,d.jsx)(h.A,{tag:"blog_posts_list"})]})}function f(t){const{metadata:e,items:i}=t;return(0,d.jsxs)(a.A,{children:[(0,d.jsxs)("h1",{className:"es-big-title",children:["Typing as ",(0,d.jsx)("wbr",{})," we code"]}),(0,d.jsx)("div",{className:"es-blog-grid",children:(0,d.jsx)(g.A,{items:i})}),(0,d.jsx)(l.A,{metadata:e}),(0,d.jsx)(c.Y,{gray:!0}),(0,d.jsx)(u.K,{gray:!0})]})}function m(t){return(0,d.jsxs)(o.e3,{className:(0,s.A)(r.G.wrapper.blogPages,r.G.page.blogListPage),children:[(0,d.jsx)(p,{...t}),(0,d.jsx)(f,{...t})]})}},70340:(t,e,i)=>{i.d(e,{K:()=>o});i(96540);var s=i(25552),n=i(74848);const o=t=>(0,n.jsx)(s.u5,{...t,title:"Find more libraries, tools, and design assets free for everyone to use.",buttonLabel:"Open-source freebies",buttonUrl:"https://infinum.com/open-source",imageUrl:"/img/homepage/infinum-open-source.svg"})},57607:(t,e,i)=>{i.d(e,{Y:()=>o});i(96540);var s=i(25552),n=i(74848);const o=t=>(0,n.jsx)(s.VX,{...t,title:"Start exploring",osProjectIcons:!0,cards:[{icon:s.uJ.boilerplate,text:"Eightshift Boilerplate",url:"https://github.com/infinum/eightshift-boilerplate"},{icon:s.uJ.boilerplate,text:"Eightshift Boilerplate Plugin",url:"https://github.com/infinum/eightshift-boilerplate-plugin"},{icon:s.uJ.eightshiftLibs1,text:"Eightshift Libs",url:"https://github.com/infinum/eightshift-libs"},{icon:s.uJ.eightshiftFrontendLibs,text:"Eightshift Frontend Libs",url:"https://github.com/infinum/eightshift-frontend-libs"},{icon:s.uJ.eightshiftForms,text:"Eightshift Forms",url:"https://github.com/infinum/eightshift-forms"},{icon:s.uJ.eightshiftDocs,text:"Eightshift Docs",url:"https://github.com/infinum/eightshift-docs"},{icon:s.uJ.storybook,text:"Eightshift Storybook (legacy)",url:"https://github.com/infinum/eightshift-storybook"},{icon:s.uJ.eightshiftCodingStandard,text:"Eightshift Coding Standards for WordPress",url:"https://github.com/infinum/eightshift-coding-standards"}]})}}]); \ No newline at end of file +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[37643,18401],{47713:(t,e,i)=>{i.d(e,{A:()=>r});i(96540);var s=i(21312),n=i(39022),o=i(74848);function r(t){const{metadata:e}=t,{previousPage:i,nextPage:r}=e;return(0,o.jsxs)("nav",{className:"pagination-nav","aria-label":(0,s.T)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[i&&(0,o.jsx)(n.A,{permalink:i,title:(0,o.jsx)(s.A,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)",children:"Newer Entries"})}),r&&(0,o.jsx)(n.A,{permalink:r,title:(0,o.jsx)(s.A,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older Entries"}),isNext:!0})]})}},33892:(t,e,i)=>{i.d(e,{A:()=>r});i(96540);var s=i(7131),n=i(24651),o=i(74848);function r(t){let{items:e,component:i=n.A}=t;return(0,o.jsx)(o.Fragment,{children:e.map((t=>{let{content:e}=t;return(0,o.jsx)(s.i,{content:e,children:(0,o.jsx)(i,{children:(0,o.jsx)(e,{})})},e.metadata.permalink)}))})}},71608:(t,e,i)=>{i.d(e,{A:()=>o});i(96540);var s=i(25552),n=i(74848);function o(t){return(0,n.jsx)(s.V,{...t})}},48809:(t,e,i)=>{i.r(e),i.d(e,{default:()=>m});i(96540);var s=i(34164),n=i(44586),o=i(45500),r=i(17559),a=i(26535),l=i(47713),h=i(41463),g=i(33892),c=i(57607),u=i(70340),d=i(74848);function p(t){const{metadata:e}=t,{siteConfig:{title:i}}=(0,n.A)(),{blogDescription:s,blogTitle:r,permalink:a}=e,l="/"===a?i:r;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(o.be,{title:l,description:s}),(0,d.jsx)(h.A,{tag:"blog_posts_list"})]})}function f(t){const{metadata:e,items:i}=t;return(0,d.jsxs)(a.A,{children:[(0,d.jsxs)("h1",{className:"es-big-title",children:["Typing as ",(0,d.jsx)("wbr",{})," we code"]}),(0,d.jsx)("div",{className:"es-blog-grid",children:(0,d.jsx)(g.A,{items:i})}),(0,d.jsx)(l.A,{metadata:e}),(0,d.jsx)(c.Y,{gray:!0}),(0,d.jsx)(u.K,{gray:!0})]})}function m(t){return(0,d.jsxs)(o.e3,{className:(0,s.A)(r.G.wrapper.blogPages,r.G.page.blogListPage),children:[(0,d.jsx)(p,{...t}),(0,d.jsx)(f,{...t})]})}},70340:(t,e,i)=>{i.d(e,{K:()=>o});i(96540);var s=i(25552),n=i(74848);const o=t=>(0,n.jsx)(s.u5,{...t,title:"Find more libraries, tools, and design assets free for everyone to use.",buttonLabel:"Open-source freebies",buttonUrl:"https://infinum.com/open-source",imageUrl:"/img/homepage/infinum-open-source.svg"})},57607:(t,e,i)=>{i.d(e,{Y:()=>o});i(96540);var s=i(25552),n=i(74848);const o=t=>(0,n.jsx)(s.VX,{...t,title:"Start exploring",osProjectIcons:!0,cards:[{icon:s.uJ.boilerplate,text:"Eightshift Boilerplate",url:"https://github.com/infinum/eightshift-boilerplate"},{icon:s.uJ.boilerplate,text:"Eightshift Boilerplate Plugin",url:"https://github.com/infinum/eightshift-boilerplate-plugin"},{icon:s.uJ.eightshiftLibs1,text:"Eightshift Libs",url:"https://github.com/infinum/eightshift-libs"},{icon:s.uJ.eightshiftFrontendLibs,text:"Eightshift Frontend Libs",url:"https://github.com/infinum/eightshift-frontend-libs"},{icon:s.uJ.eightshiftForms,text:"Eightshift Forms",url:"https://github.com/infinum/eightshift-forms"},{icon:s.uJ.eightshiftDocs,text:"Eightshift Docs",url:"https://github.com/infinum/eightshift-docs"},{icon:s.uJ.storybook,text:"Eightshift Storybook (legacy)",url:"https://github.com/infinum/eightshift-storybook"},{icon:s.uJ.eightshiftCodingStandard,text:"Eightshift Coding Standards for WordPress",url:"https://github.com/infinum/eightshift-coding-standards"}]})}}]); \ No newline at end of file diff --git a/assets/js/a6d8baa7.a10f8971.js b/assets/js/a6d8baa7.a10f8971.js new file mode 100644 index 000000000..caf608d1f --- /dev/null +++ b/assets/js/a6d8baa7.a10f8971.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[17129],{95210:t=>{t.exports=JSON.parse('{"tag":{"label":"terms","permalink":"/blog/tags/terms","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/terms","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/a6e1df93.b31bc595.js b/assets/js/a6e1df93.b31bc595.js deleted file mode 100644 index 996a4bb58..000000000 --- a/assets/js/a6e1df93.b31bc595.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[89302],{38533:s=>{s.exports=JSON.parse('{"label":"i18n","permalink":"/blog/tags/i-18-n","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/a7023ddc.b9081ede.js b/assets/js/a7023ddc.b9081ede.js deleted file mode 100644 index 58e5b1ac9..000000000 --- a/assets/js/a7023ddc.b9081ede.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[89267],{28289:l=>{l.exports=JSON.parse('[{"label":"eightshift","permalink":"/blog/tags/eightshift","count":17},{"label":"boilerplate","permalink":"/blog/tags/boilerplate","count":17},{"label":"templates","permalink":"/blog/tags/templates","count":1},{"label":"inner blocks","permalink":"/blog/tags/inner-blocks","count":1},{"label":"blocks","permalink":"/blog/tags/blocks","count":5},{"label":"plugins","permalink":"/blog/tags/plugins","count":1},{"label":"colors","permalink":"/blog/tags/colors","count":1},{"label":"images","permalink":"/blog/tags/images","count":2},{"label":"classes","permalink":"/blog/tags/classes","count":1},{"label":"i18n","permalink":"/blog/tags/i-18-n","count":1},{"label":"multilingual","permalink":"/blog/tags/multilingual","count":1},{"label":"wrapper","permalink":"/blog/tags/wrapper","count":1},{"label":"components","permalink":"/blog/tags/components","count":5},{"label":"service","permalink":"/blog/tags/service","count":1},{"label":"class","permalink":"/blog/tags/class","count":1},{"label":"query","permalink":"/blog/tags/query","count":1},{"label":"block","permalink":"/blog/tags/block","count":2},{"label":"patterns","permalink":"/blog/tags/patterns","count":1},{"label":"cpt","permalink":"/blog/tags/cpt","count":1},{"label":"custom post type","permalink":"/blog/tags/custom-post-type","count":1},{"label":"taxonomy","permalink":"/blog/tags/taxonomy","count":1},{"label":"taxonomies","permalink":"/blog/tags/taxonomies","count":1},{"label":"terms","permalink":"/blog/tags/terms","count":1},{"label":"variations","permalink":"/blog/tags/variations","count":1},{"label":"acf","permalink":"/blog/tags/acf","count":1},{"label":"advanced custom fields","permalink":"/blog/tags/advanced-custom-fields","count":1},{"label":"theme options","permalink":"/blog/tags/theme-options","count":1},{"label":"assets","permalink":"/blog/tags/assets","count":1},{"label":"icons","permalink":"/blog/tags/icons","count":1},{"label":"fonts","permalink":"/blog/tags/fonts","count":1},{"label":"wpcli","permalink":"/blog/tags/wpcli","count":1},{"label":"setup","permalink":"/blog/tags/setup","count":1}]')}}]); \ No newline at end of file diff --git a/assets/js/a7456010.179440eb.js b/assets/js/a7456010.179440eb.js new file mode 100644 index 000000000..af189d547 --- /dev/null +++ b/assets/js/a7456010.179440eb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[61235],{88552:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/a7bd4aaa.023549c1.js b/assets/js/a7bd4aaa.789479e6.js similarity index 91% rename from assets/js/a7bd4aaa.023549c1.js rename to assets/js/a7bd4aaa.789479e6.js index e4f2805da..20b8e5fd0 100644 --- a/assets/js/a7bd4aaa.023549c1.js +++ b/assets/js/a7bd4aaa.789479e6.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[67098],{74532:(n,e,s)=>{s.r(e),s.d(e,{default:()=>d});s(96540);var r=s(69024),t=s(2967),o=s(32252),i=s(22831),c=s(41463),u=s(74848);function a(n){const{version:e}=n;return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(c.A,{version:e.version,tag:(0,t.tU)(e.pluginId,e.version)}),(0,u.jsx)(r.be,{children:e.noIndex&&(0,u.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})]})}function l(n){const{version:e,route:s}=n;return(0,u.jsx)(r.e3,{className:e.className,children:(0,u.jsx)(o.n,{version:e,children:(0,i.v)(s.routes)})})}function d(n){return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(a,{...n}),(0,u.jsx)(l,{...n})]})}}}]); \ No newline at end of file +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[67098],{74532:(n,e,s)=>{s.r(e),s.d(e,{default:()=>d});s(96540);var r=s(45500),t=s(2967),o=s(32252),i=s(22831),c=s(41463),u=s(74848);function a(n){const{version:e}=n;return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(c.A,{version:e.version,tag:(0,t.tU)(e.pluginId,e.version)}),(0,u.jsx)(r.be,{children:e.noIndex&&(0,u.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})]})}function l(n){const{version:e,route:s}=n;return(0,u.jsx)(r.e3,{className:e.className,children:(0,u.jsx)(o.n,{version:e,children:(0,i.v)(s.routes)})})}function d(n){return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(a,{...n}),(0,u.jsx)(l,{...n})]})}}}]); \ No newline at end of file diff --git a/assets/js/a94703ab.0de576bc.js b/assets/js/a94703ab.0de576bc.js deleted file mode 100644 index 7114190db..000000000 --- a/assets/js/a94703ab.0de576bc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[79048],{92559:(e,t,n)=>{n.r(t),n.d(t,{default:()=>he});var a=n(96540),o=n(34164),i=n(69024),s=n(17559),l=n(81754),r=n(26588),c=n(21312),d=n(23104),u=n(75062);const m={backToTopButton:"backToTopButton_sjWU",backToTopButtonShow:"backToTopButtonShow_xfvO"};var h=n(74848);function b(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[n,o]=(0,a.useState)(!1),i=(0,a.useRef)(!1),{startScroll:s,cancelScroll:l}=(0,d.gk)();return(0,d.Mq)(((e,n)=>{let{scrollY:a}=e;const s=n?.scrollY;s&&(i.current?i.current=!1:a>=s?(l(),o(!1)):a<t?o(!1):a+window.innerHeight<document.documentElement.scrollHeight&&o(!0))})),(0,u.$)((e=>{e.location.hash&&(i.current=!0,o(!1))})),{shown:n,scrollToTop:()=>s(0)}}({threshold:300});return(0,h.jsx)("button",{"aria-label":(0,c.T)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,o.A)("clean-btn",s.G.common.backToTopButton,m.backToTopButton,e&&m.backToTopButtonShow),type:"button",onClick:t})}var p=n(53109),x=n(56347),f=n(24581),j=n(6342),_=n(39529);function v(e){return(0,h.jsx)("svg",{width:"20",height:"20","aria-hidden":"true",...e,children:(0,h.jsxs)("g",{fill:"#7a7a7a",children:[(0,h.jsx)("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),(0,h.jsx)("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})]})})}const g={collapseSidebarButton:"collapseSidebarButton_PEFL",collapseSidebarButtonIcon:"collapseSidebarButtonIcon_kv0_"};function A(e){let{onClick:t}=e;return(0,h.jsx)("button",{type:"button",title:(0,c.T)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,c.T)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,o.A)("button button--secondary button--outline",g.collapseSidebarButton),onClick:t,children:(0,h.jsx)(v,{className:g.collapseSidebarButtonIcon})})}var k=n(65041),C=n(89532);const S=Symbol("EmptyContext"),T=a.createContext(S);function N(e){let{children:t}=e;const[n,o]=(0,a.useState)(null),i=(0,a.useMemo)((()=>({expandedItem:n,setExpandedItem:o})),[n]);return(0,h.jsx)(T.Provider,{value:i,children:t})}var I=n(41422),B=n(99169),y=n(28774),w=n(92303);function L(e){let{collapsed:t,categoryLabel:n,onClick:a}=e;return(0,h.jsx)("button",{"aria-label":t?(0,c.T)({id:"theme.DocSidebarItem.expandCategoryAriaLabel",message:"Expand sidebar category '{label}'",description:"The ARIA label to expand the sidebar category"},{label:n}):(0,c.T)({id:"theme.DocSidebarItem.collapseCategoryAriaLabel",message:"Collapse sidebar category '{label}'",description:"The ARIA label to collapse the sidebar category"},{label:n}),type:"button",className:"clean-btn menu__caret",onClick:a})}function E(e){let{item:t,onItemClick:n,activePath:i,level:r,index:c,...d}=e;const{items:u,label:m,collapsible:b,className:p,href:x}=t,{docs:{sidebar:{autoCollapseCategories:f}}}=(0,j.p)(),_=function(e){const t=(0,w.A)();return(0,a.useMemo)((()=>e.href&&!e.linkUnlisted?e.href:!t&&e.collapsible?(0,l.Nr)(e):void 0),[e,t])}(t),v=(0,l.w8)(t,i),g=(0,B.ys)(x,i),{collapsed:A,setCollapsed:k}=(0,I.u)({initialState:()=>!!b&&(!v&&t.collapsed)}),{expandedItem:N,setExpandedItem:E}=function(){const e=(0,a.useContext)(T);if(e===S)throw new C.dV("DocSidebarItemsExpandedStateProvider");return e}(),M=function(e){void 0===e&&(e=!A),E(e?null:c),k(e)};return function(e){let{isActive:t,collapsed:n,updateCollapsed:o}=e;const i=(0,C.ZC)(t);(0,a.useEffect)((()=>{t&&!i&&n&&o(!1)}),[t,i,n,o])}({isActive:v,collapsed:A,updateCollapsed:M}),(0,a.useEffect)((()=>{b&&null!=N&&N!==c&&f&&k(!0)}),[b,N,c,k,f]),(0,h.jsxs)("li",{className:(0,o.A)(s.G.docs.docSidebarItemCategory,s.G.docs.docSidebarItemCategoryLevel(r),"menu__list-item",{"menu__list-item--collapsed":A},p),children:[(0,h.jsxs)("div",{className:(0,o.A)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":g}),children:[(0,h.jsx)(y.A,{className:(0,o.A)("menu__link",{"menu__link--sublist":b,"menu__link--sublist-caret":!x&&b,"menu__link--active":v}),onClick:b?e=>{n?.(t),x?M(!1):(e.preventDefault(),M())}:()=>{n?.(t)},"aria-current":g?"page":void 0,"aria-expanded":b?!A:void 0,href:b?_??"#":_,...d,children:m}),x&&b&&(0,h.jsx)(L,{collapsed:A,categoryLabel:m,onClick:e=>{e.preventDefault(),M()}})]}),(0,h.jsx)(I.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:A,children:(0,h.jsx)(U,{items:u,tabIndex:A?-1:0,onItemClick:n,activePath:i,level:r+1})})]})}var M=n(16654),H=n(43186);const G={menuExternalLink:"menuExternalLink_NmtK"};function W(e){let{item:t,onItemClick:n,activePath:a,level:i,index:r,...c}=e;const{href:d,label:u,className:m,autoAddBaseUrl:b}=t,p=(0,l.w8)(t,a),x=(0,M.A)(d);return(0,h.jsx)("li",{className:(0,o.A)(s.G.docs.docSidebarItemLink,s.G.docs.docSidebarItemLinkLevel(i),"menu__list-item",m),children:(0,h.jsxs)(y.A,{className:(0,o.A)("menu__link",!x&&G.menuExternalLink,{"menu__link--active":p}),autoAddBaseUrl:b,"aria-current":p?"page":void 0,to:d,...x&&{onClick:n?()=>n(t):void 0},...c,children:[u,!x&&(0,h.jsx)(H.A,{})]})},u)}const P={menuHtmlItem:"menuHtmlItem_M9Kj"};function R(e){let{item:t,level:n,index:a}=e;const{value:i,defaultStyle:l,className:r}=t;return(0,h.jsx)("li",{className:(0,o.A)(s.G.docs.docSidebarItemLink,s.G.docs.docSidebarItemLinkLevel(n),l&&[P.menuHtmlItem,"menu__list-item"],r),dangerouslySetInnerHTML:{__html:i}},a)}function D(e){let{item:t,...n}=e;switch(t.type){case"category":return(0,h.jsx)(E,{item:t,...n});case"html":return(0,h.jsx)(R,{item:t,...n});default:return(0,h.jsx)(W,{item:t,...n})}}function F(e){let{items:t,...n}=e;const a=(0,l.Y)(t,n.activePath);return(0,h.jsx)(N,{children:a.map(((e,t)=>(0,h.jsx)(D,{item:e,index:t,...n},t)))})}const U=(0,a.memo)(F),V={menu:"menu_SIkG",menuWithAnnouncementBar:"menuWithAnnouncementBar_GW3s"};function Y(e){let{path:t,sidebar:n,className:i}=e;const l=function(){const{isActive:e}=(0,k.Mj)(),[t,n]=(0,a.useState)(e);return(0,d.Mq)((t=>{let{scrollY:a}=t;e&&n(0===a)}),[e]),e&&t}();return(0,h.jsx)("nav",{"aria-label":(0,c.T)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,o.A)("menu thin-scrollbar",V.menu,l&&V.menuWithAnnouncementBar,i),children:(0,h.jsx)("ul",{className:(0,o.A)(s.G.docs.docSidebarMenu,"menu__list"),children:(0,h.jsx)(U,{items:n,activePath:t,level:1})})})}const K="sidebar_njMd",z="sidebarWithHideableNavbar_wUlq",q="sidebarHidden_VK0M",O="sidebarLogo_isFc";function J(e){let{path:t,sidebar:n,onCollapse:a,isHidden:i}=e;const{navbar:{hideOnScroll:s},docs:{sidebar:{hideable:l}}}=(0,j.p)();return(0,h.jsxs)("div",{className:(0,o.A)(K,s&&z,i&&q),children:[s&&(0,h.jsx)(_.A,{tabIndex:-1,className:O}),(0,h.jsx)(Y,{path:t,sidebar:n}),l&&(0,h.jsx)(A,{onClick:a})]})}const Q=a.memo(J);var X=n(75600),Z=n(22069);const $=e=>{let{sidebar:t,path:n}=e;const a=(0,Z.M)();return(0,h.jsx)("ul",{className:(0,o.A)(s.G.docs.docSidebarMenu,"menu__list"),children:(0,h.jsx)(U,{items:t,activePath:n,onItemClick:e=>{"category"===e.type&&e.href&&a.toggle(),"link"===e.type&&a.toggle()},level:1})})};function ee(e){return(0,h.jsx)(X.GX,{component:$,props:e})}const te=a.memo(ee);function ne(e){const t=(0,f.l)(),n="desktop"===t||"ssr"===t,a="mobile"===t;return(0,h.jsxs)(h.Fragment,{children:[n&&(0,h.jsx)(Q,{...e}),a&&(0,h.jsx)(te,{...e})]})}const ae={expandButton:"expandButton_TmdG",expandButtonIcon:"expandButtonIcon_i1dp"};function oe(e){let{toggleSidebar:t}=e;return(0,h.jsx)("div",{className:ae.expandButton,title:(0,c.T)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,c.T)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:t,onClick:t,children:(0,h.jsx)(v,{className:ae.expandButtonIcon})})}const ie={docSidebarContainer:"docSidebarContainer_YfHR",docSidebarContainerHidden:"docSidebarContainerHidden_DPk8",sidebarViewport:"sidebarViewport_aRkj"};function se(e){let{children:t}=e;const n=(0,r.t)();return(0,h.jsx)(a.Fragment,{children:t},n?.name??"noSidebar")}function le(e){let{sidebar:t,hiddenSidebarContainer:n,setHiddenSidebarContainer:i}=e;const{pathname:l}=(0,x.zy)(),[r,c]=(0,a.useState)(!1),d=(0,a.useCallback)((()=>{r&&c(!1),!r&&(0,p.O)()&&c(!0),i((e=>!e))}),[i,r]);return(0,h.jsx)("aside",{className:(0,o.A)(s.G.docs.docSidebarContainer,ie.docSidebarContainer,n&&ie.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(ie.docSidebarContainer)&&n&&c(!0)},children:(0,h.jsx)(se,{children:(0,h.jsxs)("div",{className:(0,o.A)(ie.sidebarViewport,r&&ie.sidebarViewportHidden),children:[(0,h.jsx)(ne,{sidebar:t,path:l,onCollapse:d,isHidden:r}),r&&(0,h.jsx)(oe,{toggleSidebar:d})]})})})}const re={docMainContainer:"docMainContainer_TBSr",docMainContainerEnhanced:"docMainContainerEnhanced_lQrH",docItemWrapperEnhanced:"docItemWrapperEnhanced_JWYK"};function ce(e){let{hiddenSidebarContainer:t,children:n}=e;const a=(0,r.t)();return(0,h.jsx)("main",{className:(0,o.A)(re.docMainContainer,(t||!a)&&re.docMainContainerEnhanced),children:(0,h.jsx)("div",{className:(0,o.A)("container padding-top--md padding-bottom--lg",re.docItemWrapper,t&&re.docItemWrapperEnhanced),children:n})})}const de={docRoot:"docRoot_UBD9",docsWrapper:"docsWrapper_hBAB"};function ue(e){let{children:t}=e;const n=(0,r.t)(),[o,i]=(0,a.useState)(!1);return(0,h.jsxs)("div",{className:de.docsWrapper,children:[(0,h.jsx)(b,{}),(0,h.jsxs)("div",{className:de.docRoot,children:[n&&(0,h.jsx)(le,{sidebar:n.items,hiddenSidebarContainer:o,setHiddenSidebarContainer:i}),(0,h.jsx)(ce,{hiddenSidebarContainer:o,children:t})]})]})}var me=n(23363);function he(e){const t=(0,l.B5)(e);if(!t)return(0,h.jsx)(me.A,{});const{docElement:n,sidebarName:a,sidebarItems:c}=t;return(0,h.jsx)(i.e3,{className:(0,o.A)(s.G.page.docsDocPage),children:(0,h.jsx)(r.V,{name:a,items:c,children:(0,h.jsx)(ue,{children:n})})})}},23363:(e,t,n)=>{n.d(t,{A:()=>l});n(96540);var a=n(34164),o=n(21312),i=n(51107),s=n(74848);function l(e){let{className:t}=e;return(0,s.jsx)("main",{className:(0,a.A)("container margin-vert--xl",t),children:(0,s.jsx)("div",{className:"row",children:(0,s.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,s.jsx)(i.A,{as:"h1",className:"hero__title",children:(0,s.jsx)(o.A,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}}}]); \ No newline at end of file diff --git a/assets/js/a94703ab.858efccd.js b/assets/js/a94703ab.858efccd.js new file mode 100644 index 000000000..309cd3b7d --- /dev/null +++ b/assets/js/a94703ab.858efccd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[79048],{92559:(e,t,n)=>{n.r(t),n.d(t,{default:()=>he});var a=n(96540),o=n(34164),i=n(45500),s=n(17559),l=n(81754),r=n(26588),c=n(21312),d=n(23104),u=n(75062);const m={backToTopButton:"backToTopButton_sjWU",backToTopButtonShow:"backToTopButtonShow_xfvO"};var h=n(74848);function b(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[n,o]=(0,a.useState)(!1),i=(0,a.useRef)(!1),{startScroll:s,cancelScroll:l}=(0,d.gk)();return(0,d.Mq)(((e,n)=>{let{scrollY:a}=e;const s=n?.scrollY;s&&(i.current?i.current=!1:a>=s?(l(),o(!1)):a<t?o(!1):a+window.innerHeight<document.documentElement.scrollHeight&&o(!0))})),(0,u.$)((e=>{e.location.hash&&(i.current=!0,o(!1))})),{shown:n,scrollToTop:()=>s(0)}}({threshold:300});return(0,h.jsx)("button",{"aria-label":(0,c.T)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,o.A)("clean-btn",s.G.common.backToTopButton,m.backToTopButton,e&&m.backToTopButtonShow),type:"button",onClick:t})}var p=n(53109),x=n(56347),f=n(24581),j=n(6342),_=n(39529);function v(e){return(0,h.jsx)("svg",{width:"20",height:"20","aria-hidden":"true",...e,children:(0,h.jsxs)("g",{fill:"#7a7a7a",children:[(0,h.jsx)("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),(0,h.jsx)("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})]})})}const g={collapseSidebarButton:"collapseSidebarButton_PEFL",collapseSidebarButtonIcon:"collapseSidebarButtonIcon_kv0_"};function A(e){let{onClick:t}=e;return(0,h.jsx)("button",{type:"button",title:(0,c.T)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,c.T)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,o.A)("button button--secondary button--outline",g.collapseSidebarButton),onClick:t,children:(0,h.jsx)(v,{className:g.collapseSidebarButtonIcon})})}var k=n(65041),C=n(89532);const S=Symbol("EmptyContext"),T=a.createContext(S);function N(e){let{children:t}=e;const[n,o]=(0,a.useState)(null),i=(0,a.useMemo)((()=>({expandedItem:n,setExpandedItem:o})),[n]);return(0,h.jsx)(T.Provider,{value:i,children:t})}var I=n(41422),B=n(99169),y=n(28774),w=n(92303);function L(e){let{collapsed:t,categoryLabel:n,onClick:a}=e;return(0,h.jsx)("button",{"aria-label":t?(0,c.T)({id:"theme.DocSidebarItem.expandCategoryAriaLabel",message:"Expand sidebar category '{label}'",description:"The ARIA label to expand the sidebar category"},{label:n}):(0,c.T)({id:"theme.DocSidebarItem.collapseCategoryAriaLabel",message:"Collapse sidebar category '{label}'",description:"The ARIA label to collapse the sidebar category"},{label:n}),"aria-expanded":!t,type:"button",className:"clean-btn menu__caret",onClick:a})}function E(e){let{item:t,onItemClick:n,activePath:i,level:r,index:c,...d}=e;const{items:u,label:m,collapsible:b,className:p,href:x}=t,{docs:{sidebar:{autoCollapseCategories:f}}}=(0,j.p)(),_=function(e){const t=(0,w.A)();return(0,a.useMemo)((()=>e.href&&!e.linkUnlisted?e.href:!t&&e.collapsible?(0,l.Nr)(e):void 0),[e,t])}(t),v=(0,l.w8)(t,i),g=(0,B.ys)(x,i),{collapsed:A,setCollapsed:k}=(0,I.u)({initialState:()=>!!b&&(!v&&t.collapsed)}),{expandedItem:N,setExpandedItem:E}=function(){const e=(0,a.useContext)(T);if(e===S)throw new C.dV("DocSidebarItemsExpandedStateProvider");return e}(),M=function(e){void 0===e&&(e=!A),E(e?null:c),k(e)};return function(e){let{isActive:t,collapsed:n,updateCollapsed:o}=e;const i=(0,C.ZC)(t);(0,a.useEffect)((()=>{t&&!i&&n&&o(!1)}),[t,i,n,o])}({isActive:v,collapsed:A,updateCollapsed:M}),(0,a.useEffect)((()=>{b&&null!=N&&N!==c&&f&&k(!0)}),[b,N,c,k,f]),(0,h.jsxs)("li",{className:(0,o.A)(s.G.docs.docSidebarItemCategory,s.G.docs.docSidebarItemCategoryLevel(r),"menu__list-item",{"menu__list-item--collapsed":A},p),children:[(0,h.jsxs)("div",{className:(0,o.A)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":g}),children:[(0,h.jsx)(y.A,{className:(0,o.A)("menu__link",{"menu__link--sublist":b,"menu__link--sublist-caret":!x&&b,"menu__link--active":v}),onClick:b?e=>{n?.(t),x?M(!1):(e.preventDefault(),M())}:()=>{n?.(t)},"aria-current":g?"page":void 0,role:b&&!x?"button":void 0,"aria-expanded":b&&!x?!A:void 0,href:b?_??"#":_,...d,children:m}),x&&b&&(0,h.jsx)(L,{collapsed:A,categoryLabel:m,onClick:e=>{e.preventDefault(),M()}})]}),(0,h.jsx)(I.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:A,children:(0,h.jsx)(U,{items:u,tabIndex:A?-1:0,onItemClick:n,activePath:i,level:r+1})})]})}var M=n(16654),H=n(43186);const G={menuExternalLink:"menuExternalLink_NmtK"};function W(e){let{item:t,onItemClick:n,activePath:a,level:i,index:r,...c}=e;const{href:d,label:u,className:m,autoAddBaseUrl:b}=t,p=(0,l.w8)(t,a),x=(0,M.A)(d);return(0,h.jsx)("li",{className:(0,o.A)(s.G.docs.docSidebarItemLink,s.G.docs.docSidebarItemLinkLevel(i),"menu__list-item",m),children:(0,h.jsxs)(y.A,{className:(0,o.A)("menu__link",!x&&G.menuExternalLink,{"menu__link--active":p}),autoAddBaseUrl:b,"aria-current":p?"page":void 0,to:d,...x&&{onClick:n?()=>n(t):void 0},...c,children:[u,!x&&(0,h.jsx)(H.A,{})]})},u)}const P={menuHtmlItem:"menuHtmlItem_M9Kj"};function R(e){let{item:t,level:n,index:a}=e;const{value:i,defaultStyle:l,className:r}=t;return(0,h.jsx)("li",{className:(0,o.A)(s.G.docs.docSidebarItemLink,s.G.docs.docSidebarItemLinkLevel(n),l&&[P.menuHtmlItem,"menu__list-item"],r),dangerouslySetInnerHTML:{__html:i}},a)}function D(e){let{item:t,...n}=e;switch(t.type){case"category":return(0,h.jsx)(E,{item:t,...n});case"html":return(0,h.jsx)(R,{item:t,...n});default:return(0,h.jsx)(W,{item:t,...n})}}function F(e){let{items:t,...n}=e;const a=(0,l.Y)(t,n.activePath);return(0,h.jsx)(N,{children:a.map(((e,t)=>(0,h.jsx)(D,{item:e,index:t,...n},t)))})}const U=(0,a.memo)(F),V={menu:"menu_SIkG",menuWithAnnouncementBar:"menuWithAnnouncementBar_GW3s"};function Y(e){let{path:t,sidebar:n,className:i}=e;const l=function(){const{isActive:e}=(0,k.Mj)(),[t,n]=(0,a.useState)(e);return(0,d.Mq)((t=>{let{scrollY:a}=t;e&&n(0===a)}),[e]),e&&t}();return(0,h.jsx)("nav",{"aria-label":(0,c.T)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,o.A)("menu thin-scrollbar",V.menu,l&&V.menuWithAnnouncementBar,i),children:(0,h.jsx)("ul",{className:(0,o.A)(s.G.docs.docSidebarMenu,"menu__list"),children:(0,h.jsx)(U,{items:n,activePath:t,level:1})})})}const K="sidebar_njMd",z="sidebarWithHideableNavbar_wUlq",q="sidebarHidden_VK0M",O="sidebarLogo_isFc";function J(e){let{path:t,sidebar:n,onCollapse:a,isHidden:i}=e;const{navbar:{hideOnScroll:s},docs:{sidebar:{hideable:l}}}=(0,j.p)();return(0,h.jsxs)("div",{className:(0,o.A)(K,s&&z,i&&q),children:[s&&(0,h.jsx)(_.A,{tabIndex:-1,className:O}),(0,h.jsx)(Y,{path:t,sidebar:n}),l&&(0,h.jsx)(A,{onClick:a})]})}const Q=a.memo(J);var X=n(75600),Z=n(22069);const $=e=>{let{sidebar:t,path:n}=e;const a=(0,Z.M)();return(0,h.jsx)("ul",{className:(0,o.A)(s.G.docs.docSidebarMenu,"menu__list"),children:(0,h.jsx)(U,{items:t,activePath:n,onItemClick:e=>{"category"===e.type&&e.href&&a.toggle(),"link"===e.type&&a.toggle()},level:1})})};function ee(e){return(0,h.jsx)(X.GX,{component:$,props:e})}const te=a.memo(ee);function ne(e){const t=(0,f.l)(),n="desktop"===t||"ssr"===t,a="mobile"===t;return(0,h.jsxs)(h.Fragment,{children:[n&&(0,h.jsx)(Q,{...e}),a&&(0,h.jsx)(te,{...e})]})}const ae={expandButton:"expandButton_TmdG",expandButtonIcon:"expandButtonIcon_i1dp"};function oe(e){let{toggleSidebar:t}=e;return(0,h.jsx)("div",{className:ae.expandButton,title:(0,c.T)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,c.T)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:t,onClick:t,children:(0,h.jsx)(v,{className:ae.expandButtonIcon})})}const ie={docSidebarContainer:"docSidebarContainer_YfHR",docSidebarContainerHidden:"docSidebarContainerHidden_DPk8",sidebarViewport:"sidebarViewport_aRkj"};function se(e){let{children:t}=e;const n=(0,r.t)();return(0,h.jsx)(a.Fragment,{children:t},n?.name??"noSidebar")}function le(e){let{sidebar:t,hiddenSidebarContainer:n,setHiddenSidebarContainer:i}=e;const{pathname:l}=(0,x.zy)(),[r,c]=(0,a.useState)(!1),d=(0,a.useCallback)((()=>{r&&c(!1),!r&&(0,p.O)()&&c(!0),i((e=>!e))}),[i,r]);return(0,h.jsx)("aside",{className:(0,o.A)(s.G.docs.docSidebarContainer,ie.docSidebarContainer,n&&ie.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(ie.docSidebarContainer)&&n&&c(!0)},children:(0,h.jsx)(se,{children:(0,h.jsxs)("div",{className:(0,o.A)(ie.sidebarViewport,r&&ie.sidebarViewportHidden),children:[(0,h.jsx)(ne,{sidebar:t,path:l,onCollapse:d,isHidden:r}),r&&(0,h.jsx)(oe,{toggleSidebar:d})]})})})}const re={docMainContainer:"docMainContainer_TBSr",docMainContainerEnhanced:"docMainContainerEnhanced_lQrH",docItemWrapperEnhanced:"docItemWrapperEnhanced_JWYK"};function ce(e){let{hiddenSidebarContainer:t,children:n}=e;const a=(0,r.t)();return(0,h.jsx)("main",{className:(0,o.A)(re.docMainContainer,(t||!a)&&re.docMainContainerEnhanced),children:(0,h.jsx)("div",{className:(0,o.A)("container padding-top--md padding-bottom--lg",re.docItemWrapper,t&&re.docItemWrapperEnhanced),children:n})})}const de={docRoot:"docRoot_UBD9",docsWrapper:"docsWrapper_hBAB"};function ue(e){let{children:t}=e;const n=(0,r.t)(),[o,i]=(0,a.useState)(!1);return(0,h.jsxs)("div",{className:de.docsWrapper,children:[(0,h.jsx)(b,{}),(0,h.jsxs)("div",{className:de.docRoot,children:[n&&(0,h.jsx)(le,{sidebar:n.items,hiddenSidebarContainer:o,setHiddenSidebarContainer:i}),(0,h.jsx)(ce,{hiddenSidebarContainer:o,children:t})]})]})}var me=n(23363);function he(e){const t=(0,l.B5)(e);if(!t)return(0,h.jsx)(me.A,{});const{docElement:n,sidebarName:a,sidebarItems:c}=t;return(0,h.jsx)(i.e3,{className:(0,o.A)(s.G.page.docsDocPage),children:(0,h.jsx)(r.V,{name:a,items:c,children:(0,h.jsx)(ue,{children:n})})})}},23363:(e,t,n)=>{n.d(t,{A:()=>l});n(96540);var a=n(34164),o=n(21312),i=n(51107),s=n(74848);function l(e){let{className:t}=e;return(0,s.jsx)("main",{className:(0,a.A)("container margin-vert--xl",t),children:(0,s.jsx)("div",{className:"row",children:(0,s.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,s.jsx)(i.A,{as:"h1",className:"hero__title",children:(0,s.jsx)(o.A,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}}}]); \ No newline at end of file diff --git a/assets/js/a9ff9f98.febb3c79.js b/assets/js/a9ff9f98.febb3c79.js deleted file mode 100644 index 2a0527d2a..000000000 --- a/assets/js/a9ff9f98.febb3c79.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[647],{88897:s=>{s.exports=JSON.parse('{"label":"eightshift","permalink":"/blog/tags/eightshift","allTagsPath":"/blog/tags","count":17,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/6e870323.c9afa332.js b/assets/js/aba21aa0.910111e0.js similarity index 67% rename from assets/js/6e870323.c9afa332.js rename to assets/js/aba21aa0.910111e0.js index a4425d605..e4defe3b9 100644 --- a/assets/js/6e870323.c9afa332.js +++ b/assets/js/aba21aa0.910111e0.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[76693],{61966:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]); \ No newline at end of file +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[35742],{27093:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/ac9ee971.45d0d03b.js b/assets/js/ac9ee971.45d0d03b.js new file mode 100644 index 000000000..c32123a76 --- /dev/null +++ b/assets/js/ac9ee971.45d0d03b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[33587],{90863:t=>{t.exports=JSON.parse('{"tag":{"label":"taxonomy","permalink":"/blog/tags/taxonomy","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/taxonomy","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/acacc2b4.2bda05e8.js b/assets/js/acacc2b4.2bda05e8.js deleted file mode 100644 index b5f1b8634..000000000 --- a/assets/js/acacc2b4.2bda05e8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[47010],{32646:s=>{s.exports=JSON.parse('{"label":"patterns","permalink":"/blog/tags/patterns","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/acecf23e.c013d728.js b/assets/js/acecf23e.c013d728.js new file mode 100644 index 000000000..9142506f3 --- /dev/null +++ b/assets/js/acecf23e.c013d728.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[81903],{1912:t=>{t.exports=JSON.parse('{"blogBasePath":"/blog","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/acf35250.2bb67939.js b/assets/js/acf35250.2bb67939.js new file mode 100644 index 000000000..d68b78bef --- /dev/null +++ b/assets/js/acf35250.2bb67939.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[65388],{13918:t=>{t.exports=JSON.parse('{"tag":{"label":"acf","permalink":"/blog/tags/acf","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/acf","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/adb54813.1ad3af7a.js b/assets/js/adb54813.1ad3af7a.js new file mode 100644 index 000000000..6f235c3c0 --- /dev/null +++ b/assets/js/adb54813.1ad3af7a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[37991],{16263:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>s,metadata:()=>r,toc:()=>d});var n=o(74848),i=o(28453);const s={title:"Modifying blocks - Color Theme",description:"Step-by-step guide on how to modify and expand the functionality of existing blocks.",slug:"modifying-blocks-color-theme",authors:"obradovic",date:new Date("2022-03-22T00:00:00.000Z"),tags:["eightshift","boilerplate","components","blocks"],hide_table_of_contents:!1},l=void 0,r={permalink:"/blog/modifying-blocks-color-theme",source:"@site/blog/2022-03-04-modifying-blocks.md",title:"Modifying blocks - Color Theme",description:"Step-by-step guide on how to modify and expand the functionality of existing blocks.",date:"2022-03-22T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"components",permalink:"/blog/tags/components"},{label:"blocks",permalink:"/blog/tags/blocks"}],readingTime:8.465,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Modifying blocks - Color Theme",description:"Step-by-step guide on how to modify and expand the functionality of existing blocks.",slug:"modifying-blocks-color-theme",authors:"obradovic",date:"2022-03-22T00:00:00.000Z",tags:["eightshift","boilerplate","components","blocks"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Adding fonts",permalink:"/blog/adding-fonts"},nextItem:{title:"Adding components and blocks with WP-CLI",permalink:"/blog/adding-blocks-wpcli"}},a={authorsImageUrls:[void 0]},d=[{value:"Modifying a block or a component?",id:"modifying-a-block-or-a-component",level:2},{value:"What will we do?",id:"what-will-we-do",level:2},{value:"Adding background",id:"adding-background",level:2},{value:"Adding new colors to your project",id:"adding-new-colors-to-your-project",level:2},{value:"Adding a new attribute and options to manifest",id:"adding-a-new-attribute-and-options-to-manifest",level:2},{value:"CSS variables",id:"css-variables",level:2},{value:"Outputting CSS variables in editor",id:"outputting-css-variables-in-editor",level:2},{value:"Outputting CSS variables in the PHP template",id:"outputting-css-variables-in-the-php-template",level:2},{value:"Adding options",id:"adding-options",level:2},{value:"Adding transitions in the editor",id:"adding-transitions-in-the-editor",level:2},{value:"Closing thoughts",id:"closing-thoughts",level:2}];function c(e){const t={admonition:"admonition",code:"code",em:"em",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"In our previous post, we covered how to use Storybook and WP-CLI to add additional blocks to your project. This post will walk you through modifying an existing block step-by-step."}),"\n",(0,n.jsx)(t.p,{children:"Since Eightshift Development kit is a starter theme, made for developers to jumpstart and speed up their development, you're welcome to modify files in it directly. There is no need to create a child theme to protect changes from updates."}),"\n",(0,n.jsx)(t.h2,{id:"modifying-a-block-or-a-component",children:"Modifying a block or a component?"}),"\n",(0,n.jsx)(t.p,{children:'Because we used the Quote block in our previous post, we will continue using it as an example as it\'s a fairly simple one. One of the first questions you may ask yourself could be: "Should I modify a component or a block?". And the answer is - it depends.'}),"\n",(0,n.jsxs)(t.p,{children:["If you compare ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"components/quote/quote.php"})})," (component) and ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"custom/quote/quote.php"})})," (block), you'll notice that most of the HTML code is inside the component, while the block pretty much only renders the Quote component inside a wrapper. This example will walk you through the whole process of adding a new attribute and its options to a block."]}),"\n",(0,n.jsx)(t.h2,{id:"what-will-we-do",children:"What will we do?"}),"\n",(0,n.jsx)(t.p,{children:"We want to style the block and add a new feature. An option to choose a color theme for the Quote block. These are the specs:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"each Quote block has a background with rounded corners"}),"\n",(0,n.jsx)(t.li,{children:"option for three color themes: blue, green, yellow"}),"\n",(0,n.jsx)(t.li,{children:"the background has a lighter shade of the selected color"}),"\n",(0,n.jsx)(t.li,{children:"quote icon has a stronger shade of the selected color"}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["To better help you visualize, this is how the Quote block should look like after making these changes, showcasing all three color theme variations:\n",(0,n.jsx)(t.img,{alt:"Color Theme Examples",src:o(25624).A+"",width:"1067",height:"234"})]}),"\n",(0,n.jsx)(t.h2,{id:"adding-background",children:"Adding background"}),"\n",(0,n.jsxs)(t.p,{children:["Initial background styling is fairly straightforward. Navigate to ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"src/Blocks/components/quote/quote-style.scss"})})," and paste the following code inside ",(0,n.jsx)(t.code,{children:".quote"})," class:"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-css",children:"padding: calc(var(--base-font-size) * 1.6rem);\nborder-radius: calc(var(--base-font-size) * 2rem);\nbackground-color: global-settings(colors, light);\n"})}),"\n",(0,n.jsxs)(t.p,{children:["You may notice we're using ",(0,n.jsx)(t.code,{children:"calc"})," instead of directly writing values in rems. This way makes it much easier to calculate pixel size since ",(0,n.jsx)(t.code,{children:"calc(var(--base-font-size) * 1.6rem)"})," equals ",(0,n.jsx)(t.code,{children:"16px"}),"."]}),"\n",(0,n.jsx)(t.p,{children:"For now, we will add a simple light grey background to see how it looks. We'll replace this value later with a CSS variable."}),"\n",(0,n.jsx)(t.admonition,{type:"tip",children:(0,n.jsx)(t.p,{children:"Don't hardcode hex color values directly inside your component. Instead, use colors defined in your global manifest."})}),"\n",(0,n.jsxs)(t.p,{children:["You'll notice that the changes are visible both in the editor and on the frontend. Since the Gutenberg editor adds some additional markup, sometimes you'll need to add additional styling only for the editor. In case we need to override something in the editor for our Quote component, we would simply create ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"quote-editor.scss"})}),"."]}),"\n",(0,n.jsx)(t.h2,{id:"adding-new-colors-to-your-project",children:"Adding new colors to your project"}),"\n",(0,n.jsxs)(t.p,{children:["Because the theme currently doesn't have all the required colors, we need to add additional colors which will be used for the color theme feature. We will use the colors already defined in the manifest for icon color, but we need to add lighter variations of those colors to use them for the background. Navigate to your global manifest, which is located inside ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"src/Blocks/manifest.json"})})," and add the following values inside ",(0,n.jsx)(t.code,{children:"colors"}),":"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-json",children:'{\n\t"name": "Light Blue",\n\t"slug": "light-blue",\n\t"color": "#B3E5FC"\n},\n{\n\t"name": "Light Green",\n\t"slug": "light-green",\n\t"color": "#DCEDC8"\n},\n{\n\t"name": "Light Yellow",\n\t"slug": "light-yellow",\n\t"color": "#FFF9C4"\n}\n'})}),"\n",(0,n.jsx)(t.h2,{id:"adding-a-new-attribute-and-options-to-manifest",children:"Adding a new attribute and options to manifest"}),"\n",(0,n.jsxs)(t.p,{children:["For editors to be able to choose which color theme to use for the Quote block, we need to define an attribute for it in the manifest. Navigate to ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"src/Blocks/components/quote/manifest.json"})})," and add the following value inside ",(0,n.jsx)(t.code,{children:"attributes"}),":"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-json",children:'"quoteColorTheme": {\n\t"type": "string",\n\t"default": "blue"\n}\n'})}),"\n",(0,n.jsx)(t.admonition,{type:"caution",children:(0,n.jsx)(t.p,{children:"Double-check the path of the manifest used in this example. We're adding it inside the Quote component manifest, not the Quote block manifest."})}),"\n",(0,n.jsxs)(t.p,{children:["After that, since we want to have a fixed number of options, we need to define available options. We can do that inside ",(0,n.jsx)(t.code,{children:"options"})," which is on the same level as ",(0,n.jsx)(t.code,{children:"attributes"}),":"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-json",children:'"options": {\n\t"quoteColorTheme": [\n\t\t"blue",\n\t\t"green",\n\t\t"yellow"\n\t]\n}\n'})}),"\n",(0,n.jsx)(t.h2,{id:"css-variables",children:"CSS variables"}),"\n",(0,n.jsxs)(t.p,{children:["Our next step is to add CSS variables to the Quote component's manifest. Inside ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"manifest.json"})}),", on the same level as ",(0,n.jsx)(t.code,{children:"attributes"}),", add the following code:"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-json",children:'"variables": {\n\t"quoteColorTheme": {\n\t\t"blue": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"quote-background-color": "var(--global-colors-light-blue)",\n\t\t\t\t\t"quote-icon-color": "var(--global-colors-blue)"\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t"green": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"quote-background-color": "var(--global-colors-light-green)",\n\t\t\t\t\t"quote-icon-color": "var(--global-colors-green)"\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t"yellow": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"quote-background-color": "var(--global-colors-light-yellow)",\n\t\t\t\t\t"quote-icon-color": "var(--global-colors-yellow)"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,n.jsxs)(t.p,{children:["Now, navigate back to Quote component's ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"quote-style.scss"})})," and replace the ",(0,n.jsx)(t.code,{children:"background-color"})," which we used for testing with the following:"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-css",children:"background-color: var(--quote-background-color);\n"})}),"\n",(0,n.jsxs)(t.p,{children:["As you can see, the variable name is the same one we used when defining background color variations in the manifest. For icon color, we do the same. After adding a new color to ",(0,n.jsx)(t.code,{children:"&__icon"})," selector, our code should now look like this:"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-css",children:"&__icon {\n\tdisplay: block;\n\tmargin-bottom: 1rem;\n\tcolor: var(--quote-icon-color);\n}\n"})}),"\n",(0,n.jsx)(t.h2,{id:"outputting-css-variables-in-editor",children:"Outputting CSS variables in editor"}),"\n",(0,n.jsxs)(t.p,{children:["To make our color theme visible in editor, we have to add few lines of code to ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"src/Blocks/components/quote/components/quote-editor.js"})})," file. First, we need to import a few functions. We need ",(0,n.jsx)(t.code,{children:"useMemo"})," from ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"react"})}),", ",(0,n.jsx)(t.code,{children:"outputCssVariables"})," and ",(0,n.jsx)(t.code,{children:"getUnique"})," from ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"@eightshift/frontend-libs/scripts"})})," and finally, we need data from the global manifest."]}),"\n",(0,n.jsx)(t.p,{children:"After importing these and defining a unique constant, your code should look like this:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-js",children:"import React, { useMemo } from 'react';\nimport classnames from 'classnames';\nimport { checkAttr, props, selector, outputCssVariables, getUnique } from '@eightshift/frontend-libs/scripts';\nimport { HeadingEditor } from '../../heading/components/heading-editor';\nimport { ParagraphEditor } from '../../paragraph/components/paragraph-editor';\nimport manifest from './../manifest.json';\nimport globalManifest from './../../../manifest.json';\n\nexport const QuoteEditor = (attributes) => {\n\tconst unique = useMemo(() => getUnique(), []);\n\t//...\n"})}),"\n",(0,n.jsxs)(t.p,{children:["Next, we need to add a unique ",(0,n.jsx)(t.code,{children:"data-id"})," and output the ",(0,n.jsx)(t.code,{children:"<style>"})," tag containing CSS variables."]}),"\n",(0,n.jsx)(t.p,{children:"Modify your return statement so it looks like this:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-jsx",children:"return (\n\t<>\n\t\t<figure className={quoteClass} data-id={unique}>\n\t\t\t{outputCssVariables(attributes, manifest, unique, globalManifest)}\n\t\t\t//...\n"})}),"\n",(0,n.jsxs)(t.p,{children:["If you try adding a Quote block in the editor, you should notice that it now has a light blue background with a quote icon in a darker shade of blue. This is the default value for the ",(0,n.jsx)(t.code,{children:"quoteColorTheme"})," attribute we added in the component's manifest."]}),"\n",(0,n.jsx)(t.h2,{id:"outputting-css-variables-in-the-php-template",children:"Outputting CSS variables in the PHP template"}),"\n",(0,n.jsxs)(t.p,{children:["The PHP template for the Quote component is located in ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"src/Blocks/components/quote/quote.php"})}),". This process is similar to the one described above, it's just written in PHP. All helper methods we need for this are contained inside the ",(0,n.jsx)(t.code,{children:"Components"})," class, which is already included in this file."]}),"\n",(0,n.jsxs)(t.p,{children:["Similar to the JS template, we need a unique value, assign it to ",(0,n.jsx)(t.code,{children:"data-id"}),", and output CSS variables. After adding these, the code should look like this:"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:'<?php\n//...\n$quoteClass = Components::classnames([\n\tComponents::selector($componentClass, $componentClass),\n\tComponents::selector($blockClass, $blockClass, $selectorClass),\n\tComponents::selector($additionalClass, $additionalClass),\n]);\n\n$unique = Components::getUnique();\n?>\n\n<figure class="<?php echo \\esc_attr($quoteClass); ?>" data-id="<?php echo \\esc_attr($unique); ?>">\n\t<?php echo Components::outputCssVariables($attributes, $manifest, $unique, $globalManifest); ?>\n\t//...\n'})}),"\n",(0,n.jsx)(t.admonition,{type:"note",children:(0,n.jsx)(t.p,{children:"Both PHP and JS have the same helpers to make writing code for editor and front view as similar as possible."})}),"\n",(0,n.jsx)(t.h2,{id:"adding-options",children:"Adding options"}),"\n",(0,n.jsxs)(t.p,{children:["After adding these snippets, you should already see that your block is using the blue color theme, which we defined as the default value for ",(0,n.jsx)(t.code,{children:"quoteColorTheme"})," in the manifest. We want to have an easy way to change the color theme in the editor. Now we'll add a new option which will do just that."]}),"\n",(0,n.jsxs)(t.p,{children:["We will add these options in ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"src/Blocks/components/quote/components/quote-options.js"})}),". Again, we will start with the imports we will need. First one is ",(0,n.jsx)(t.code,{children:"__"})," from ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"@wordpress/i18n"})})," package. Additional imports we need are from ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"@eightshift/frontend-libs/scripts"})}),", so we will just add those to the list."]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-js",children:"import { __ } from '@wordpress/i18n';\nimport {\n\t//...\n\tColorPaletteCustom,\n\tIconLabel,\n\ticons,\n\tgetOption\n} from '@eightshift/frontend-libs/scripts';\n"})}),"\n",(0,n.jsxs)(t.p,{children:["Next, we can add a new attribute in options called ",(0,n.jsx)(t.code,{children:"showQuoteColorTheme"})," and set it to ",(0,n.jsx)(t.code,{children:"true"})," by default. If we want to use this component in other blocks, we can use this attribute for showing or hiding Color Theme Options on a specific block that uses the Quote component."]}),"\n",(0,n.jsxs)(t.p,{children:["Additionally, we need to get values for ",(0,n.jsx)(t.code,{children:"quoteUse"})," and ",(0,n.jsx)(t.code,{children:"quoteColorTheme"})," attributes. We can use the ",(0,n.jsx)(t.code,{children:"checkAttr"})," helper which first checks if a block has saved attribute value. If not, it defaults to a value defined in the manifest."]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-js",children:"export const QuoteOptions = (attributes) => {\n\t//...\n\tconst {\n\t\tsetAttributes,\n\t\t//...\n\t\tshowQuoteColorTheme = true,\n\t} = attributes;\n\t//...\n\tconst quoteUse = checkAttr('quoteUse', attributes, manifest);\n\tconst quoteColorTheme = checkAttr('quoteColorTheme', attributes, manifest);\n"})}),"\n",(0,n.jsx)(t.p,{children:"Finally, we add the Color Palette, which we will use for switching color themes."}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-js",children:"return (\n\t<>\n\t\t//...\n\n\t\t{quoteUse &&\n\t\t\t<>\n\t\t\t\t{showQuoteColorTheme &&\n\t\t\t\t\t<ColorPaletteCustom\n\t\t\t\t\t\tlabel={<IconLabel icon={icons.color} label={__('Color Theme', 'es-theme')} />}\n\t\t\t\t\t\tcolors={getOption('quoteColorTheme', attributes, manifest, true)}\n\t\t\t\t\t\tvalue={quoteColorTheme}\n\t\t\t\t\t\tonChange={(value) => setAttributes({ [getAttrKey('quoteColorTheme', attributes, manifest)]: value })}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t//...\n"})}),"\n",(0,n.jsx)(t.p,{children:"The Color Theme option should now be visible and fully functional inside the Quote block."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Color Theme Options",src:o(52799).A+"",width:"275",height:"143"})}),"\n",(0,n.jsx)(t.h2,{id:"adding-transitions-in-the-editor",children:"Adding transitions in the editor"}),"\n",(0,n.jsxs)(t.p,{children:["The options work, but you may notice there is no transition in the editor. It is not necessary but will improve the user experience. Since we do not need transition effects on the frontend, we can add these CSS rules only to the editor. To do that, we start by creating ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"quote-editor.scss"})})," file inside ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"src/Blocks/components/quote"})})," folder."]}),"\n",(0,n.jsx)(t.p,{children:"We add the following CSS:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-css",children:".quote {\n\ttransition: background-color 0.3s ease-in-out;\n\n\t&__icon {\n\t\ttransition: color 0.3s ease-in-out;\n\t}\n}\n"})}),"\n",(0,n.jsxs)(t.p,{children:["Because we've added a new file, we have to run ",(0,n.jsx)(t.code,{children:"npm start"})," again. Now the transition between colors will be much smoother."]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Color Theme Change",src:o(75461).A+"",width:"772",height:"338"})}),"\n",(0,n.jsx)(t.h2,{id:"closing-thoughts",children:"Closing thoughts"}),"\n",(0,n.jsx)(t.p,{children:"In this post, we've covered the whole process of adding a new attribute. It involves a lot of steps and things to keep in mind, but once you get used to it, you'll be able to add quite powerful features to your blocks."}),"\n",(0,n.jsx)(t.p,{children:"One more important thing to keep in mind is the expandability of your attributes. When adding new attributes, don't think just about what you need now, keep in mind that you may need to expand it later."}),"\n",(0,n.jsx)(t.p,{children:'The way we built Color Theme functionality makes adding additional color themes a breeze and can be done in a matter of minutes. For "homework", try adding two more color themes of your choice. Good luck!'})]})}function h(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},75461:(e,t,o)=>{o.d(t,{A:()=>n});const n=o.p+"assets/images/color-theme-change-cd1ede6d92339a8178f33466d37a7e16.gif"},25624:(e,t,o)=>{o.d(t,{A:()=>n});const n=o.p+"assets/images/color-theme-examples-49d717014747712e8921b795e4804944.webp"},52799:(e,t,o)=>{o.d(t,{A:()=>n});const n="data:image/webp;base64,UklGRhAMAABXRUJQVlA4IAQMAAAwPgCdASoTAY8APjEYikQiIaER+ZygIAMEsrdwuwCEDG1bnsn5Afjd8wNSflX3Y/KPopSrdT343+tfur/rvdb/XPYB5gH6Tf5r+cdYrzAfyL+uf9D++exv+x3uW9AD+X/4D0QPYG9Bj9qPS9/Zv4KP2i/Z34Ff5h/Zf/HrRHiP+bfir3vf238ier78Ievf7k7oB6E/w/6v/Zf6B+xn5Ic5vwx/evxV+AL8H/jv9x/Hv8xeMKz39jvUC9a/lX+T/K7+4+ST6MfVX/HfhB9AH8Z/nX+P/qv7Pf1D45/03gteLewB/J/6r/oP77+1395+kz94/z3+c/Lz2lflP9o/2f+W+AP+Rfzv/Jf279zf79///+190Xrj/Zn2OP1q/7wzkVGv2QeSUKjxD3FPkiWvC4UW/ZuFwwj/SK/0eQPbvk1lc0JQt/mI0a/ZB5JQqXfC6QeQuLWYuprBOYhG0nqSMkG7nl6c1i7qGcAe3fJrHQO9/SLBZoTxT7Gsen9fFHGbgCz3CxXiAYhviJevy17b/8EJp+dDkbog8koVLamTinUwawUf5GjLgxr9kHjPbamKanPBXFVmtfmC/xY0pXJGUVA98UEZyHu/Fwu+HZZLD4Lx/cfxCPSPJCbjp3KMIrbBZ0V2p6X2+baDK+qeEgiUKl3w8kBq6gORUa/UAAD+/+zOAe6HeeGk1l65UNSuM0bF4uYzzsTbpVWY2QZvfB2TN//6IV7v6L5v7k6xPhfsWgv+ytMU9wZO0VH9+wnBm2jnEErrjEavQ7GlIojy9fqe5xJ8nqVlyJLoTvdX9gDfCTgU5+ZUkqLTGW7rrgIwIuznRP6AH5CcgtO/V7PcAc2l+P7T5TXmi6GvySrRYto3wP9r8cK4G5SDQsdWmnnBg7M7TgEaysq+PqzyZj0Ih0m4n+mkWIlx7fXJREUnEtvlpqXsAd0iuWR2+TWnExUA+fUcMAH1c3WIijn3EsXSNf/2XL+qv02/WGS3m3eHtf4JGcQcQ458jfquWcC9huRq6///R4ktXpJMPx8IHr2hp71Yck8tkZdveT8fOqGMdvJXDUp5lPoGwjSwkf2NI0OYX/IQ9qGBHAV+tEeWTvlerepMfv3SWDz44zhOV//OFOyEuErEhuJL8Xg5hmLqhFAWow4jHfji0aZNKdIEa99nOOKfHrCvxInfoAoFiZB+qeLZZDZ4qvOreJAtex2v17f47lNVy/ct0eRtvIkilPqfWio7If22x21FkKMjzo6Wh0GUCVG1l/QLO/8DIIP4At/Mo1wgZ3p5S0QiHxuOwlYvaogXfaGM1vNpFY2LjFXgnWv76aSMeQr4VdgSE2RFwLyO9ivvp+7DGUTT8R30JfkmHr6q74AdGsDWZVGDPnnLnUTFSqFUjjzBXYG+bdfbNRGWVPHu0vIWOcYMYodcUe0Jss1lMgDr2B0DDRORv+jrZSM00Tz8E9/yDrrVyHg3QtrgY/4A7o/TyWjvMzcZow8/x00ZCe2Z19S44FS2uYUK5DkvwXpjeMMLS0/ANsSpSP8B+QcMMCNIIfbw9uqpdjnM0xUYZzE4TiGdzICrU62Xazv7LiOAtqvAgqVcqcc+zEcTw9lLNyMX0esqx8P8blT9W70t8M/2+Z/oz1wq2JnnZir9c+qfA7c8ilwJ19q+to9q3JxNzNXEjir+kWCvRfPEpe76XEiXsHaEmPlP01a1MOapkmPAjElKHxaK5wHYQq4TOZnXoK/Rpwk+EdOymYG9d2xCoUEozVCI/Aujkls1piawznh8n9o3s8smRkVVYmcMg9wtDf66BKMj0vnTgTiJvF30+rT0lWPfyG+8c9noWVz8SGG8jEo4Yzl2n7nF8twYUfD5t9ur3h63KI9KXz8/9VXboTtlOkeaxn5QFOZO1jSBso+cAt0pgw/5TYX2VDl/vHmEKaaANEbleLa21vUOyu0zzztbwjv9xR8Amcf9On8DWSyJtmWmI1Ni5bxQgK/sv3ql/y3B+rSbrB5xurswO0JKiWFKfg83z4N9nwctKT1KMJW1JF8AT9WIN1g/Gc8dVbvlOSV2urnIOtjEjXc9qz4NJSnrE1O4AfmOnE411sR77aY5F+84LMY57M/iz/JX8xu9Z36/GYEG5eZFZ9fJATtSiXsV62/zYGTwk9kYPN7Wd69U1oQWshfQB0LHX2iNUm3MHfI+B/lGx93urTxLoWaeKVp3su0bt18cuRcZb8/n19/cWUzezaSDtQolwhPO+4OcTTgTnStENh9ajgzzcWxX6jKkK6hNOKgO++Q9H5ELDWto9uakmxoTGiX9yjHQZLoHg+KfnIjpd3aGLJWJpBrK7jvrfaV/gEheGyczNv/y3Nw2zCgLehm7XyGAIGCGqYovVnW74WJfurVOeQ2jcc9z8dSn80ZE2zerKcmkN59O7Z9eM8JhZIugg6/nbQqmDpYtEdjGfaodgCjPbcKBuGq02ZYH0MN3f5d0LrXEHKy3wlc7wL/i6gXniEDsrVzq6Jqf8m1Mi7bef9y3Nn1YYTewm0e9e+1enyqD7OLjxQiIcAXuno7NRw69qdveSElSly3E3ZkOcub5Ju/lgpbaS3goAA0e7f63l2/MnXCtbdN3ExBCUbS59ZIh9HYx1m4guvskX+s7y32C1S/oTOpun29eDysH6LQGAWC322te5W2l7DHmclE7E+rAyqpg3Q6xwNH6VWAV+pGlS8SZQn1NxcL1tNuBKJh7Vn45C0Xr9lhZo2un6MzaLR5qiitoEE0O+72FbzgQBafRK7AhJX8k1SLX4mCVQBSnYH3a5LzKIVnI46QbHmDM9JmK6L9pPnMLmPGrfQMxBZMJX4hiLb2PRmA+RbLZpEpl6OmrL1Bc4iJDKZGcTrV8uwVhum3Uc4/vGTbAeQTsWv/tt14IiaJlWnuXA/bdIyPFNGXgmjMSmYe9UhOt232fu4eirAsZg5Seyqi0QIZjDZ0jQyLYf8TGZMCJkaXkcbZ3F33LkJX3cp3yQK5gPcUBNwanurYmtdJ8/OnTbsIyxUQjFCvOMx85NJe150VQwQY5J35i0Qg5KbzNxyoMRGLf9laggibbFTGkx/hI9FYxQv3EAAj6DIC2Fh6ma6NuE6l+mxCxQ7w/YeLX7MGnk2XFIbeQH35EBbfc5mTtvbAJspp2biXn3uPQLtnhiL1QuY/eWW9IupCVy+YBxsB3//Jrj5vEdqaO5iyzCzV9Sh97AkgXZBY/hKYNgwLhPEQ0u4kB0vwdZwDQxs4aU317qfUcAzoiT7eKgq1eAurgOv+oy9PJXSGci9LD0fyMUm+msR+2W60EwHCR5AlMvhI1GRe4ImHN2ZQQY4ZXzgYz6Frnm4OS59+sZc0ZOnXvb99Mb0oCJIYuky8PeKTWX/numfGBxMptVN4qBU7FRBiZ/78EdDQ4wbiVRT8pn3AagjJVXLPAsVskO6P66RlsYUfGCT9n/DCbsfAwZjgjAOTgX/D62oEY1HTW4eoBt33qZHlaQUJrTDthhXzKF/wi8ttkCoZxO5xANkC0YTvS7mmk2vYo9ZeKicrOZ0ADletPSOv/qFA94JxEPQpa+3dDHySBo0xd6x9+exV5gS/4Y2eCHvkRv7ctEq7DVnl1Wq3E29BcTUO6TrgGTJuOX6oXWkDamoL2pYeoDicImv1kR24sAeBtF+gZhNDRhTK3UO/6JkEY6J9/D4sUwrr71t+wlEoPfFSZxb2hMbu3Lk2aM8kPdCvi0ns2jd4T4Q6rsaywFrxbzGjJHoWrms4XlN+ULQlbAQH+lhzz6IJb53MEMn3t3iOdt0KU6Jk9p5vmk2jQpqu7YI2QKBHEh4ztERsSYo85MPP32tMox+V8jpwAtBcl8VGqtNfRWP5h+9ZhRsuC0L/I88l6rj8JaVksQjTcByezrZD199Bgh3jqc/D5YQELPNiYyjB9ESD2e9aA/ramnRI2xODla2XCgwwNy0sIqsaIaaesHn3nk8HxeePIW06WPCGEY9OH3O+4vu8V4sh6roxCRooW90BfiPYZvkvV5u5hnQmxBWUhIRkjJQTPbEjg97qUZ3lyCnDpOnAzTEnvhxMIjGMPBlRTmaJmQFz3NsnpU5NqPXmbmjnYgHd9GljSAAAAAAAA"},28453:(e,t,o)=>{o.d(t,{R:()=>l,x:()=>r});var n=o(96540);const i={},s=n.createContext(i);function l(e){const t=n.useContext(s);return n.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(i):e.components||i:l(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/adb54813.5bc0f56c.js b/assets/js/adb54813.5bc0f56c.js deleted file mode 100644 index e27887c59..000000000 --- a/assets/js/adb54813.5bc0f56c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[37991],{16263:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>s,metadata:()=>r,toc:()=>d});var n=o(74848),i=o(28453);const s={title:"Modifying blocks - Color Theme",description:"Step-by-step guide on how to modify and expand the functionality of existing blocks.",slug:"modifying-blocks-color-theme",authors:"obradovic",date:new Date("2022-03-22T00:00:00.000Z"),tags:["eightshift","boilerplate","components","blocks"],hide_table_of_contents:!1},l=void 0,r={permalink:"/blog/modifying-blocks-color-theme",source:"@site/blog/2022-03-04-modifying-blocks.md",title:"Modifying blocks - Color Theme",description:"Step-by-step guide on how to modify and expand the functionality of existing blocks.",date:"2022-03-22T00:00:00.000Z",formattedDate:"March 22, 2022",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"components",permalink:"/blog/tags/components"},{label:"blocks",permalink:"/blog/tags/blocks"}],readingTime:8.465,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Modifying blocks - Color Theme",description:"Step-by-step guide on how to modify and expand the functionality of existing blocks.",slug:"modifying-blocks-color-theme",authors:"obradovic",date:"2022-03-22T00:00:00.000Z",tags:["eightshift","boilerplate","components","blocks"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Adding fonts",permalink:"/blog/adding-fonts"},nextItem:{title:"Adding components and blocks with WP-CLI",permalink:"/blog/adding-blocks-wpcli"}},a={authorsImageUrls:[void 0]},d=[{value:"Modifying a block or a component?",id:"modifying-a-block-or-a-component",level:2},{value:"What will we do?",id:"what-will-we-do",level:2},{value:"Adding background",id:"adding-background",level:2},{value:"Adding new colors to your project",id:"adding-new-colors-to-your-project",level:2},{value:"Adding a new attribute and options to manifest",id:"adding-a-new-attribute-and-options-to-manifest",level:2},{value:"CSS variables",id:"css-variables",level:2},{value:"Outputting CSS variables in editor",id:"outputting-css-variables-in-editor",level:2},{value:"Outputting CSS variables in the PHP template",id:"outputting-css-variables-in-the-php-template",level:2},{value:"Adding options",id:"adding-options",level:2},{value:"Adding transitions in the editor",id:"adding-transitions-in-the-editor",level:2},{value:"Closing thoughts",id:"closing-thoughts",level:2}];function c(e){const t={admonition:"admonition",code:"code",em:"em",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"In our previous post, we covered how to use Storybook and WP-CLI to add additional blocks to your project. This post will walk you through modifying an existing block step-by-step."}),"\n",(0,n.jsx)(t.p,{children:"Since Eightshift Development kit is a starter theme, made for developers to jumpstart and speed up their development, you're welcome to modify files in it directly. There is no need to create a child theme to protect changes from updates."}),"\n",(0,n.jsx)(t.h2,{id:"modifying-a-block-or-a-component",children:"Modifying a block or a component?"}),"\n",(0,n.jsx)(t.p,{children:'Because we used the Quote block in our previous post, we will continue using it as an example as it\'s a fairly simple one. One of the first questions you may ask yourself could be: "Should I modify a component or a block?". And the answer is - it depends.'}),"\n",(0,n.jsxs)(t.p,{children:["If you compare ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"components/quote/quote.php"})})," (component) and ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"custom/quote/quote.php"})})," (block), you'll notice that most of the HTML code is inside the component, while the block pretty much only renders the Quote component inside a wrapper. This example will walk you through the whole process of adding a new attribute and its options to a block."]}),"\n",(0,n.jsx)(t.h2,{id:"what-will-we-do",children:"What will we do?"}),"\n",(0,n.jsx)(t.p,{children:"We want to style the block and add a new feature. An option to choose a color theme for the Quote block. These are the specs:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"each Quote block has a background with rounded corners"}),"\n",(0,n.jsx)(t.li,{children:"option for three color themes: blue, green, yellow"}),"\n",(0,n.jsx)(t.li,{children:"the background has a lighter shade of the selected color"}),"\n",(0,n.jsx)(t.li,{children:"quote icon has a stronger shade of the selected color"}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["To better help you visualize, this is how the Quote block should look like after making these changes, showcasing all three color theme variations:\n",(0,n.jsx)(t.img,{alt:"Color Theme Examples",src:o(25624).A+"",width:"1067",height:"234"})]}),"\n",(0,n.jsx)(t.h2,{id:"adding-background",children:"Adding background"}),"\n",(0,n.jsxs)(t.p,{children:["Initial background styling is fairly straightforward. Navigate to ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"src/Blocks/components/quote/quote-style.scss"})})," and paste the following code inside ",(0,n.jsx)(t.code,{children:".quote"})," class:"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-css",children:"padding: calc(var(--base-font-size) * 1.6rem);\nborder-radius: calc(var(--base-font-size) * 2rem);\nbackground-color: global-settings(colors, light);\n"})}),"\n",(0,n.jsxs)(t.p,{children:["You may notice we're using ",(0,n.jsx)(t.code,{children:"calc"})," instead of directly writing values in rems. This way makes it much easier to calculate pixel size since ",(0,n.jsx)(t.code,{children:"calc(var(--base-font-size) * 1.6rem)"})," equals ",(0,n.jsx)(t.code,{children:"16px"}),"."]}),"\n",(0,n.jsx)(t.p,{children:"For now, we will add a simple light grey background to see how it looks. We'll replace this value later with a CSS variable."}),"\n",(0,n.jsx)(t.admonition,{type:"tip",children:(0,n.jsx)(t.p,{children:"Don't hardcode hex color values directly inside your component. Instead, use colors defined in your global manifest."})}),"\n",(0,n.jsxs)(t.p,{children:["You'll notice that the changes are visible both in the editor and on the frontend. Since the Gutenberg editor adds some additional markup, sometimes you'll need to add additional styling only for the editor. In case we need to override something in the editor for our Quote component, we would simply create ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"quote-editor.scss"})}),"."]}),"\n",(0,n.jsx)(t.h2,{id:"adding-new-colors-to-your-project",children:"Adding new colors to your project"}),"\n",(0,n.jsxs)(t.p,{children:["Because the theme currently doesn't have all the required colors, we need to add additional colors which will be used for the color theme feature. We will use the colors already defined in the manifest for icon color, but we need to add lighter variations of those colors to use them for the background. Navigate to your global manifest, which is located inside ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"src/Blocks/manifest.json"})})," and add the following values inside ",(0,n.jsx)(t.code,{children:"colors"}),":"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-json",children:'{\n\t"name": "Light Blue",\n\t"slug": "light-blue",\n\t"color": "#B3E5FC"\n},\n{\n\t"name": "Light Green",\n\t"slug": "light-green",\n\t"color": "#DCEDC8"\n},\n{\n\t"name": "Light Yellow",\n\t"slug": "light-yellow",\n\t"color": "#FFF9C4"\n}\n'})}),"\n",(0,n.jsx)(t.h2,{id:"adding-a-new-attribute-and-options-to-manifest",children:"Adding a new attribute and options to manifest"}),"\n",(0,n.jsxs)(t.p,{children:["For editors to be able to choose which color theme to use for the Quote block, we need to define an attribute for it in the manifest. Navigate to ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"src/Blocks/components/quote/manifest.json"})})," and add the following value inside ",(0,n.jsx)(t.code,{children:"attributes"}),":"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-json",children:'"quoteColorTheme": {\n\t"type": "string",\n\t"default": "blue"\n}\n'})}),"\n",(0,n.jsx)(t.admonition,{type:"caution",children:(0,n.jsx)(t.p,{children:"Double-check the path of the manifest used in this example. We're adding it inside the Quote component manifest, not the Quote block manifest."})}),"\n",(0,n.jsxs)(t.p,{children:["After that, since we want to have a fixed number of options, we need to define available options. We can do that inside ",(0,n.jsx)(t.code,{children:"options"})," which is on the same level as ",(0,n.jsx)(t.code,{children:"attributes"}),":"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-json",children:'"options": {\n\t"quoteColorTheme": [\n\t\t"blue",\n\t\t"green",\n\t\t"yellow"\n\t]\n}\n'})}),"\n",(0,n.jsx)(t.h2,{id:"css-variables",children:"CSS variables"}),"\n",(0,n.jsxs)(t.p,{children:["Our next step is to add CSS variables to the Quote component's manifest. Inside ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"manifest.json"})}),", on the same level as ",(0,n.jsx)(t.code,{children:"attributes"}),", add the following code:"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-json",children:'"variables": {\n\t"quoteColorTheme": {\n\t\t"blue": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"quote-background-color": "var(--global-colors-light-blue)",\n\t\t\t\t\t"quote-icon-color": "var(--global-colors-blue)"\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t"green": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"quote-background-color": "var(--global-colors-light-green)",\n\t\t\t\t\t"quote-icon-color": "var(--global-colors-green)"\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t"yellow": [\n\t\t\t{\n\t\t\t\t"variable": {\n\t\t\t\t\t"quote-background-color": "var(--global-colors-light-yellow)",\n\t\t\t\t\t"quote-icon-color": "var(--global-colors-yellow)"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}\n'})}),"\n",(0,n.jsxs)(t.p,{children:["Now, navigate back to Quote component's ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"quote-style.scss"})})," and replace the ",(0,n.jsx)(t.code,{children:"background-color"})," which we used for testing with the following:"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-css",children:"background-color: var(--quote-background-color);\n"})}),"\n",(0,n.jsxs)(t.p,{children:["As you can see, the variable name is the same one we used when defining background color variations in the manifest. For icon color, we do the same. After adding a new color to ",(0,n.jsx)(t.code,{children:"&__icon"})," selector, our code should now look like this:"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-css",children:"&__icon {\n\tdisplay: block;\n\tmargin-bottom: 1rem;\n\tcolor: var(--quote-icon-color);\n}\n"})}),"\n",(0,n.jsx)(t.h2,{id:"outputting-css-variables-in-editor",children:"Outputting CSS variables in editor"}),"\n",(0,n.jsxs)(t.p,{children:["To make our color theme visible in editor, we have to add few lines of code to ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"src/Blocks/components/quote/components/quote-editor.js"})})," file. First, we need to import a few functions. We need ",(0,n.jsx)(t.code,{children:"useMemo"})," from ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"react"})}),", ",(0,n.jsx)(t.code,{children:"outputCssVariables"})," and ",(0,n.jsx)(t.code,{children:"getUnique"})," from ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"@eightshift/frontend-libs/scripts"})})," and finally, we need data from the global manifest."]}),"\n",(0,n.jsx)(t.p,{children:"After importing these and defining a unique constant, your code should look like this:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-js",children:"import React, { useMemo } from 'react';\nimport classnames from 'classnames';\nimport { checkAttr, props, selector, outputCssVariables, getUnique } from '@eightshift/frontend-libs/scripts';\nimport { HeadingEditor } from '../../heading/components/heading-editor';\nimport { ParagraphEditor } from '../../paragraph/components/paragraph-editor';\nimport manifest from './../manifest.json';\nimport globalManifest from './../../../manifest.json';\n\nexport const QuoteEditor = (attributes) => {\n\tconst unique = useMemo(() => getUnique(), []);\n\t//...\n"})}),"\n",(0,n.jsxs)(t.p,{children:["Next, we need to add a unique ",(0,n.jsx)(t.code,{children:"data-id"})," and output the ",(0,n.jsx)(t.code,{children:"<style>"})," tag containing CSS variables."]}),"\n",(0,n.jsx)(t.p,{children:"Modify your return statement so it looks like this:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-jsx",children:"return (\n\t<>\n\t\t<figure className={quoteClass} data-id={unique}>\n\t\t\t{outputCssVariables(attributes, manifest, unique, globalManifest)}\n\t\t\t//...\n"})}),"\n",(0,n.jsxs)(t.p,{children:["If you try adding a Quote block in the editor, you should notice that it now has a light blue background with a quote icon in a darker shade of blue. This is the default value for the ",(0,n.jsx)(t.code,{children:"quoteColorTheme"})," attribute we added in the component's manifest."]}),"\n",(0,n.jsx)(t.h2,{id:"outputting-css-variables-in-the-php-template",children:"Outputting CSS variables in the PHP template"}),"\n",(0,n.jsxs)(t.p,{children:["The PHP template for the Quote component is located in ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"src/Blocks/components/quote/quote.php"})}),". This process is similar to the one described above, it's just written in PHP. All helper methods we need for this are contained inside the ",(0,n.jsx)(t.code,{children:"Components"})," class, which is already included in this file."]}),"\n",(0,n.jsxs)(t.p,{children:["Similar to the JS template, we need a unique value, assign it to ",(0,n.jsx)(t.code,{children:"data-id"}),", and output CSS variables. After adding these, the code should look like this:"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:'<?php\n//...\n$quoteClass = Components::classnames([\n\tComponents::selector($componentClass, $componentClass),\n\tComponents::selector($blockClass, $blockClass, $selectorClass),\n\tComponents::selector($additionalClass, $additionalClass),\n]);\n\n$unique = Components::getUnique();\n?>\n\n<figure class="<?php echo \\esc_attr($quoteClass); ?>" data-id="<?php echo \\esc_attr($unique); ?>">\n\t<?php echo Components::outputCssVariables($attributes, $manifest, $unique, $globalManifest); ?>\n\t//...\n'})}),"\n",(0,n.jsx)(t.admonition,{type:"note",children:(0,n.jsx)(t.p,{children:"Both PHP and JS have the same helpers to make writing code for editor and front view as similar as possible."})}),"\n",(0,n.jsx)(t.h2,{id:"adding-options",children:"Adding options"}),"\n",(0,n.jsxs)(t.p,{children:["After adding these snippets, you should already see that your block is using the blue color theme, which we defined as the default value for ",(0,n.jsx)(t.code,{children:"quoteColorTheme"})," in the manifest. We want to have an easy way to change the color theme in the editor. Now we'll add a new option which will do just that."]}),"\n",(0,n.jsxs)(t.p,{children:["We will add these options in ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"src/Blocks/components/quote/components/quote-options.js"})}),". Again, we will start with the imports we will need. First one is ",(0,n.jsx)(t.code,{children:"__"})," from ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"@wordpress/i18n"})})," package. Additional imports we need are from ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"@eightshift/frontend-libs/scripts"})}),", so we will just add those to the list."]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-js",children:"import { __ } from '@wordpress/i18n';\nimport {\n\t//...\n\tColorPaletteCustom,\n\tIconLabel,\n\ticons,\n\tgetOption\n} from '@eightshift/frontend-libs/scripts';\n"})}),"\n",(0,n.jsxs)(t.p,{children:["Next, we can add a new attribute in options called ",(0,n.jsx)(t.code,{children:"showQuoteColorTheme"})," and set it to ",(0,n.jsx)(t.code,{children:"true"})," by default. If we want to use this component in other blocks, we can use this attribute for showing or hiding Color Theme Options on a specific block that uses the Quote component."]}),"\n",(0,n.jsxs)(t.p,{children:["Additionally, we need to get values for ",(0,n.jsx)(t.code,{children:"quoteUse"})," and ",(0,n.jsx)(t.code,{children:"quoteColorTheme"})," attributes. We can use the ",(0,n.jsx)(t.code,{children:"checkAttr"})," helper which first checks if a block has saved attribute value. If not, it defaults to a value defined in the manifest."]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-js",children:"export const QuoteOptions = (attributes) => {\n\t//...\n\tconst {\n\t\tsetAttributes,\n\t\t//...\n\t\tshowQuoteColorTheme = true,\n\t} = attributes;\n\t//...\n\tconst quoteUse = checkAttr('quoteUse', attributes, manifest);\n\tconst quoteColorTheme = checkAttr('quoteColorTheme', attributes, manifest);\n"})}),"\n",(0,n.jsx)(t.p,{children:"Finally, we add the Color Palette, which we will use for switching color themes."}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-js",children:"return (\n\t<>\n\t\t//...\n\n\t\t{quoteUse &&\n\t\t\t<>\n\t\t\t\t{showQuoteColorTheme &&\n\t\t\t\t\t<ColorPaletteCustom\n\t\t\t\t\t\tlabel={<IconLabel icon={icons.color} label={__('Color Theme', 'es-theme')} />}\n\t\t\t\t\t\tcolors={getOption('quoteColorTheme', attributes, manifest, true)}\n\t\t\t\t\t\tvalue={quoteColorTheme}\n\t\t\t\t\t\tonChange={(value) => setAttributes({ [getAttrKey('quoteColorTheme', attributes, manifest)]: value })}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t//...\n"})}),"\n",(0,n.jsx)(t.p,{children:"The Color Theme option should now be visible and fully functional inside the Quote block."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Color Theme Options",src:o(52799).A+"",width:"275",height:"143"})}),"\n",(0,n.jsx)(t.h2,{id:"adding-transitions-in-the-editor",children:"Adding transitions in the editor"}),"\n",(0,n.jsxs)(t.p,{children:["The options work, but you may notice there is no transition in the editor. It is not necessary but will improve the user experience. Since we do not need transition effects on the frontend, we can add these CSS rules only to the editor. To do that, we start by creating ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"quote-editor.scss"})})," file inside ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"src/Blocks/components/quote"})})," folder."]}),"\n",(0,n.jsx)(t.p,{children:"We add the following CSS:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-css",children:".quote {\n\ttransition: background-color 0.3s ease-in-out;\n\n\t&__icon {\n\t\ttransition: color 0.3s ease-in-out;\n\t}\n}\n"})}),"\n",(0,n.jsxs)(t.p,{children:["Because we've added a new file, we have to run ",(0,n.jsx)(t.code,{children:"npm start"})," again. Now the transition between colors will be much smoother."]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Color Theme Change",src:o(75461).A+"",width:"772",height:"338"})}),"\n",(0,n.jsx)(t.h2,{id:"closing-thoughts",children:"Closing thoughts"}),"\n",(0,n.jsx)(t.p,{children:"In this post, we've covered the whole process of adding a new attribute. It involves a lot of steps and things to keep in mind, but once you get used to it, you'll be able to add quite powerful features to your blocks."}),"\n",(0,n.jsx)(t.p,{children:"One more important thing to keep in mind is the expandability of your attributes. When adding new attributes, don't think just about what you need now, keep in mind that you may need to expand it later."}),"\n",(0,n.jsx)(t.p,{children:'The way we built Color Theme functionality makes adding additional color themes a breeze and can be done in a matter of minutes. For "homework", try adding two more color themes of your choice. Good luck!'})]})}function h(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},75461:(e,t,o)=>{o.d(t,{A:()=>n});const n=o.p+"assets/images/color-theme-change-cd1ede6d92339a8178f33466d37a7e16.gif"},25624:(e,t,o)=>{o.d(t,{A:()=>n});const n=o.p+"assets/images/color-theme-examples-49d717014747712e8921b795e4804944.webp"},52799:(e,t,o)=>{o.d(t,{A:()=>n});const n="data:image/webp;base64,UklGRhAMAABXRUJQVlA4IAQMAAAwPgCdASoTAY8APjEYikQiIaER+ZygIAMEsrdwuwCEDG1bnsn5Afjd8wNSflX3Y/KPopSrdT343+tfur/rvdb/XPYB5gH6Tf5r+cdYrzAfyL+uf9D++exv+x3uW9AD+X/4D0QPYG9Bj9qPS9/Zv4KP2i/Z34Ff5h/Zf/HrRHiP+bfir3vf238ier78Ievf7k7oB6E/w/6v/Zf6B+xn5Ic5vwx/evxV+AL8H/jv9x/Hv8xeMKz39jvUC9a/lX+T/K7+4+ST6MfVX/HfhB9AH8Z/nX+P/qv7Pf1D45/03gteLewB/J/6r/oP77+1395+kz94/z3+c/Lz2lflP9o/2f+W+AP+Rfzv/Jf279zf79///+190Xrj/Zn2OP1q/7wzkVGv2QeSUKjxD3FPkiWvC4UW/ZuFwwj/SK/0eQPbvk1lc0JQt/mI0a/ZB5JQqXfC6QeQuLWYuprBOYhG0nqSMkG7nl6c1i7qGcAe3fJrHQO9/SLBZoTxT7Gsen9fFHGbgCz3CxXiAYhviJevy17b/8EJp+dDkbog8koVLamTinUwawUf5GjLgxr9kHjPbamKanPBXFVmtfmC/xY0pXJGUVA98UEZyHu/Fwu+HZZLD4Lx/cfxCPSPJCbjp3KMIrbBZ0V2p6X2+baDK+qeEgiUKl3w8kBq6gORUa/UAAD+/+zOAe6HeeGk1l65UNSuM0bF4uYzzsTbpVWY2QZvfB2TN//6IV7v6L5v7k6xPhfsWgv+ytMU9wZO0VH9+wnBm2jnEErrjEavQ7GlIojy9fqe5xJ8nqVlyJLoTvdX9gDfCTgU5+ZUkqLTGW7rrgIwIuznRP6AH5CcgtO/V7PcAc2l+P7T5TXmi6GvySrRYto3wP9r8cK4G5SDQsdWmnnBg7M7TgEaysq+PqzyZj0Ih0m4n+mkWIlx7fXJREUnEtvlpqXsAd0iuWR2+TWnExUA+fUcMAH1c3WIijn3EsXSNf/2XL+qv02/WGS3m3eHtf4JGcQcQ458jfquWcC9huRq6///R4ktXpJMPx8IHr2hp71Yck8tkZdveT8fOqGMdvJXDUp5lPoGwjSwkf2NI0OYX/IQ9qGBHAV+tEeWTvlerepMfv3SWDz44zhOV//OFOyEuErEhuJL8Xg5hmLqhFAWow4jHfji0aZNKdIEa99nOOKfHrCvxInfoAoFiZB+qeLZZDZ4qvOreJAtex2v17f47lNVy/ct0eRtvIkilPqfWio7If22x21FkKMjzo6Wh0GUCVG1l/QLO/8DIIP4At/Mo1wgZ3p5S0QiHxuOwlYvaogXfaGM1vNpFY2LjFXgnWv76aSMeQr4VdgSE2RFwLyO9ivvp+7DGUTT8R30JfkmHr6q74AdGsDWZVGDPnnLnUTFSqFUjjzBXYG+bdfbNRGWVPHu0vIWOcYMYodcUe0Jss1lMgDr2B0DDRORv+jrZSM00Tz8E9/yDrrVyHg3QtrgY/4A7o/TyWjvMzcZow8/x00ZCe2Z19S44FS2uYUK5DkvwXpjeMMLS0/ANsSpSP8B+QcMMCNIIfbw9uqpdjnM0xUYZzE4TiGdzICrU62Xazv7LiOAtqvAgqVcqcc+zEcTw9lLNyMX0esqx8P8blT9W70t8M/2+Z/oz1wq2JnnZir9c+qfA7c8ilwJ19q+to9q3JxNzNXEjir+kWCvRfPEpe76XEiXsHaEmPlP01a1MOapkmPAjElKHxaK5wHYQq4TOZnXoK/Rpwk+EdOymYG9d2xCoUEozVCI/Aujkls1piawznh8n9o3s8smRkVVYmcMg9wtDf66BKMj0vnTgTiJvF30+rT0lWPfyG+8c9noWVz8SGG8jEo4Yzl2n7nF8twYUfD5t9ur3h63KI9KXz8/9VXboTtlOkeaxn5QFOZO1jSBso+cAt0pgw/5TYX2VDl/vHmEKaaANEbleLa21vUOyu0zzztbwjv9xR8Amcf9On8DWSyJtmWmI1Ni5bxQgK/sv3ql/y3B+rSbrB5xurswO0JKiWFKfg83z4N9nwctKT1KMJW1JF8AT9WIN1g/Gc8dVbvlOSV2urnIOtjEjXc9qz4NJSnrE1O4AfmOnE411sR77aY5F+84LMY57M/iz/JX8xu9Z36/GYEG5eZFZ9fJATtSiXsV62/zYGTwk9kYPN7Wd69U1oQWshfQB0LHX2iNUm3MHfI+B/lGx93urTxLoWaeKVp3su0bt18cuRcZb8/n19/cWUzezaSDtQolwhPO+4OcTTgTnStENh9ajgzzcWxX6jKkK6hNOKgO++Q9H5ELDWto9uakmxoTGiX9yjHQZLoHg+KfnIjpd3aGLJWJpBrK7jvrfaV/gEheGyczNv/y3Nw2zCgLehm7XyGAIGCGqYovVnW74WJfurVOeQ2jcc9z8dSn80ZE2zerKcmkN59O7Z9eM8JhZIugg6/nbQqmDpYtEdjGfaodgCjPbcKBuGq02ZYH0MN3f5d0LrXEHKy3wlc7wL/i6gXniEDsrVzq6Jqf8m1Mi7bef9y3Nn1YYTewm0e9e+1enyqD7OLjxQiIcAXuno7NRw69qdveSElSly3E3ZkOcub5Ju/lgpbaS3goAA0e7f63l2/MnXCtbdN3ExBCUbS59ZIh9HYx1m4guvskX+s7y32C1S/oTOpun29eDysH6LQGAWC322te5W2l7DHmclE7E+rAyqpg3Q6xwNH6VWAV+pGlS8SZQn1NxcL1tNuBKJh7Vn45C0Xr9lhZo2un6MzaLR5qiitoEE0O+72FbzgQBafRK7AhJX8k1SLX4mCVQBSnYH3a5LzKIVnI46QbHmDM9JmK6L9pPnMLmPGrfQMxBZMJX4hiLb2PRmA+RbLZpEpl6OmrL1Bc4iJDKZGcTrV8uwVhum3Uc4/vGTbAeQTsWv/tt14IiaJlWnuXA/bdIyPFNGXgmjMSmYe9UhOt232fu4eirAsZg5Seyqi0QIZjDZ0jQyLYf8TGZMCJkaXkcbZ3F33LkJX3cp3yQK5gPcUBNwanurYmtdJ8/OnTbsIyxUQjFCvOMx85NJe150VQwQY5J35i0Qg5KbzNxyoMRGLf9laggibbFTGkx/hI9FYxQv3EAAj6DIC2Fh6ma6NuE6l+mxCxQ7w/YeLX7MGnk2XFIbeQH35EBbfc5mTtvbAJspp2biXn3uPQLtnhiL1QuY/eWW9IupCVy+YBxsB3//Jrj5vEdqaO5iyzCzV9Sh97AkgXZBY/hKYNgwLhPEQ0u4kB0vwdZwDQxs4aU317qfUcAzoiT7eKgq1eAurgOv+oy9PJXSGci9LD0fyMUm+msR+2W60EwHCR5AlMvhI1GRe4ImHN2ZQQY4ZXzgYz6Frnm4OS59+sZc0ZOnXvb99Mb0oCJIYuky8PeKTWX/numfGBxMptVN4qBU7FRBiZ/78EdDQ4wbiVRT8pn3AagjJVXLPAsVskO6P66RlsYUfGCT9n/DCbsfAwZjgjAOTgX/D62oEY1HTW4eoBt33qZHlaQUJrTDthhXzKF/wi8ttkCoZxO5xANkC0YTvS7mmk2vYo9ZeKicrOZ0ADletPSOv/qFA94JxEPQpa+3dDHySBo0xd6x9+exV5gS/4Y2eCHvkRv7ctEq7DVnl1Wq3E29BcTUO6TrgGTJuOX6oXWkDamoL2pYeoDicImv1kR24sAeBtF+gZhNDRhTK3UO/6JkEY6J9/D4sUwrr71t+wlEoPfFSZxb2hMbu3Lk2aM8kPdCvi0ns2jd4T4Q6rsaywFrxbzGjJHoWrms4XlN+ULQlbAQH+lhzz6IJb53MEMn3t3iOdt0KU6Jk9p5vmk2jQpqu7YI2QKBHEh4ztERsSYo85MPP32tMox+V8jpwAtBcl8VGqtNfRWP5h+9ZhRsuC0L/I88l6rj8JaVksQjTcByezrZD199Bgh3jqc/D5YQELPNiYyjB9ESD2e9aA/ramnRI2xODla2XCgwwNy0sIqsaIaaesHn3nk8HxeePIW06WPCGEY9OH3O+4vu8V4sh6roxCRooW90BfiPYZvkvV5u5hnQmxBWUhIRkjJQTPbEjg97qUZ3lyCnDpOnAzTEnvhxMIjGMPBlRTmaJmQFz3NsnpU5NqPXmbmjnYgHd9GljSAAAAAAAA"},28453:(e,t,o)=>{o.d(t,{R:()=>l,x:()=>r});var n=o(96540);const i={},s=n.createContext(i);function l(e){const t=n.useContext(s);return n.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(i):e.components||i:l(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ae8e07b1.e59b6aae.js b/assets/js/ae8e07b1.e59b6aae.js deleted file mode 100644 index be2d31951..000000000 --- a/assets/js/ae8e07b1.e59b6aae.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[4264],{53728:e=>{e.exports=JSON.parse('{"pluginId":"forms","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"forms":[{"type":"category","label":"Getting Started","items":[{"type":"link","label":"Welcome","href":"/forms/welcome","docId":"welcome","unlisted":false},{"type":"link","label":"Basics","href":"/forms/basics","docId":"basics","unlisted":false},{"type":"link","label":"Your first form","href":"/forms/first-form","docId":"first-form","unlisted":false},{"type":"category","label":"Features","items":[{"type":"link","label":"Dashboard","href":"/forms/features/dashboard","docId":"features/dashboard","unlisted":false},{"type":"link","label":"Conditional tags","href":"/forms/features/conditional-tags","docId":"features/conditional-tags","unlisted":false},{"type":"link","label":"Enrichment","href":"/forms/features/enrichment","docId":"features/enrichment","unlisted":false},{"type":"link","label":"Geolocation","href":"/forms/features/geolocation","docId":"features/geolocation","unlisted":false},{"type":"link","label":"Validation","href":"/forms/features/validation","docId":"features/validation","unlisted":false},{"type":"link","label":"Multi-steps forms","href":"/forms/features/multisteps-forms","docId":"features/multisteps-forms","unlisted":false},{"type":"link","label":"Spam prevention","href":"/forms/features/spam-prevention","docId":"features/spam-prevention","unlisted":false},{"type":"link","label":"Success redirects","href":"/forms/features/success-redirect","docId":"features/success-redirect","unlisted":false},{"type":"link","label":"Tracking","href":"/forms/features/tracking","docId":"features/tracking","unlisted":false},{"type":"link","label":"Security","href":"/forms/features/security","docId":"features/security","unlisted":false},{"type":"link","label":"Labels","href":"/forms/features/labels","docId":"features/labels","unlisted":false},{"type":"link","label":"Locations","href":"/forms/features/locations","docId":"features/locations","unlisted":false},{"type":"link","label":"Cache","href":"/forms/features/cache","docId":"features/cache","unlisted":false},{"type":"link","label":"Debugging","href":"/forms/features/debug","docId":"features/debug","unlisted":false},{"type":"link","label":"Fallback e-mails","href":"/forms/features/fallback-emails","docId":"features/fallback-emails","unlisted":false},{"type":"link","label":"Import/Export","href":"/forms/features/import-export","docId":"features/import-export","unlisted":false},{"type":"link","label":"Migrations","href":"/forms/features/migrations","docId":"features/migrations","unlisted":false},{"type":"link","label":"Cloudflare","href":"/forms/features/cloudflare","docId":"features/cloudflare","unlisted":false},{"type":"link","label":"Country list","href":"/forms/features/country-list","docId":"features/country-list","unlisted":false},{"type":"link","label":"WPML","href":"/forms/features/wpml","docId":"features/wpml","unlisted":false},{"type":"link","label":"Entries","href":"/forms/features/entries","docId":"features/entries","unlisted":false},{"type":"link","label":"Show As","href":"/forms/features/show-as","docId":"features/show-as","unlisted":false},{"type":"link","label":"Result output","href":"/forms/features/result-output","docId":"features/result-output","unlisted":false},{"type":"link","label":"Single submit","href":"/forms/features/single-submit","docId":"features/single-submit","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Integrations","items":[{"type":"link","label":"Intro","href":"/forms/integrations/intro","docId":"integrations/intro","unlisted":false},{"type":"link","label":"ActiveCampaign","href":"/forms/integrations/active-campaign","docId":"integrations/active-campaign","unlisted":false},{"type":"link","label":"Airtable","href":"/forms/integrations/airtable","docId":"integrations/airtable","unlisted":false},{"type":"link","label":"Calculator","href":"/forms/integrations/calculator","docId":"integrations/calculator","unlisted":false},{"type":"link","label":"Clearbit","href":"/forms/integrations/clearbit","docId":"integrations/clearbit","unlisted":false},{"type":"link","label":"Goodbits","href":"/forms/integrations/goodbits","docId":"integrations/goodbits","unlisted":false},{"type":"link","label":"Greenhouse","href":"/forms/integrations/greenhouse","docId":"integrations/greenhouse","unlisted":false},{"type":"link","label":"Hubspot","href":"/forms/integrations/hubspot","docId":"integrations/hubspot","unlisted":false},{"type":"link","label":"Jira","href":"/forms/integrations/jira","docId":"integrations/jira","unlisted":false},{"type":"link","label":"Mailchimp","href":"/forms/integrations/mailchimp","docId":"integrations/mailchimp","unlisted":false},{"type":"link","label":"Mailer","href":"/forms/integrations/mailer","docId":"integrations/mailer","unlisted":false},{"type":"link","label":"MailerLite","href":"/forms/integrations/mailerlite","docId":"integrations/mailerlite","unlisted":false},{"type":"link","label":"Moments","href":"/forms/integrations/moments","docId":"integrations/moments","unlisted":false},{"type":"link","label":"Workable","href":"/forms/integrations/workable","docId":"integrations/workable","unlisted":false},{"type":"link","label":"Pipedrive","href":"/forms/integrations/pipedrive","docId":"integrations/pipedrive","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","label":"Known issues","href":"/forms/known-issues","docId":"known-issues","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Customization","items":[{"type":"category","label":"PHP","items":[{"type":"link","label":"Intro","href":"/forms/php/intro","docId":"php/intro","unlisted":false},{"type":"category","label":"Global variables","items":[{"type":"link","label":"How to use?","href":"/forms/php/global-variables/how-to-use","docId":"php/global-variables/how-to-use","unlisted":false},{"type":"link","label":"Geolocation","href":"/forms/php/global-variables/geolocation","docId":"php/global-variables/geolocation","unlisted":false},{"type":"link","label":"Google reCaptcha","href":"/forms/php/global-variables/google-recaptcha","docId":"php/global-variables/google-recaptcha","unlisted":false},{"type":"category","label":"Integrations","items":[{"type":"link","label":"Active Campaign","href":"/forms/php/global-variables/integrations/active-campaign","docId":"php/global-variables/integrations/active-campaign","unlisted":false},{"type":"link","label":"Airtable","href":"/forms/php/global-variables/integrations/airtable","docId":"php/global-variables/integrations/airtable","unlisted":false},{"type":"link","label":"Clearbit","href":"/forms/php/global-variables/integrations/clearbit","docId":"php/global-variables/integrations/clearbit","unlisted":false},{"type":"link","label":"Goodbits","href":"/forms/php/global-variables/integrations/goodbits","docId":"php/global-variables/integrations/goodbits","unlisted":false},{"type":"link","label":"Greenhouse","href":"/forms/php/global-variables/integrations/greenhouse","docId":"php/global-variables/integrations/greenhouse","unlisted":false},{"type":"link","label":"Hubspot","href":"/forms/php/global-variables/integrations/hubspot","docId":"php/global-variables/integrations/hubspot","unlisted":false},{"type":"link","label":"Jira","href":"/forms/php/global-variables/integrations/jira","docId":"php/global-variables/integrations/jira","unlisted":false},{"type":"link","label":"Mailchimp","href":"/forms/php/global-variables/integrations/mailchimp","docId":"php/global-variables/integrations/mailchimp","unlisted":false},{"type":"link","label":"MailerLite","href":"/forms/php/global-variables/integrations/mailerlite","docId":"php/global-variables/integrations/mailerlite","unlisted":false},{"type":"link","label":"Moments","href":"/forms/php/global-variables/integrations/moments","docId":"php/global-variables/integrations/moments","unlisted":false},{"type":"link","label":"Workable","href":"/forms/php/global-variables/integrations/workable","docId":"php/global-variables/integrations/workable","unlisted":false},{"type":"link","label":"Pipedrive","href":"/forms/php/global-variables/integrations/pipedrive","docId":"php/global-variables/integrations/pipedrive","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"link","label":"Helpers","href":"/forms/php/helpers","docId":"php/helpers","unlisted":false},{"type":"category","label":"Filters","items":[{"type":"link","label":"How to use?","href":"/forms/php/filters/how-to-use","docId":"php/filters/how-to-use","unlisted":false},{"type":"category","label":"Block","items":[{"type":"category","label":"Forms","items":[{"type":"link","label":"Custom form styles","href":"/forms/php/filters/block/forms/style-options","docId":"php/filters/block/forms/style-options","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Form","items":[{"type":"link","label":"Redirect timeout","href":"/forms/php/filters/block/form/redirect-timeout","docId":"php/filters/block/form/redirect-timeout","unlisted":false},{"type":"link","label":"Global message timeout","href":"/forms/php/filters/block/form/hide-global-msg-timeout","docId":"php/filters/block/form/hide-global-msg-timeout","unlisted":false},{"type":"link","label":"Success redirect URL","href":"/forms/php/filters/block/form/success-redirect-url","docId":"php/filters/block/form/success-redirect-url","unlisted":false},{"type":"link","label":"Success redirect variation","href":"/forms/php/filters/block/form/success-redirect-variation","docId":"php/filters/block/form/success-redirect-variation","unlisted":false},{"type":"link","label":"Success redirect variation options","href":"/forms/php/filters/block/form/success-redirect-variation-options","docId":"php/filters/block/form/success-redirect-variation-options","unlisted":false},{"type":"link","label":"Tracking event name","href":"/forms/php/filters/block/form/tracking-event-name","docId":"php/filters/block/form/tracking-event-name","unlisted":false},{"type":"link","label":"Tracking additional data","href":"/forms/php/filters/block/form/tracking-additional-data","docId":"php/filters/block/form/tracking-additional-data","unlisted":false},{"type":"link","label":"Data type selector","href":"/forms/php/filters/block/form/data-type-selector","docId":"php/filters/block/form/data-type-selector","unlisted":false},{"type":"link","label":"Phone sync","href":"/forms/php/filters/block/form/phone-sync","docId":"php/filters/block/form/phone-sync","unlisted":false},{"type":"link","label":"Global msg headings","href":"/forms/php/filters/block/form/global-msg-headings","docId":"php/filters/block/form/global-msg-headings","unlisted":false},{"type":"link","label":"Additional content","href":"/forms/php/filters/block/form/additional-content","docId":"php/filters/block/form/additional-content","unlisted":false},{"type":"link","label":"Pre-Response add-on Data","href":"/forms/php/filters/block/form/pre-response-addon-data","docId":"php/filters/block/form/pre-response-addon-data","unlisted":false},{"type":"link","label":"Pre-Response Success Redirect Data","href":"/forms/php/filters/block/form/pre-response-success-redirect-data","docId":"php/filters/block/form/pre-response-success-redirect-data","unlisted":false},{"type":"link","label":"Additional hidden fields","href":"/forms/php/filters/block/form/additional-hidden-fields","docId":"php/filters/block/form/additional-hidden-fields","unlisted":false},{"type":"link","label":"Result output items","href":"/forms/php/filters/block/form/result-output-items","docId":"php/filters/block/form/result-output-items","unlisted":false},{"type":"link","label":"Result output parts","href":"/forms/php/filters/block/form/result-output-parts","docId":"php/filters/block/form/result-output-parts","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Form selector","items":[{"type":"link","label":"Form templates","href":"/forms/php/filters/block/form-selector/form-templates","docId":"php/filters/block/form-selector/form-templates","unlisted":false},{"type":"link","label":"Additional content","href":"/forms/php/filters/block/form-selector/additional-content","docId":"php/filters/block/form-selector/additional-content","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Field","items":[{"type":"link","label":"Custom field styles","href":"/forms/php/filters/block/field/style-options","docId":"php/filters/block/field/style-options","unlisted":false},{"type":"link","label":"Custom field classes","href":"/forms/php/filters/block/field/style-classes","docId":"php/filters/block/field/style-classes","unlisted":false},{"type":"link","label":"Additional content","href":"/forms/php/filters/block/field/additional-content","docId":"php/filters/block/field/additional-content","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Input","items":[{"type":"link","label":"Additional content","href":"/forms/php/filters/block/input/additional-content","docId":"php/filters/block/input/additional-content","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Textarea","items":[{"type":"link","label":"Additional content","href":"/forms/php/filters/block/textarea/additional-content","docId":"php/filters/block/textarea/additional-content","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Select","items":[{"type":"link","label":"Additional content","href":"/forms/php/filters/block/select/additional-content","docId":"php/filters/block/select/additional-content","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"File","items":[{"type":"link","label":"Uploaded item remove button label","href":"/forms/php/filters/block/file/preview-remove-label","docId":"php/filters/block/file/preview-remove-label","unlisted":false},{"type":"link","label":"Additional content","href":"/forms/php/filters/block/file/additional-content","docId":"php/filters/block/file/additional-content","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Checkboxes","items":[{"type":"link","label":"Additional content","href":"/forms/php/filters/block/checkboxes/additional-content","docId":"php/filters/block/checkboxes/additional-content","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Radios","items":[{"type":"link","label":"Additional content","href":"/forms/php/filters/block/radios/additional-content","docId":"php/filters/block/radios/additional-content","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Phone","items":[{"type":"link","label":"Additional content","href":"/forms/php/filters/block/phone/additional-content","docId":"php/filters/block/phone/additional-content","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Country","items":[{"type":"link","label":"Alternative datasets","href":"/forms/php/filters/block/country/alternative-data-set","docId":"php/filters/block/country/alternative-data-set","unlisted":false},{"type":"link","label":"Additional content","href":"/forms/php/filters/block/country/additional-content","docId":"php/filters/block/country/additional-content","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Date","items":[{"type":"link","label":"Additional content","href":"/forms/php/filters/block/date/additional-content","docId":"php/filters/block/date/additional-content","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Submit","items":[{"type":"link","label":"Custom form submit button","href":"/forms/php/filters/block/submit/component","docId":"php/filters/block/submit/component","unlisted":false},{"type":"link","label":"Additional content","href":"/forms/php/filters/block/submit/additional-content","docId":"php/filters/block/submit/additional-content","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Step","items":[{"type":"link","label":"Multi-step form \\"Previous\\" button","href":"/forms/php/filters/block/step/component-prev","docId":"php/filters/block/step/component-prev","unlisted":false},{"type":"link","label":"Multi-step form \\"Next\\" button","href":"/forms/php/filters/block/step/component-next","docId":"php/filters/block/step/component-next","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Rating","items":[{"type":"link","label":"Additional content","href":"/forms/php/filters/block/rating/additional-content","docId":"php/filters/block/rating/additional-content","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Blocks","items":[{"type":"link","label":"Allowed blocks","href":"/forms/php/filters/blocks/allowed-blocks","docId":"php/filters/blocks/allowed-blocks","unlisted":false},{"type":"link","label":"Additional blocks","href":"/forms/php/filters/blocks/additional-blocks","docId":"php/filters/blocks/additional-blocks","unlisted":false},{"type":"link","label":"Media breakpoints","href":"/forms/php/filters/blocks/media-breakpoints","docId":"php/filters/blocks/media-breakpoints","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"General","items":[{"type":"link","label":"HTTP request timeout","href":"/forms/php/filters/general/http-request-timeout","docId":"php/filters/general/http-request-timeout","unlisted":false},{"type":"link","label":"Locale","href":"/forms/php/filters/general/locale","docId":"php/filters/general/locale","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Scripts","items":[{"type":"link","label":"Dependency admin","href":"/forms/php/filters/scripts/dependency-admin","docId":"php/filters/scripts/dependency-admin","unlisted":false},{"type":"link","label":"Dependency theme","href":"/forms/php/filters/scripts/dependency-theme","docId":"php/filters/scripts/dependency-theme","unlisted":false},{"type":"link","label":"Dependency blocks editor","href":"/forms/php/filters/scripts/dependency-blocks-editor","docId":"php/filters/scripts/dependency-blocks-editor","unlisted":false},{"type":"link","label":"Dependency blocks frontend","href":"/forms/php/filters/scripts/dependency-blocks-frontend","docId":"php/filters/scripts/dependency-blocks-frontend","unlisted":false},{"type":"link","label":"Routes public","href":"/forms/php/filters/scripts/routes-public","docId":"php/filters/scripts/routes-public","unlisted":false},{"type":"link","label":"Routes private","href":"/forms/php/filters/scripts/routes-private","docId":"php/filters/scripts/routes-private","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Geolocation","items":[{"type":"link","label":"DB location","href":"/forms/php/filters/geolocation/db-location","docId":"php/filters/geolocation/db-location","unlisted":false},{"type":"link","label":"Phar location","href":"/forms/php/filters/geolocation/phar-location","docId":"php/filters/geolocation/phar-location","unlisted":false},{"type":"link","label":"Countries","href":"/forms/php/filters/geolocation/countries","docId":"php/filters/geolocation/countries","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Integrations","items":[{"type":"link","label":"ActiveCampaign","href":"/forms/php/filters/integrations/active-campaign","docId":"php/filters/integrations/active-campaign","unlisted":false},{"type":"link","label":"Airtable","href":"/forms/php/filters/integrations/airtable","docId":"php/filters/integrations/airtable","unlisted":false},{"type":"link","label":"Calculator","href":"/forms/php/filters/integrations/calculator","docId":"php/filters/integrations/calculator","unlisted":false},{"type":"link","label":"Clearbit","href":"/forms/php/filters/integrations/clearbit","docId":"php/filters/integrations/clearbit","unlisted":false},{"type":"link","label":"Goodbits","href":"/forms/php/filters/integrations/goodbits","docId":"php/filters/integrations/goodbits","unlisted":false},{"type":"link","label":"Greenhouse","href":"/forms/php/filters/integrations/greenhouse","docId":"php/filters/integrations/greenhouse","unlisted":false},{"type":"link","label":"HubSpot","href":"/forms/php/filters/integrations/hubspot","docId":"php/filters/integrations/hubspot","unlisted":false},{"type":"link","label":"Jira","href":"/forms/php/filters/integrations/jira","docId":"php/filters/integrations/jira","unlisted":false},{"type":"link","label":"Mailchimp","href":"/forms/php/filters/integrations/mailchimp","docId":"php/filters/integrations/mailchimp","unlisted":false},{"type":"link","label":"Mailer","href":"/forms/php/filters/integrations/mailer","docId":"php/filters/integrations/mailer","unlisted":false},{"type":"link","label":"MailerLite","href":"/forms/php/filters/integrations/mailerlite","docId":"php/filters/integrations/mailerlite","unlisted":false},{"type":"link","label":"Moments","href":"/forms/php/filters/integrations/moments","docId":"php/filters/integrations/moments","unlisted":false},{"type":"link","label":"Workable","href":"/forms/php/filters/integrations/workable","docId":"php/filters/integrations/workable","unlisted":false},{"type":"link","label":"Pipedrive","href":"/forms/php/filters/integrations/pipedrive","docId":"php/filters/integrations/pipedrive","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Entries","items":[{"type":"link","label":"Pre-Post Params","href":"/forms/php/filters/entries/pre-post-params","docId":"php/filters/entries/pre-post-params","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Enrichment","items":[{"type":"link","label":"Manual map","href":"/forms/php/filters/enrichment/manual-map","docId":"php/filters/enrichment/manual-map","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Validation","items":[{"type":"link","label":"Force mimetype from FS","href":"/forms/php/filters/validation/force-mimetype-from-fs","docId":"php/filters/validation/force-mimetype-from-fs","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Admin","items":[{"type":"link","label":"Settings data","href":"/forms/php/filters/admin/settings-data","docId":"php/filters/admin/settings-data","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Actions","items":[{"type":"link","label":"How to use?","href":"/forms/php/actions/how-to-use","docId":"php/actions/how-to-use","unlisted":false},{"type":"link","label":"Migrations","href":"/forms/php/actions/migrations","docId":"php/actions/migrations","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","label":"Shortcodes","href":"/forms/php/shortcodes","docId":"php/shortcodes","unlisted":false},{"type":"link","label":"WP-CLI","href":"/forms/php/wp-cli","docId":"php/wp-cli","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"JavaScript","items":[{"type":"link","label":"Intro","href":"/forms/javascript/intro","docId":"javascript/intro","unlisted":false},{"type":"category","label":"Events","items":[{"type":"link","label":"Available events","href":"/forms/javascript/events/available-events","docId":"javascript/events/available-events","unlisted":false},{"type":"link","label":"How to use?","href":"/forms/javascript/events/how-to-use","docId":"javascript/events/how-to-use","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"State","items":[{"type":"link","label":"How to use?","href":"/forms/javascript/state/how-to-use","docId":"javascript/state/how-to-use","unlisted":false},{"type":"link","label":"State","href":"/forms/javascript/state/","docId":"javascript/state/state","unlisted":false},{"type":"link","label":"Store","href":"/forms/javascript/state/store","docId":"javascript/state/store","unlisted":false},{"type":"link","label":"Form","href":"/forms/javascript/state/form","docId":"javascript/state/form","unlisted":false},{"type":"link","label":"Utils","href":"/forms/javascript/state/utils","docId":"javascript/state/utils","unlisted":false},{"type":"link","label":"Conditional tags","href":"/forms/javascript/state/conditional-tags","docId":"javascript/state/conditional-tags","unlisted":false},{"type":"link","label":"Enrichment","href":"/forms/javascript/state/enrichment","docId":"javascript/state/enrichment","unlisted":false},{"type":"link","label":"Step","href":"/forms/javascript/state/step","docId":"javascript/state/step","unlisted":false},{"type":"link","label":"Captcha","href":"/forms/javascript/state/captcha","docId":"javascript/state/captcha","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","label":"Manual initiation","href":"/forms/javascript/manual-initiation","docId":"javascript/manual-initiation","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Tutorials","items":[{"type":"link","label":"Playlist","href":"/forms/tutorials/playlist","docId":"tutorials/playlist","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Addon plugins","items":[{"type":"link","label":"Intro","href":"/forms/addons/intro","docId":"addons/intro","unlisted":false},{"type":"category","label":"Free","items":[{"type":"link","label":"Intro","href":"/forms/addons/free/intro","docId":"addons/free/intro","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Premium","items":[{"type":"link","label":"Intro","href":"/forms/addons/premium/intro","docId":"addons/premium/intro","unlisted":false},{"type":"category","label":"Computed fields","items":[{"type":"link","label":"Intro","href":"/forms/addons/premium/computed-fields/intro","docId":"addons/premium/computed-fields/intro","unlisted":false},{"type":"link","label":"How to use?","href":"/forms/addons/premium/computed-fields/how-to-use","docId":"addons/premium/computed-fields/how-to-use","unlisted":false},{"type":"link","label":"Settings","href":"/forms/addons/premium/computed-fields/settings","docId":"addons/premium/computed-fields/settings","unlisted":false},{"type":"link","label":"Blocks","href":"/forms/addons/premium/computed-fields/blocks","docId":"addons/premium/computed-fields/blocks","unlisted":false},{"type":"link","label":"Data flow","href":"/forms/addons/premium/computed-fields/data-flow","docId":"addons/premium/computed-fields/data-flow","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Create an addon","items":[{"type":"link","label":"Intro","href":"/forms/addons/create/intro","docId":"addons/create/intro","unlisted":false},{"type":"link","label":"Utils library","href":"/forms/addons/create/utils-library","docId":"addons/create/utils-library","unlisted":false},{"type":"link","label":"Requirements","href":"/forms/addons/create/requirements","docId":"addons/create/requirements","unlisted":false},{"type":"link","label":"Add-on boilerplate","href":"/forms/addons/create/addon-boilerplate","docId":"addons/create/addon-boilerplate","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}]},"docs":{"addons/create/addon-boilerplate":{"id":"addons/create/addon-boilerplate","title":"Add-on boilerplate","description":"We have created a boilerplate for creating a new add-on for the Eightshift Forms plugin. This boilerplate will help you to create a new add-on with the correct structure and naming conventions.","sidebar":"forms"},"addons/create/intro":{"id":"addons/create/intro","title":"Intro","description":"Eightshift Forms provides ability to use add-ons to extend the functionality of the plugin. This documentation will guide you through the process of creating a new add-on for the Eightshift Forms plugin.","sidebar":"forms"},"addons/create/requirements":{"id":"addons/create/requirements","title":"Requirements","description":"Add-on naming convention","sidebar":"forms"},"addons/create/utils-library":{"id":"addons/create/utils-library","title":"Utils library","description":"In order to provide a better experience for developers, we have created a library of utility functions that can be used in your add-on plugin. This library is available in the Eightshift Forms Utils package.","sidebar":"forms"},"addons/free/intro":{"id":"addons/free/intro","title":"Intro","description":"Free plugins:","sidebar":"forms"},"addons/intro":{"id":"addons/intro","title":"Intro","description":"Starting from version 3 of Eightshift Forms, custom add-on plugins are now supported, which can be used along with the main plugin to enhance its functionality.","sidebar":"forms"},"addons/premium/computed-fields/blocks":{"id":"addons/premium/computed-fields/blocks","title":"Blocks","description":"Computed fields results block","sidebar":"forms"},"addons/premium/computed-fields/data-flow":{"id":"addons/premium/computed-fields/data-flow","title":"Data flow","description":"Here\'s how data flow in the Computed fields add-on works:","sidebar":"forms"},"addons/premium/computed-fields/how-to-use":{"id":"addons/premium/computed-fields/how-to-use","title":"How to use?","description":"To use Computed Fields, you must:","sidebar":"forms"},"addons/premium/computed-fields/intro":{"id":"addons/premium/computed-fields/intro","title":"Intro","description":"Computed Fields add-on provides the ability to do more advanced calculations and complex logic using a custom, PHP-based programming language. Multiple output variables can be set to further customize the output.","sidebar":"forms"},"addons/premium/computed-fields/settings":{"id":"addons/premium/computed-fields/settings","title":"Settings","description":"Computed fields setting","sidebar":"forms"},"addons/premium/intro":{"id":"addons/premium/intro","title":"Intro","description":"Premium plugins:","sidebar":"forms"},"basics":{"id":"basics","title":"Basics","description":"How to use it?","sidebar":"forms"},"features/cache":{"id":"features/cache","title":"Cache","description":"Eightshift Forms utilizes WordPress\'s internal cache tools to store integration API response data, reducing API calls and improving site performance. Clear the cache via our global settings page to retrieve fresh data from the API.","sidebar":"forms"},"features/cloudflare":{"id":"features/cloudflare","title":"Cloudflare","description":"What is Cloudflare?","sidebar":"forms"},"features/conditional-tags":{"id":"features/conditional-tags","title":"Conditional tags","description":"Conditional tags are a useful tool that enables you to display or hide form fields based on various conditions.","sidebar":"forms"},"features/country-list":{"id":"features/country-list","title":"Country list","description":"DataHub is the primary country database in Eightshift forms, as it\'s the most complete and up-to-date list of countries. This plugin is not biased towards any country, nor does it have any political agenda. Please forward any country list-specific feedback towards DataHub.","sidebar":"forms"},"features/dashboard":{"id":"features/dashboard","title":"Dashboard","description":"The dashboards gives you an overview of the currently active features and enables activating and deactivating of them.","sidebar":"forms"},"features/debug":{"id":"features/debug","title":"Debugging","description":"The debugging screen provides configuration options and overrides default functionalities for developers, but caution should be used as these options can break form functionality.","sidebar":"forms"},"features/enrichment":{"id":"features/enrichment","title":"Enrichment","description":"Enrichment","sidebar":"forms"},"features/entries":{"id":"features/entries","title":"Entries","description":"Entries collection will allow you to store every form submission in the database and preview the data from WordPress admin.","sidebar":"forms"},"features/fallback-emails":{"id":"features/fallback-emails","title":"Fallback e-mails","description":"Fallback email options are used in multiple locations, and we encourage you to set them up. You can add multiple emails by separating them with commas.","sidebar":"forms"},"features/geolocation":{"id":"features/geolocation","title":"Geolocation","description":"Geolocation is a feature that allows you to show different versions of the forms based on the user\'s geolocation location.","sidebar":"forms"},"features/import-export":{"id":"features/import-export","title":"Import/Export","description":"The import/export feature enables forms to be easily transferred between projects, allowing for efficient creation and modification across different environments.","sidebar":"forms"},"features/labels":{"id":"features/labels","title":"Labels","description":"We use multiple multiple labels to show all the necessary information the user needs to know, like the field label, error message, and success message, etc.","sidebar":"forms"},"features/locations":{"id":"features/locations","title":"Locations","description":"Forms can be used in multiple locations, like a contact form on the contact page and a newsletter form in the footer. To make options to find you forms usage you can use locations feature.","sidebar":"forms"},"features/migrations":{"id":"features/migrations","title":"Migrations","description":"As forms evolve, so does the code, and it is inevitable that we will produce some breaking changes in the future. To make sure that your forms are always up to date, we provide a migration system that will help you migrate your forms to the latest version.","sidebar":"forms"},"features/multisteps-forms":{"id":"features/multisteps-forms","title":"Multi-steps forms","description":"By utilizing the multi-step feature, you can craft a wide variety of custom forms. Each form can comprise of numerous steps with fields, validation, and actions. Moreover, you can establish a flow between steps, bypassing certain steps based on the user\'s input.","sidebar":"forms"},"features/result-output":{"id":"features/result-output","title":"Result output","description":"Result output allows displaying user-defined blocks after the form is submitted successfully.","sidebar":"forms"},"features/security":{"id":"features/security","title":"Security","description":"The security feature enables you to enhance the security of your forms. Our rate-limiting function keeps track of user requests and compares them to the set limit.","sidebar":"forms"},"features/show-as":{"id":"features/show-as","title":"Show As","description":"When using the Show As option, you can change how form fields are displayed to your users, even if they are defined differently in the external integration. For instance, if an integration does not have a checkbox field but does have a select field, you can pull the select field from the external integration and display it to your users as a checkbox, and vice versa.","sidebar":"forms"},"features/single-submit":{"id":"features/single-submit","title":"Single submit","description":"Single submit is a feature that allows dynamic processing of a form when user makes any change on the form. This is useful for forms that require users to perform calculations, such as a mortgage calculator or a loan calculator.","sidebar":"forms"},"features/spam-prevention":{"id":"features/spam-prevention","title":"Spam prevention","description":"We use Google reCAPTCHA service for spam prevention. You can use the free version or the Enterprise version of reCAPTCHA v3.","sidebar":"forms"},"features/success-redirect":{"id":"features/success-redirect","title":"Success redirects","description":"By default, when you submit a form, a success message is displayed on the same page. If you want to redirect the user to a different page, you can enable the Success redirects feature. This option can be found in each integration\'s Form settings, or in Global settings.","sidebar":"forms"},"features/tracking":{"id":"features/tracking","title":"Tracking","description":"The tracking feature allows you to track form submissions by pushing the dataLayer event to Google Tag Manager. To activate this feature, you must provide the custom event name using the individual form setting page.","sidebar":"forms"},"features/validation":{"id":"features/validation","title":"Validation","description":"Validation is used to ensure that the form is populated in the correct way and that the data is valid. Every field has a set of validation rules that can be configured from the form builder.","sidebar":"forms"},"features/wpml":{"id":"features/wpml","title":"WPML","description":"WPML is plugin that allows multi-lingual functionality for the website, allowing features like post and media translations. Eightshift Forms is fully compatible with WPML, and allows adding language variants (translations) to forms.","sidebar":"forms"},"first-form":{"id":"first-form","title":"Your first form","description":"Adding your first form and displaying it on the frontend is simple:","sidebar":"forms"},"integrations/active-campaign":{"id":"integrations/active-campaign","title":"ActiveCampaign","description":"ActiveCampaign is an integrated email marketing, automation, sales software, and CRM platform.","sidebar":"forms"},"integrations/airtable":{"id":"integrations/airtable","title":"Airtable","description":"Airtable is an platform that makes it easy to build powerful, custom applications.","sidebar":"forms"},"integrations/calculator":{"id":"integrations/calculator","title":"Calculator","description":"Calculator is a service that allows turning a form into a calculator with custom programmable logic. For example, you can build a mortgage calculator.","sidebar":"forms"},"integrations/clearbit":{"id":"integrations/clearbit","title":"Clearbit","description":"Clearbit is an marketing intelligence tool that you can use to effectively get quality B2B data for understanding customers, identifying prospects, and creating personalised marketing and sales exchanges.","sidebar":"forms"},"integrations/goodbits":{"id":"integrations/goodbits","title":"Goodbits","description":"Goodbits is an service that helps you and your business create stellar newsletters from the best links your team and customers are reading.","sidebar":"forms"},"integrations/greenhouse":{"id":"integrations/greenhouse","title":"Greenhouse","description":"Greenhouse is an sourcing automation tool to help hiring teams find, reach and engage top talent quickly and effectively.","sidebar":"forms"},"integrations/hubspot":{"id":"integrations/hubspot","title":"Hubspot","description":"Hubspot is an CRM platform that connects everything scaling companies need to deliver a best-in-class customer experience into one place.","sidebar":"forms"},"integrations/intro":{"id":"integrations/intro","title":"Intro","description":"Integrations with external services give Eightshift Forms its power of automation. You can connect your forms with any supported services and send data to them. In general, we support two ways of form connections.","sidebar":"forms"},"integrations/jira":{"id":"integrations/jira","title":"Jira","description":"Jira is an marketing intelligence tool that you can use to effectively get quality B2B data for understanding customers, identifying prospects, and creating personalised marketing and sales exchanges.","sidebar":"forms"},"integrations/mailchimp":{"id":"integrations/mailchimp","title":"Mailchimp","description":"Mailchimp is an comprehensive email marketing platform that fulfills all your requirements of email correspondence with customers, affiliates, and more.","sidebar":"forms"},"integrations/mailer":{"id":"integrations/mailer","title":"Mailer","description":"Mailer is not and integrations service but a internal service used to send emails. You can connect mailer service with any of the integration services to send emails to your customers.","sidebar":"forms"},"integrations/mailerlite":{"id":"integrations/mailerlite","title":"MailerLite","description":"MailerLite is an email service provider that makes it easier to plan email marketing campaigns for any growing business.","sidebar":"forms"},"integrations/moments":{"id":"integrations/moments","title":"Moments","description":"Moments is an service that allows you to easily send relevant content derived from important customer information, their interests, and activities.","sidebar":"forms"},"integrations/pipedrive":{"id":"integrations/pipedrive","title":"Pipedrive","description":"Pipedrive is a web-based Sales CRM and pipeline management solution that enables businesses to plan their sales activities and monitor deals.","sidebar":"forms"},"integrations/workable":{"id":"integrations/workable","title":"Workable","description":"Workable is an sourcing automation tool to help hiring teams find, reach and engage top talent quickly and effectively.","sidebar":"forms"},"javascript/events/available-events":{"id":"javascript/events/available-events","title":"Available events","description":"You can listen to these events by using the on method on the Event facade.","sidebar":"forms"},"javascript/events/how-to-use":{"id":"javascript/events/how-to-use","title":"How to use?","description":"esFormsAfterCaptchaInit","sidebar":"forms"},"javascript/intro":{"id":"javascript/intro","title":"Intro","description":"In JavaScript, similar to PHP filters and global variables, there are various built-in functions available. This chapter will delve into the ways you can modify and adapt these functions to your specific needs.","sidebar":"forms"},"javascript/manual-initiation":{"id":"javascript/manual-initiation","title":"Manual initiation","description":"If you don\'t want the forms JavaScript to load automatically, you can disable from the admin global settings and load it manually using this event.","sidebar":"forms"},"javascript/state/captcha":{"id":"javascript/state/captcha","title":"Captcha","description":"The captcha object contains methods used in spam protection.","sidebar":"forms"},"javascript/state/conditional-tags":{"id":"javascript/state/conditional-tags","title":"Conditional tags","description":"The conditionalTags object contains methods used to manipulate conditional logic.","sidebar":"forms"},"javascript/state/enrichment":{"id":"javascript/state/enrichment","title":"Enrichment","description":"The enrichment object contains methods to work with the enrichment of the form.","sidebar":"forms"},"javascript/state/form":{"id":"javascript/state/form","title":"Form","description":"The form object contains all getters and setters for managing the form. All methods are connected to the formId value.","sidebar":"forms"},"javascript/state/how-to-use":{"id":"javascript/state/how-to-use","title":"How to use?","description":"As mentioned earlier, Eightshift Forms utilizes the esForms global window object to manage the state. This approach ensures consistency across various functionalities and components.","sidebar":"forms"},"javascript/state/state":{"id":"javascript/state/state","title":"State","description":"State object contains all the information about the current state of the forms, global settings, elements and etc.","sidebar":"forms"},"javascript/state/step":{"id":"javascript/state/step","title":"Step","description":"The step object contains methods used in multi-step/multi-flow forms.","sidebar":"forms"},"javascript/state/store":{"id":"javascript/state/store","title":"Store","description":"The store object contains all getters and setters for managing the application\'s state.","sidebar":"forms"},"javascript/state/utils":{"id":"javascript/state/utils","title":"Utils","description":"The utils object contains helper methods for miscellaneous functionalities such as showing/hiding loaders and setting/unsetting errors.","sidebar":"forms"},"known-issues":{"id":"known-issues","title":"Known issues","description":"Here we list all known issues and their workaround.","sidebar":"forms"},"php/actions/how-to-use":{"id":"php/actions/how-to-use","title":"How to use?","description":"Eightshift Forms was made by developers, for developers, so we provide a comprehensive set of actions that allow you to hook project specific functionality into the Forms plugin.","sidebar":"forms"},"php/actions/migrations":{"id":"php/actions/migrations","title":"Migrations","description":"Based on the migration version you can run custom actions before migration is triggered.","sidebar":"forms"},"php/filters/admin/settings-data":{"id":"php/filters/admin/settings-data","title":"Settings data","description":"This filter allows adding a custom settings page in the WordPress admin area. Useful when creating custom option pages for Forms add-on plugins.","sidebar":"forms"},"php/filters/block/checkboxes/additional-content":{"id":"php/filters/block/checkboxes/additional-content","title":"Additional content","description":"","sidebar":"forms"},"php/filters/block/country/additional-content":{"id":"php/filters/block/country/additional-content","title":"Additional content","description":"","sidebar":"forms"},"php/filters/block/country/alternative-data-set":{"id":"php/filters/block/country/alternative-data-set","title":"Alternative datasets","description":"We use the DataHub country list to provide a REST route with all the countries, as well as the data in the Geolocation and phone number fields.","sidebar":"forms"},"php/filters/block/date/additional-content":{"id":"php/filters/block/date/additional-content","title":"Additional content","description":"","sidebar":"forms"},"php/filters/block/field/additional-content":{"id":"php/filters/block/field/additional-content","title":"Additional content","description":"","sidebar":"forms"},"php/filters/block/field/style-classes":{"id":"php/filters/block/field/style-classes","title":"Custom field classes","description":"This filter allows you to add custom CSS classes to the field element. You can use this filter to provide custom styles based on some attributes of the field.","sidebar":"forms"},"php/filters/block/field/style-options":{"id":"php/filters/block/field/style-options","title":"Custom field styles","description":"This filter allows you to add definitions for custom field styles. When defined, the style option will be shown in the field options. Make sure to provide a CSS style that targets the class with the name of the value provided.","sidebar":"forms"},"php/filters/block/file/additional-content":{"id":"php/filters/block/file/additional-content","title":"Additional content","description":"","sidebar":"forms"},"php/filters/block/file/preview-remove-label":{"id":"php/filters/block/file/preview-remove-label","title":"Uploaded item remove button label","description":"This filter allows you to change the label for the Remove button in the preview section for the uploaded files. Within the provided string an SVG icon or similar can be included, or anything else that Dropzone.js supports.","sidebar":"forms"},"php/filters/block/form-selector/additional-content":{"id":"php/filters/block/form-selector/additional-content","title":"Additional content","description":"","sidebar":"forms"},"php/filters/block/form-selector/form-templates":{"id":"php/filters/block/form-selector/form-templates","title":"Form templates","description":"This filter allows adding custom form templates to the form selector. This way you can predefine form templates and insert them with a single click.","sidebar":"forms"},"php/filters/block/form/additional-content":{"id":"php/filters/block/form/additional-content","title":"Additional content","description":"","sidebar":"forms"},"php/filters/block/form/additional-hidden-fields":{"id":"php/filters/block/form/additional-hidden-fields","title":"Additional hidden fields","description":"Allows adding custom hidden fields to the form block. These fields will not be visible in the Block Editor. Useful if external data needs to be passed through the form.","sidebar":"forms"},"php/filters/block/form/data-type-selector":{"id":"php/filters/block/form/data-type-selector","title":"Data type selector","description":"This filter will add a new data attribute to the form element. It is used to identify the form type in the frontend.","sidebar":"forms"},"php/filters/block/form/global-msg-headings":{"id":"php/filters/block/form/global-msg-headings","title":"Global msg headings","description":"By default there are no headings on error or success messages but with this filter you will be able to set them. This filter is applied to all forms.","sidebar":"forms"},"php/filters/block/form/hide-global-msg-timeout":{"id":"php/filters/block/form/hide-global-msg-timeout","title":"Global message timeout","description":"This filter allows you to change the timeout of all global messages (e.g. after successful form submission), in milliseconds.","sidebar":"forms"},"php/filters/block/form/phone-sync":{"id":"php/filters/block/form/phone-sync","title":"Phone sync","description":"By default if you change the value on the phone field the country field (if present) will be updated automatically. If you want to disable this feature you can use this filter or use the form global/local settings. This filter will override global settings for phone sync.","sidebar":"forms"},"php/filters/block/form/pre-response-addon-data":{"id":"php/filters/block/form/pre-response-addon-data","title":"Pre-Response add-on Data","description":"Allows adding custom data to the API response when the form is submitted.","sidebar":"forms"},"php/filters/block/form/pre-response-success-redirect-data":{"id":"php/filters/block/form/pre-response-success-redirect-data","title":"Pre-Response Success Redirect Data","description":"Allows adding data to the API response key, which is used when passing data to the success redirect URL.","sidebar":"forms"},"php/filters/block/form/redirect-timeout":{"id":"php/filters/block/form/redirect-timeout","title":"Redirect timeout","description":"This filter allows you to change the delay for the redirect after a successful form submission, in milliseconds.","sidebar":"forms"},"php/filters/block/form/result-output-items":{"id":"php/filters/block/form/result-output-items","title":"Result output items","description":"Allows modifying Form result output parts using an API to change which block is shown on the frontend, based on the user input.","sidebar":"forms"},"php/filters/block/form/result-output-parts":{"id":"php/filters/block/form/result-output-parts","title":"Result output parts","description":"Allows modifying Form result output parts using an API to change which shortcode is output on the frontend, based on the user input.","sidebar":"forms"},"php/filters/block/form/success-redirect-url":{"id":"php/filters/block/form/success-redirect-url","title":"Success redirect URL","description":"This filter allows you to override the success redirect URL, regardless of the one selected in Settings. With the $formType parameter you can customize the URL for each form type.","sidebar":"forms"},"php/filters/block/form/success-redirect-variation":{"id":"php/filters/block/form/success-redirect-variation","title":"Success redirect variation","description":"Success variations is an option that will add additional GET parameter to the success redirect URL. With this parameter you can customize the success page for each form type. First you need to create variations list in the forms global settings and then you can select the variation for each form.","sidebar":"forms"},"php/filters/block/form/success-redirect-variation-options":{"id":"php/filters/block/form/success-redirect-variation-options","title":"Success redirect variation options","description":"While you can create variations list from the forms global setting, by using this filter you can provide additional variations which are fixed and can\'t be changed by the user.","sidebar":"forms"},"php/filters/block/form/tracking-additional-data":{"id":"php/filters/block/form/tracking-additional-data","title":"Tracking additional data","description":"This filter allows you to set additional data that is going to be sent in the dataLayer on certain events. This filter works great in combination with the Tracking event name filter.","sidebar":"forms"},"php/filters/block/form/tracking-event-name":{"id":"php/filters/block/form/tracking-event-name","title":"Tracking event name","description":"This filter allows you to set fixed tracking event name for all or some of your forms. This value is used as an event name sent to the dataLayer when the form is submitted.","sidebar":"forms"},"php/filters/block/forms/style-options":{"id":"php/filters/block/forms/style-options","title":"Custom form styles","description":"This filter allows you to add definitions for custom form styles. When defined, the style option will be shown in the form options. Make sure to provide a CSS style that targets the class with the name of the value provided.","sidebar":"forms"},"php/filters/block/input/additional-content":{"id":"php/filters/block/input/additional-content","title":"Additional content","description":"","sidebar":"forms"},"php/filters/block/phone/additional-content":{"id":"php/filters/block/phone/additional-content","title":"Additional content","description":"","sidebar":"forms"},"php/filters/block/radios/additional-content":{"id":"php/filters/block/radios/additional-content","title":"Additional content","description":"","sidebar":"forms"},"php/filters/block/rating/additional-content":{"id":"php/filters/block/rating/additional-content","title":"Additional content","description":"","sidebar":"forms"},"php/filters/block/select/additional-content":{"id":"php/filters/block/select/additional-content","title":"Additional content","description":"","sidebar":"forms"},"php/filters/block/step/component-next":{"id":"php/filters/block/step/component-next","title":"Multi-step form \\"Next\\" button","description":"This filter allows you to provide custom markup for the multi-step form \\"Next\\" button.","sidebar":"forms"},"php/filters/block/step/component-prev":{"id":"php/filters/block/step/component-prev","title":"Multi-step form \\"Previous\\" button","description":"This filter allows you to provide custom markup for the multi-step form \\"Previous\\" button.","sidebar":"forms"},"php/filters/block/submit/additional-content":{"id":"php/filters/block/submit/additional-content","title":"Additional content","description":"","sidebar":"forms"},"php/filters/block/submit/component":{"id":"php/filters/block/submit/component","title":"Custom form submit button","description":"This filter allows you to provide custom markup for the form submit button.","sidebar":"forms"},"php/filters/block/textarea/additional-content":{"id":"php/filters/block/textarea/additional-content","title":"Additional content","description":"","sidebar":"forms"},"php/filters/blocks/additional-blocks":{"id":"php/filters/blocks/additional-blocks","title":"Additional blocks","description":"Allows enabling the use of any custom, core, or 3rd-party block inside the Form builder, e.g. if you want to enable using a Heading block within the form.","sidebar":"forms"},"php/filters/blocks/allowed-blocks":{"id":"php/filters/blocks/allowed-blocks","title":"Allowed blocks","description":"Allows setting a custom list of the allowed blocks within the form editor. It will override the project settings.","sidebar":"forms"},"php/filters/blocks/media-breakpoints":{"id":"php/filters/blocks/media-breakpoints","title":"Media breakpoints","description":"By default, we use 4 breakpoints in our responsive design system, defined here within the breakpoints key.","sidebar":"forms"},"php/filters/enrichment/manual-map":{"id":"php/filters/enrichment/manual-map","title":"Manual map","description":"Enrichment is a feature that allows storing URL parameters or cookie values in the browser localStorage, allowing their use during form submissions, in case they are not available after the user returns to the page.","sidebar":"forms"},"php/filters/entries/pre-post-params":{"id":"php/filters/entries/pre-post-params","title":"Pre-Post Params","description":"Allows modifying field data before storing it into the database. Useful if, for example, a field value needs to determine a custom output of a different field.","sidebar":"forms"},"php/filters/general/http-request-timeout":{"id":"php/filters/general/http-request-timeout","title":"HTTP request timeout","description":"This filter can be used to change the cURL timeout for the file upload, useful if you have to upload large files. The time is calculated in seconds.","sidebar":"forms"},"php/filters/general/locale":{"id":"php/filters/general/locale","title":"Locale","description":"Allows changing the current locale. By default, WordPress will use the locale that is set as the Site Language in settings. A plugin like WPML can also set this value.","sidebar":"forms"},"php/filters/general/scripts-dependency":{"id":"php/filters/general/scripts-dependency","title":"Scripts dependency","description":"In case you are having a conflict with some other plugin or theme, you can try to change the order of the scripts loading. This filter will make forms scripts dependent on your scripts and load them after your scripts."},"php/filters/geolocation/countries":{"id":"php/filters/geolocation/countries","title":"Countries","description":"This filter provides you with the ability to add/remove/edit countries list and countries groups used to filter forms.","sidebar":"forms"},"php/filters/geolocation/db-location":{"id":"php/filters/geolocation/db-location","title":"DB location","description":"Geolocation database file (.mmdb) path on your server. Useful if you want to provide your own IP geolocation library.","sidebar":"forms"},"php/filters/geolocation/phar-location":{"id":"php/filters/geolocation/phar-location","title":"Phar location","description":"Geolocation .phar file path on your server. Useful if you want to provide the geolocation service yourself.","sidebar":"forms"},"php/filters/how-to-use":{"id":"php/filters/how-to-use","title":"How to use?","description":"Eightshift Forms was made by developers, for developers, so we provide a comprehensive set of filters that allow you to modify and extend the behavior of Forms to suit your specific needs.","sidebar":"forms"},"php/filters/integrations/active-campaign":{"id":"php/filters/integrations/active-campaign","title":"ActiveCampaign","description":"","sidebar":"forms"},"php/filters/integrations/airtable":{"id":"php/filters/integrations/airtable","title":"Airtable","description":"","sidebar":"forms"},"php/filters/integrations/calculator":{"id":"php/filters/integrations/calculator","title":"Calculator","description":"","sidebar":"forms"},"php/filters/integrations/clearbit":{"id":"php/filters/integrations/clearbit","title":"Clearbit","description":"Map","sidebar":"forms"},"php/filters/integrations/goodbits":{"id":"php/filters/integrations/goodbits","title":"Goodbits","description":"","sidebar":"forms"},"php/filters/integrations/greenhouse":{"id":"php/filters/integrations/greenhouse","title":"Greenhouse","description":"","sidebar":"forms"},"php/filters/integrations/hubspot":{"id":"php/filters/integrations/hubspot","title":"HubSpot","description":"Files options filter","sidebar":"forms"},"php/filters/integrations/jira":{"id":"php/filters/integrations/jira","title":"Jira","description":"","sidebar":"forms"},"php/filters/integrations/mailchimp":{"id":"php/filters/integrations/mailchimp","title":"Mailchimp","description":"","sidebar":"forms"},"php/filters/integrations/mailer":{"id":"php/filters/integrations/mailer","title":"Mailer","description":"","sidebar":"forms"},"php/filters/integrations/mailerlite":{"id":"php/filters/integrations/mailerlite","title":"MailerLite","description":"","sidebar":"forms"},"php/filters/integrations/moments":{"id":"php/filters/integrations/moments","title":"Moments","description":"Pre-Post Event Params","sidebar":"forms"},"php/filters/integrations/pipedrive":{"id":"php/filters/integrations/pipedrive","title":"Pipedrive","description":"","sidebar":"forms"},"php/filters/integrations/workable":{"id":"php/filters/integrations/workable","title":"Workable","description":"","sidebar":"forms"},"php/filters/scripts/dependency-admin":{"id":"php/filters/scripts/dependency-admin","title":"Dependency admin","description":"Allows changing the order in which the admin area scripts are loaded. Useful when creating a Forms add-on plugin, and your script needs to be loaded before the Forms scripts (e.g. for adding custom event listeners).","sidebar":"forms"},"php/filters/scripts/dependency-blocks-editor":{"id":"php/filters/scripts/dependency-blocks-editor","title":"Dependency blocks editor","description":"Allows changing the order in which the Block Editor scripts are loaded. Useful when creating a Forms add-on plugin, and your script needs to be loaded before the Forms scripts (e.g. for adding custom event listeners).","sidebar":"forms"},"php/filters/scripts/dependency-blocks-frontend":{"id":"php/filters/scripts/dependency-blocks-frontend","title":"Dependency blocks frontend","description":"Allows changing the order in which the block frontend scripts are loaded. Useful when creating a Forms add-on plugin, and your script needs to be loaded before the Forms scripts (e.g. for adding custom event listeners).","sidebar":"forms"},"php/filters/scripts/dependency-theme":{"id":"php/filters/scripts/dependency-theme","title":"Dependency theme","description":"Allows changing the order in which the theme area scripts are loaded. Useful when creating a Forms add-on plugin, and your script needs to be loaded before the Forms scripts (e.g. for adding custom event listeners).","sidebar":"forms"},"php/filters/scripts/routes-private":{"id":"php/filters/scripts/routes-private","title":"Routes private","description":"Allows adding custom routes to the private routes list, available from the Forms global window object.","sidebar":"forms"},"php/filters/scripts/routes-public":{"id":"php/filters/scripts/routes-public","title":"Routes public","description":"Allows adding custom routes to the public routes list, available from the Forms global window object.","sidebar":"forms"},"php/filters/validation/force-mimetype-from-fs":{"id":"php/filters/validation/force-mimetype-from-fs","title":"Force mimetype from FS","description":"Forces MIME type validation based on the filesystem values. This is the default behavior. In case the file does not exist, the behavior falls back to validating using the MIME type from the POST object.","sidebar":"forms"},"php/global-variables/geolocation":{"id":"php/global-variables/geolocation","title":"Geolocation","description":"ESGEOLOCATIONIP","sidebar":"forms"},"php/global-variables/google-recaptcha":{"id":"php/global-variables/google-recaptcha","title":"Google reCaptcha","description":"ESGOOGLERECAPTCHASITEKEY","sidebar":"forms"},"php/global-variables/how-to-use":{"id":"php/global-variables/how-to-use","title":"How to use?","description":"You can access all the global configurations from the WordPress admin interface. However, if you want to ensure that some of these configurations remain constant, you can make use of global constants.","sidebar":"forms"},"php/global-variables/integrations/active-campaign":{"id":"php/global-variables/integrations/active-campaign","title":"Active Campaign","description":"ESAPIKEYACTIVECAMPAIGN","sidebar":"forms"},"php/global-variables/integrations/airtable":{"id":"php/global-variables/integrations/airtable","title":"Airtable","description":"ESAPIKEY_AIRTABLE","sidebar":"forms"},"php/global-variables/integrations/clearbit":{"id":"php/global-variables/integrations/clearbit","title":"Clearbit","description":"ESAPIKEY_CLEARBIT","sidebar":"forms"},"php/global-variables/integrations/goodbits":{"id":"php/global-variables/integrations/goodbits","title":"Goodbits","description":"ESAPIKEY_GOODBITS","sidebar":"forms"},"php/global-variables/integrations/greenhouse":{"id":"php/global-variables/integrations/greenhouse","title":"Greenhouse","description":"ESAPIKEY_GREENHOUSE","sidebar":"forms"},"php/global-variables/integrations/hubspot":{"id":"php/global-variables/integrations/hubspot","title":"Hubspot","description":"ESAPIKEY_HUBSPOT","sidebar":"forms"},"php/global-variables/integrations/jira":{"id":"php/global-variables/integrations/jira","title":"Jira","description":"ESAPIKEY_JIRA","sidebar":"forms"},"php/global-variables/integrations/mailchimp":{"id":"php/global-variables/integrations/mailchimp","title":"Mailchimp","description":"ESAPIKEY_MAILCHIMP","sidebar":"forms"},"php/global-variables/integrations/mailerlite":{"id":"php/global-variables/integrations/mailerlite","title":"MailerLite","description":"ESAPIKEY_MAILERLITE","sidebar":"forms"},"php/global-variables/integrations/moments":{"id":"php/global-variables/integrations/moments","title":"Moments","description":"ESAPIKEY_MOMENTS","sidebar":"forms"},"php/global-variables/integrations/pipedrive":{"id":"php/global-variables/integrations/pipedrive","title":"Pipedrive","description":"ESAPIKEY_PIPEDRIVE","sidebar":"forms"},"php/global-variables/integrations/workable":{"id":"php/global-variables/integrations/workable","title":"Workable","description":"ESAPIKEY_WORKABLE","sidebar":"forms"},"php/helpers":{"id":"php/helpers","title":"Helpers","description":"Eightshift Forms offers static helpers that can be implemented in your project. The key difference between these helpers and filters is that you can use the former in your theme or plugin code regardless of the load cycle.","sidebar":"forms"},"php/intro":{"id":"php/intro","title":"Intro","description":"In Eightshift Forms we use multiple ways to provide customizability to your project. PHP customizations are the most powerful way to customize your forms and by using WordPress native filters and global variables you will be able to customize almost anything.","sidebar":"forms"},"php/shortcodes":{"id":"php/shortcodes","title":"Shortcodes","description":"What are shortcodes?","sidebar":"forms"},"php/wp-cli":{"id":"php/wp-cli","title":"WP-CLI","description":"What is WP-CLI?","sidebar":"forms"},"tutorials/playlist":{"id":"tutorials/playlist","title":"Playlist","description":"We think that a picture is worth a thousand words, and video is worth a thousand pictures. So, we\'ve created a series of videos to help you get started with the basics of using forms. We hope you find them useful!","sidebar":"forms"},"welcome":{"id":"welcome","title":"Welcome","description":"Welcome to the Eightshift Forms documentation! This powerful and versatile WordPress project is designed to revolutionize the way you handle forms in your web development projects.","sidebar":"forms"}}}')}}]); \ No newline at end of file diff --git a/assets/js/b101fbec.5e6178d3.js b/assets/js/b101fbec.5e6178d3.js deleted file mode 100644 index 933723f03..000000000 --- a/assets/js/b101fbec.5e6178d3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[32129],{36489:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/classes","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/b2b675dd.24c31e82.js b/assets/js/b2b675dd.24c31e82.js deleted file mode 100644 index b56939d0a..000000000 --- a/assets/js/b2b675dd.24c31e82.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[11991],{29775:t=>{t.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":9,"totalPages":2,"totalCount":17,"nextPage":"/blog/page/2","blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/b2f554cd.f3f09ff6.js b/assets/js/b2f554cd.f3f09ff6.js deleted file mode 100644 index c88b20ca8..000000000 --- a/assets/js/b2f554cd.f3f09ff6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[95894],{76042:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"using-post-templates","metadata":{"permalink":"/blog/using-post-templates","source":"@site/blog/2024-03-28-using-post-templates.md","title":"Using post templates","description":"Explaining post templates and how to use them.","date":"2024-03-28T00:00:00.000Z","formattedDate":"March 28, 2024","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"templates","permalink":"/blog/tags/templates"}],"readingTime":5.05,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"Using post templates","description":"Explaining post templates and how to use them.","slug":"using-post-templates","authors":"obradovic","date":"2024-03-28T00:00:00.000Z","tags":["eightshift","boilerplate","templates"],"hide_table_of_contents":false},"unlisted":false,"nextItem":{"title":"Using inner blocks","permalink":"/blog/using-inner-blocks"}},"content":"Sometimes you need your posts to follow a specific structure, or you simply want to provide a good starting point for the editors. This blog post will cover what post templates are, how to set them up, and what options they offer.\\n\x3c!--truncate--\x3e\\n\\nA simple use case of post templates can be a review or a testimonial. For example, if you want each review to be a separate post and to use a single Quote block.\\n\\nIf you don\u2019t have the new post type registered, you can refer to one of the previous blog posts which explains how to [register Custom Post Types](/blog/using-cpts-and-taxonomies). Once the new post type is registered, you can set the `template_lock` argument.\\n\\n## Template locking options\\n\\nThe best way to lock the template is by adding the `template_lock` argument into a `return` statement from the `getPostTypeArguments` method in your post type class.\\n\\n```php\\nreturn [\\n\\t// ...\\n\\t\'template_lock\' => \'all\',\\n];\\n```\\n\\nThere are a few ways of locking the template:\\n\\n- `all` - blocks can\u2019t be inserted, removed, or moved around. Content can be edited for existing blocks\\n- `insert` - you can\u2019t insert or remove blocks, but you can move them around\\n\\n:::note\\nIt\u2019s not mandatory to use `template_lock` if you\u2019re using post templates. You can leave it out and have it fully unlocked to give the editors the freedom to modify the proposed template.\\n:::\\n\\nAdditionally, you can lock each block separately by adding the following attributes:\\n```json\\n\\"lock\\": {\\n\\t\\"remove\\": true,\\n\\t\\"move\\": true,\\n}\\n```\\n\\n## Adding a template\\n\\nA recommended approach for adding a post template is to add a service class. For this example, the post type is **Review**, so the WP-CLI command for creating a new service class looks like this:\\n\\n```bash\\nwp boilerplate create service-example --folder=Templates --file_name=ReviewTemplate\\n```\\n\\nIf you\u2019re adding a template for another post type, create a separate class, but include it in the same namespace (folder). That way you\u2019ll have a much better overview of the templates in the project.\\n\\nHere\u2019s an example of how to add a single Quote block as a template:\\n\\n```php\\n/**\\n * Register Review Template.\\n *\\n * @return void\\n */\\npublic function registerReviewTemplate(): void\\n{\\n\\t$reviewPostType = \\\\get_post_type_object(ReviewPostType::POST_TYPE_SLUG);\\n\\n\\t$reviewPostType->template = [\\n\\t\\t[\\n\\t\\t\\t\'eightshift-boilerplate/quote\',\\n\\t\\t\\t[\\n\\t\\t\\t\\t\'wrapperSimple\' => true,\\n\\t\\t\\t\\t\'quoteQuoteParagraphContent\' => \'Content placeholder\',\\n\\t\\t\\t\\t\'quoteQuoteAuthorContent\' => \'Author name placeholder\',\\n\\t\\t\\t]\\n\\t\\t],\\n\\t];\\n}\\n```\\n\\nTo assign a post template, you need to get the post type object and then update the `template` property. Alternatively, you can also lock the post template in this method with the `template_lock` property, but it\u2019s much cleaner to do it during custom post type registration.\\n\\nDon\u2019t forget to register your method with `add_action`:\\n\\n```php\\n\\\\add_action(\'init\', [$this, \'registerReviewTemplate\'], 20);\\n```\\n\\n## Building complex layouts\\n\\nAs you can see from the previous example, you can set any attribute you want, including wrapper-related options. The easiest way to add a complex post template is by building it in the Gutenberg editor first, then switching to Code Editor and copying the content. This will have to be rewritten in PHP to make it work, and here\u2019s how to do it. Let\u2019s say the code for the blocks looks like this:\\n\\n```\\n\x3c!-- wp:eightshift-boilerplate/paragraph {\\"paragraphParagraphContent\\":\\"Placeholder text\\"} /--\x3e\\n\\n\x3c!-- wp:eightshift-boilerplate/cta-modal {\\"ctaModalButtonContent\\":\\"Apply now!\\",\\"ctaModalEndDateHide\\":true} --\x3e\\n\x3c!-- wp:eightshift-boilerplate/heading {\\"wrapperUseShowControl\\":false,\\"wrapperSimpleShowControl\\":false,\\"wrapperSimple\\":true,\\"wrapperAnchorId\\":\\"apply-now\\",\\"headingHeadingContent\\":\\"Application form\\",\\"headingHeadingSize\\":\\"h4:bold\\",\\"headingAlign\\":\\"center\\"} /--\x3e\\n\\n\x3c!-- wp:eightshift-forms/forms /--\x3e\\n\x3c!-- /wp:eightshift-boilerplate/cta-modal --\x3e\\n```\\n\\nThis is how it looks when you rewrite it in PHP.\\n\\n```php\\n$eventPostType->template = [ // array that holds all blocks.\\n\\t[ // array that holds a Paragraph block.\\n\\t\\t\'eightshift-boilerplate/paragraph\', // full block name.\\n\\t\\t[ // array that holds block attributes.\\n\\t\\t\\t\'paragraphParagraphContent\' => \'Placeholder text\',\\n\\t\\t]\\n\\t],\\n\\t[ // array that holds a CTA Modal block.\\n\\t\\t\'eightshift-boilerplate/cta-modal\',\\n\\t\\t[ // array that holds block attributes.\\n\\t\\t\\t\'ctaModalEndDateHide\' => true,\\n\\t\\t\\t\'ctaModalButtonContent\' => \'Apply now!\',\\n\\t\\t\\t\'ctaModalButtonAlign\' => \'center\',\\n\\t\\t],\\n\\t\\t[ // array of inner blocks for a CTA Modal block.\\n\\t\\t\\t[\\n\\t\\t\\t\\t\'eightshift-boilerplate/heading\',\\n\\t\\t\\t\\t[\\n\\t\\t\\t\\t\\t\'wrapperAnchorId\' => \'apply-now\',\\n\\t\\t\\t\\t\\t\'headingHeadingContent\' => \'Application form\',\\n\\t\\t\\t\\t\\t\'headingHeadingSize\' => \'h4:bold\',\\n\\t\\t\\t\\t\\t\'headingAlign\' => \'center\'\\n\\t\\t\\t\\t]\\n\\t\\t\\t],\\n\\t\\t\\t[\\n\\t\\t\\t\\t\'eightshift-forms/forms\',\\n\\t\\t\\t\\t[] // not passing any attributes, so we just include an empty array.\\n\\t\\t\\t]\\n\\t\\t]\\n\\t]\\n];\\n```\\n\\nThe comments were added above for an easier understanding of the structure. So, to summarize:\\n\\n- the `template` property is an array that holds all blocks\\n- each block is a separate array that accepts three values in the following order: block name (string), block attributes (array), and inner blocks (array)\\n- the process of adding inner blocks is the same as for adding blocks to the main content\\n\\n## Editor options for unlocking the templates\\n\\nEven though the templates can be locked, some blocks can still be unlocked. This can be done by selecting a block and clicking on a lock icon. When locking or unlocking a block in this way, you can toggle two options, the ones already mentioned at the end of the [Template locking options](#template-locking-options) section:\\n\\n- **Disable movement** - disable moving the block around\\n- **Prevent removal** - prevents the block from being deleted\\n\\nThat way, even if you lock the template, some modifications can still be made to the template. Please note, that once you remove a block from the locked template, you can\u2019t add it again because the button for adding blocks is disabled.\\n\\n## Suggestions for using post templates\\n\\nPost templates offer a great way to streamline the process of adding content for specific post types and making the look and feel of the same post types more uniform. There are lots of ways to use them, so here are some suggestions to give you ideas:\\n\\n**Posts/news articles** - a news article needs a title, an image, author information, and some content.\\n\\n**Events** - you can put the important information at the top with a few accordions, then follow up with some content and add a CTA button at the bottom that opens a modal with an application form.\\n\\n**Reviews** - use a single quote block for displaying user reviews. To make it work with the Featured Content block, you can modify the Featured Content block to render the Reviews CPT content directly, instead of rendering cards."},{"id":"using-inner-blocks","metadata":{"permalink":"/blog/using-inner-blocks","source":"@site/blog/2024-03-07-using-inner-blocks.md","title":"Using inner blocks","description":"Various tips and useful features for your project included in Eightshift DevKit.","date":"2024-03-07T00:00:00.000Z","formattedDate":"March 7, 2024","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"inner blocks","permalink":"/blog/tags/inner-blocks"}],"readingTime":4.71,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"Using inner blocks","description":"Various tips and useful features for your project included in Eightshift DevKit.","slug":"using-inner-blocks","authors":"obradovic","date":"2024-03-07T00:00:00.000Z","tags":["eightshift","boilerplate","inner blocks"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"Using post templates","permalink":"/blog/using-post-templates"},"nextItem":{"title":"Tips & useful features","permalink":"/blog/tips-useful-features"}},"content":"InnerBlocks in WordPress enable the creation of nested block structures within the Gutenberg editor, allowing for the development of more complex and customizable content layouts.\\n\x3c!--truncate--\x3e\\n\\n## Why use inner blocks?\\n\\nUse of inner blocks allows for more flexibility when building content. Let\u2019s say you\u2019re building a simple two-column layout with image on one side and content on the other side. You can define the components that will be used (e.g. header, paragraph, list, button) and then just toggle the ones you don\u2019t need.\\n\\nThis approach works perfectly fine when you have a strict layout and don\u2019t need larger content structure variations. Using inner blocks may introduce a bit more complexity - both for developers and content editors, but ultimately gives the editors much more freedom.\\n\\nAnother example where inner blocks are used is the Carousel block. Using inner blocks allows you to add as many slides as you\'d like in your carousel. Let\u2019s not forget about Columns and Group blocks. These also use inner blocks.\\n\\n## Adding inner block support\\n\\nThe example used in this blog post is a two-column Card that was made for a project. First thing that needs to be updated is the ***manifest.json*** file. For the sake of simplicity and not having too much code, the parts that aren\u2019t related to the inner blocks have been removed.\\n\\n```json\\n{\\n\\t\\"hasInnerBlocks\\": true,\\n\\t\\"innerBlocksDependency\\": [\\n\\t\\t\\"heading\\",\\n\\t\\t\\"paragraph\\"\\n\\t],\\n\\t\\"attributes\\": {\\n\\t\\t\\"cardTwoColumnAllowedBlocks\\": {\\n\\t\\t\\t\\"type\\": \\"array\\",\\n\\t\\t\\t\\"items\\": {\\n\\t\\t\\t\\t\\"type\\": \\"string\\"\\n\\t\\t\\t},\\n\\t\\t\\t\\"default\\": [\\n\\t\\t\\t\\t\\"eightshift-boilerplate/paragraph\\",\\n\\t\\t\\t\\t\\"eightshift-boilerplate/heading\\",\\n\\t\\t\\t\\t\\"eightshift-boilerplate/button\\",\\n\\t\\t\\t\\t\\"eightshift-boilerplate/lists\\"\\n\\t\\t\\t]\\n\\t\\t}\\n\\t}\\n}\\n```\\n\\nThe `hasInnerBlocks` key defines that this block supports inner blocks. The `innerBlocksDependency` is generally used to output block dependencies when adding a block via CLI, but it can also be used to add inner blocks automatically. You can see an example of using it in the Columns block `editor.js` file.\\n\\nIn case we need to limit which blocks can be added inside inner blocks, we can do so with an attribute. Usually, the attribute is named `{blockName}AllowedBlocks`. Set the default value as an array of strings that represent block names you want to allow.\\n\\nPlease note that the block names must include the block namespace! (`eightshift-boilerplate` by default, check in Global manifest)\\n\\nNow you need to pass the allowed blocks attribute into the `InnerBlocks` component In the `{block-name}-editor.js` file. Here\u2019s an example of the code related only to the inner blocks:\\n\\n```jsx\\nimport { InnerBlocks } from \'@wordpress/block-editor\';\\nimport { BlockInserter } from \'@eightshift/frontend-libs/scripts\';\\n\\nexport const CardTwoColumnEditor = ({ attributes, setAttributes, clientId }) => {\\n\\n\\tconst {\\n\\t\\tcardTwoColumnAllowedBlocks,\\n\\t} = attributes;\\n\\n\\treturn (\\n\\t\\t<div className={contentClass}>\\n\\t\\t\\t<InnerBlocks\\n\\t\\t\\t\\tallowedBlocks={(typeof cardTwoColumnAllowedBlocks === \'undefined\') || cardTwoColumnAllowedBlocks}\\n\\t\\t\\t\\torientation=\'vertical\'\\n\\t\\t\\t\\trenderAppender={() => <BlockInserter clientId={clientId} />}\\n\\t\\t\\t/>\\n\\t\\t</div>\\n\\t);\\n};\\n```\\n\\nThe `InnerBlocks` component comes from Gutenberg. In order to limit the allowed blocks, we need to pass the list of allowed inner blocks to the `allowedBlocks` attribute. If your inner blocks should be laid out horizontally in the editor, instead of vertically, you can pass `orientation=\'horizontal\'`.\\n\\n`renderAppender` prop allows passing a custom block insert button. Due to relatively frequent changes in Gutenberg, a custom `BlockInserter` element is available in Frontend libs as a replacement, and can be passed to `InnerBlocks`.\\n\\nFinally, to render the inner blocks in PHP, you need to add the following:\\n\\n```php\\n<?php\\n// phpcs:ignore Eightshift.Security.ComponentsEscape.OutputNotEscaped\\necho $innerBlockContent;\\n?>\\n```\\n\\nAnd that\u2019s it! Your block now supports inner blocks.\\n\\n:::note\\nA block can have only one set of inner blocks.\\n:::\\n\\n## Overriding inner block attributes\\n\\nInner blocks behave like regular blocks, which means they also have a wrapper by default. This may not always be desired and manually removing wrapper or adding custom wrapper settings on each inner block can be tedious. That\u2019s why Eightshift DevKit offers few helpers that allow you to override inner block attributes.\\n\\nBoth of these helpers go to your `{block-name}-block.js` file.\\n\\n### overrideInnerBlockAttributes\\n\\nThis helper allows you to set the attributes on all inner blocks by passing them as a third parameter. The example below shows how to disable the wrapper and hide wrapper controls.\\n\\n```jsx\\nimport { useSelect } from \'@wordpress/data\';\\nimport { overrideInnerBlockAttributes } from \'@eightshift/frontend-libs/scripts\';\\n\\nexport const Accordion = (props) => {\\n\\t// Set these attributes to all inner blocks once inserted in DOM.\\n\\tuseSelect((select) => {\\n\\t\\toverrideInnerBlockAttributes(\\n\\t\\t\\tselect,\\n\\t\\t\\tprops.clientId,\\n\\t\\t\\t{\\n\\t\\t\\t\\twrapperUse: false,\\n\\t\\t\\t\\twrapperNoControls: true,\\n\\t\\t\\t},\\n\\t\\t);\\n\\t});\\n\\n\\treturn (\\n\\t\\t// ...\\n\\t);\\n};\\n```\\n\\nKeep in mind this helper allows you to set any attribute that the inner block supports, so you can even set a larger paragraph size and a different color, for example.\\n\\n### useBlockProps and useInnerBlocksProps\\n\\nIn case the default `InnerBlocks` limits your styling and/or layout options too much, you can opt into the newer block prop hooks to implement inner blocks as well!\\n\\nImport the `useBlockProps` and `useInnerBlocksProps` hooks, configure them just like regular InnerBlocks, and spread the params into an element of your choice (`div` is recommended).\\n\\nIn code, it looks something like this:\\n\\n```jsx\\nimport { useBlockProps, useInnerBlocksProps } from \'@wordpress/block-editor\';\\n\\nexport const DemoEditor = (props) => {\\n\\tconst blockProps = useBlockProps();\\n\\tconst innerBlocksProps = useInnerBlocksProps(blockProps, {\\n\\t\\tallowedBlocks: demoAllowedBlocks,\\n\\t\\trenderAppender: () => <BlockInserter clientId={clientId} />,\\n\\t});\\n\\n\\treturn (\\n\\t\\t<div {...innerBlocksProps} /> // Do whatever you want with this.\\n\\t);\\n};\\n```\\n\\n## Conclusion\\n\\nThe best way to understand how inner blocks work is to try to build your own block that supports inner blocks and try out various options and see what kind of results you\u2019ll get. If you ever get stuck, you can refer to the official [Eightshift DevKit documentation](https://eightshift.com/docs/welcome) or check the blocks that already have inner blocks support. These blocks are:\\n\\n- accordion\\n- accordion item\\n- columns\\n- column\\n- carousel\\n- group"},{"id":"tips-useful-features","metadata":{"permalink":"/blog/tips-useful-features","source":"@site/blog/2024-02-29-tips-useful-features.md","title":"Tips & useful features","description":"Various tips and useful features for your project included in Eightshift DevKit.","date":"2024-02-29T00:00:00.000Z","formattedDate":"February 29, 2024","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"blocks","permalink":"/blog/tags/blocks"},{"label":"plugins","permalink":"/blog/tags/plugins"},{"label":"colors","permalink":"/blog/tags/colors"},{"label":"images","permalink":"/blog/tags/images"},{"label":"classes","permalink":"/blog/tags/classes"}],"readingTime":5.665,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"Tips & useful features","description":"Various tips and useful features for your project included in Eightshift DevKit.","slug":"tips-useful-features","authors":"obradovic","date":"2024-02-29T00:00:00.000Z","tags":["eightshift","boilerplate","blocks","plugins","colors","images","classes"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"Using inner blocks","permalink":"/blog/using-inner-blocks"},"nextItem":{"title":"Making your project multilingual","permalink":"/blog/making-your-project-multilingual"}},"content":"Eightshift DevKit has lots of features that can make your development experience easier. These are mostly minor features which can\u2019t be a blog post of its own, so they\u2019ll be listed here. This isn\u2019t a complete list, so there may be a part 2 in the future.\\n\x3c!--truncate--\x3e\\n\\n## Using only Eightshift blocks\\n\\nIf you want to remove the default Gutenberg blocks and use only Eightshift blocks, it\u2019s as easy as adding the following code in your **_src/Blocks/Blocks.php_** file:\\n\\n```php\\n// Limits the usage of only custom project blocks.\\n\\\\add_filter(\'allowed_block_types_all\', [$this, \'getAllBlocksList\'], 10, 2);\\n```\\n\\n## ModifyAdminAppearance class\\n\\nWhen you have multiple environments (local, staging, production ...), you may accidentally change something on the wrong environment if you mix up your tabs. The `ModifyAdminAppearance` class changes your WP Admin color scheme depending on the environment type defined with the `WP_ENVIRONMENT_TYPE` constant. That way it\u2019s much easier to differentiate on which environment you are when you\'re in WP Admin.\\n\\nNow when you get a call from the client asking you why the blog post they published isn\u2019t visible on the site, the first question you can ask is: \u201cWhat color is the admin area?\u201d \ud83d\ude04\\n\\nTo add it into your project, use the following WP-CLI command:\\n\\n```bash\\nwp boilerplate create modify-admin-appearance\\n```\\n\\nAfter adding this class to your project, all you have to do is define the proper environment type in the `WP_ENVIRONMENT_TYPE` constant in ***wp-config.php.***\\n\\nThe supported values are:\\n\\n- local\\n- development\\n- staging\\n- production\\n\\n![Different color schemes in WP Admin depending on the environment](/img/blog/modify-admin-appearance.webp)\\n\\nIf you want to change any of the colors, you can do so by modifying the values in `COLOR_SCHEMES` array inside `ModifyAdminAppearance` class. For the full list of available color schemes, you can navigate to **_wp-admin/css/colors_**. The subfolders here represent the color schemes you can use. For example, if you want to change production environment color scheme to `coffee`, you would do it like this:\\n\\n```php\\n/**\\n * List of admin color schemes.\\n *\\n * @var array<string, string>\\n */\\npublic const COLOR_SCHEMES = [\\n\\t\'development\' => \'fresh\',\\n\\t\'local\' => \'fresh\',\\n\\t\'staging\' => \'blue\',\\n\\t\'production\' => \'coffee\',\\n];\\n```\\n\\n## EscapedView class\\n\\nThis class can be used to define which tags and attributes are escaped or allowed in your project. To add the class into your project, use the following WP-CLI command:\\n\\n```bash\\nwp boilerplate create escaped-view\\n```\\n\\nHere\u2019s an example how to define the allowed tags so `wp_kses` doesn\u2019t remove them:\\n\\n```php\\n\\t/**\\n\\t * Add tags to allowed HTML list.\\n\\t *\\n\\t * @param array<string, array<mixed>> $tags Allowed tags.\\n\\t *\\n\\t * @return array<string, array<mixed>>\\n\\t */\\n\\tpublic function ksesAllowedHtml($tags): array\\n\\t{\\n\\t\\t$tags[\'source\'] = [\\n\\t\\t\\t\'src\' => [],\\n\\t\\t\\t\'type\' => [],\\n\\t\\t];\\n\\n\\t\\t$tags[\'video\'] = [\\n\\t\\t\\t\'muted\' => [],\\n\\t\\t\\t\'src\' => [],\\n\\t\\t\\t\'autoplay\' => [],\\n\\t\\t\\t// ...\\n\\t\\t];\\n\\n\\t\\t$tags[\'div\'][\'data-*\'] = true;\\n\\n\\t\\treturn \\\\array_merge(\\n\\t\\t\\t$tags,\\n\\t\\t\\tstatic::SVG,\\n\\t\\t\\tstatic::FORM,\\n\\t\\t\\tstatic::IFRAME\\n\\t\\t);\\n\\t}\\n```\\n\\n:::caution\\nPlease be wary of the attributes you allow, as this could expose your website to cross-site scripting (XSS) and similar attacks!\\n:::\\n\\nDon\u2019t forget to add this to the `register` method:\\n\\n```php\\n\\\\add_filter(\'wp_kses_allowed_html\', [$this, \'ksesAllowedHtml\'], 20, 1);\\n```\\n\\n## Media class\\n\\nTo add the Media class to your project, use the following WP-CLI command:\\n\\n```bash\\nwp boilerplate create media\\n```\\n\\nYou can use the Media class to define new media sizes or allow uploads of the mime types that are not allowed by default.\\n\\n```php\\n\\t/**\\n\\t * Allow additional types for uploads in media.\\n\\t *\\n\\t * @param array<string, string> $mimes Load all mimes types.\\n\\t *\\n\\t * @return array<string, string> Return original and updated.\\n\\t */\\n\\tpublic function enableMimeTypes(array $mimes): array\\n\\t{\\n\\t\\t$mimes[\'svg\'] = \'image/svg+xml\';\\n\\t\\t$mimes[\'zip\'] = \'application/zip\';\\n\\t\\t$mimes[\'json\'] = \'application/json\';\\n\\n\\t\\treturn $mimes;\\n\\t}\\n```\\n\\nAnd register the filter:\\n\\n```php\\n\\\\add_filter(\'upload_mimes\', [$this, \'enableMimeTypes\']);\\n```\\n\\nThis class also supports converting your media into **_WebP_** format, but more on that below.\\n\\n## Automatic WebP conversion\\n\\nThe WebP file format is becoming more and more popular, with its smaller file sizes and better compression, it is a preferred replacement for .jpg and .png formats. Eightshift DevKit supports converting your existing files to WebP format.\\n\\nIf you already have the Media class in your project, you need to run this WP-CLI command:\\n\\n```bash\\nwp boilerplate create webp-media-column\\n```\\n\\nThis command will add a new column in your ***List view*** in Media Library that shows if the media is converted to WebP or not.\\n\\n![WebP column in Media Library](/img/blog/webp-column.webp)\\n\\nTo enable and convert existing media to WebP, run the following commands:\\n\\n```bash\\nwp boilerplate run use-webp-media\\nwp boilerplate run regenerate-media\\n```\\n\\nAfter running these commands, you\u2019ll have your images converted to WebP. Some formats like `svg` will not be converted, this is intended.\\n\\nPlease note that the original files will not be deleted and you\u2019ll have to add additional logic to your Image component for replacing the URLs.\\n\\nHere\u2019s a simple example how to do it:\\n\\n```php\\n// Check if webP is used from admin.\\n$isWebPUsed = Components::isWebPMediaUsed();\\n\\n// If webP is used override the url for large.\\nif ($isWebPUsed) {\\n\\t$sourceWebPLarge = Components::getWebPMedia($imageUrl[\'large\'], Media::WEBP_ALLOWED_EXT);\\n\\n\\tif ($sourceWebPLarge) {\\n\\t\\t$imageUrl[\'large\'] = $sourceWebPLarge[\'src\'];\\n\\t}\\n}\\n```\\n\\n## Dynamic cookies for WP Rocket\\n\\nThis is quite useful when you have a GDPR plugin and you have to take the cookie value into consideration when serving the cached version of the site.\\n\\nTo add the GDPR cookie to the list of dynamic cookies, create a new class called Rocket with the following WP-CLI command:\\n\\n```bash\\nwp boilerplate create service-example --folder=Plugins/Rocket --file_name=Rocket\\n```\\n\\nAdd the following method to the Rocket class:\\n\\n```php\\n\\t/**\\n\\t * List all dynamic cookies that will create new cached version.\\n\\t *\\n\\t * @param array<string> $items Items from the admin.\\n\\t *\\n\\t * @return array<string>\\n\\t */\\n\\tpublic function dynamicCookiesList(array $items): array\\n\\t{\\n\\t\\t$items[] = \'gdpr\';\\n\\n\\t\\treturn $items;\\n\\t}\\n```\\n\\nFinally, add the following filter to the `register` method:\\n\\n```php\\n\\\\add_filter(\'rocket_cache_dynamic_cookies\', [$this, \'dynamicCookiesList\']);\\n```\\n\\n## Yoast SEO helper\\n\\nThe content generated by Eightshift blocks may be difficult for Yoast SEO to interpret, but there is a Yoast SEO helper included in our DevKit that fixes the issue and makes the content readable to Yoast SEO. By default, Yoast SEO can\'t read the content from custom dynamic blocks, so this helper tells it how to parse the content from the blocks.\\n\\nTo enable this, you have to add the following in **_src/Blocks/assets/scripts/application-blocks-editor.js_**:\\n\\n```jsx\\nimport { yoastSeo } from \'@eightshift/frontend-libs/scripts/plugins\';\\n\\n// ...\\n\\nyoastSeo();\\n```\\n\\n## Linters and Coding Standards checks\\n\\nEightshift DevKit includes coding standards checks that will help you improve your code quality.\\n\\nTo run these commands, you have to be in the theme root folder. Here\u2019s the list:\\n\\n- `npm run lintStyle` - check your CSS files with StyleLint\\n- `npm run lintJs` - check your JS files with ESLint\\n- `composer test:standards` - check PHP coding standards errors with PHPCS\\n- `composer test:types` - runs PHPStan static code analysis"},{"id":"making-your-project-multilingual","metadata":{"permalink":"/blog/making-your-project-multilingual","source":"@site/blog/2024-02-01-making-your-project-multilingual.md","title":"Making your project multilingual","description":"Examples of using I18n in a project","date":"2024-02-01T00:00:00.000Z","formattedDate":"February 1, 2024","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"i18n","permalink":"/blog/tags/i-18-n"},{"label":"multilingual","permalink":"/blog/tags/multilingual"}],"readingTime":5.75,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"Making your project multilingual","description":"Examples of using I18n in a project","slug":"making-your-project-multilingual","authors":"obradovic","date":"2024-02-01T00:00:00.000Z","tags":["eightshift","boilerplate","i18n","multilingual"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"Tips & useful features","permalink":"/blog/tips-useful-features"},"nextItem":{"title":"How to use the Wrapper as a standalone component","permalink":"/blog/wrapper-as-a-standalone-component"}},"content":"Tools like Google Translate can automatically translate websites with reasonable quality. However, users will have a much better experience if you add support for multiple languages in your project and manage the translations yourself.\\n\x3c!--truncate--\x3e\\n\\n## Making strings translatable in PHP\\nA good practice is to use one of the I18n (internationalization) functions for your hardcoded strings, even if your website starts with a single language. This way, you can add multilingual support more easily later.\\n\\nIf you\'ve worked on a multilanguage-capable project, you most likely came across `__()` and `_e()` functions. The main difference between the `__()` and `_e()` is that `__()` returns the value, while `_e()` echoes it. Both functions take two arguments: the first one is the string to be translated, and the second one is the textdomain that identifies the translation file.\\n\\n> Textdomain is usually your project name written in kebab-case.\\n\\nWhile WordPress functions like `__()` and `_e()` will definitely do the job, it is much better to use the variants of these functions that also escape the output. These are `esc_html__()` and `esc_html_e()`. There are also a few more functions for I18n you can use, but to keep it simple, we\'ll just mention these two for now.\\n\\nHere is an example of using one of these functions:\\n```php\\n<?php echo esc_html__(\'Contact\', \'project-name\'); ?>\\n```\\n\\n## Making strings translatable in JS\\nTo translate the strings in the Block editor or options, you will first have to import the function from the `@wordpress/i18n` library.\\n```jsx\\nimport { __ } from \'@wordpress/i18n\';\\n```\\nTo output your string, simply use it like this:\\n```jsx\\n{__(\'Icon position\', \'project-name\')}\\n```\\n\\nAlternative functions you can use are:\\n- `_n` for singular/plural forms\\n- `_nx` for singular/plural forms with _gettext_ context\\n- `_x` for a translated string with a _gettext_ context\\n\\nYou can refer to the [block editor handbook](https://developer.wordpress.org/block-editor/reference-guides/packages/packages-i18n/) for more information on these functions.\\n\\n## The I18n class\\nThe easiest way to add I18n support to a project created with Eightshift boilerplate is by using the WP-CLI command:\\n```bash\\nwp boilerplate create i18n\\n```\\n\\nThis command generated a new class inside the `src/I18n` folder. This class instructs WordPress to look for translations in `src/I18n/languages` with the textdomain defined as your project name. The next step is generating .po and .mo files that are used for translation.\\n\\n## Generating .pot file\\nYou can create a `.pot` (_Portable object template_) file by using WP-CLI. Run the following command in your project root:\\n```bash\\nwp i18n make-pot\\n```\\n\\nAlternatively, you can use tools like [Poedit](https://poedit.net/) to generate a `.pot` file and generate translations from it later.\\n\\n## Translating with Poedit\\nOnce you have the `.pot` file, you can use Poedit to generate `.po` and `.mo` files that are used for translating hardcoded strings in your project. When generating the files, you can choose for which locale you\'re creating the translation for. For example, if you are creating a translation for the German language, your files should be named `de_DE.po` and `de_DE.mo`.\\n\\nAfter generating the files, go to **Translation -> Properties** and navigate to the **Sources Paths** tab. Set the _Base path_ to the theme folder path. In _Excluded paths_ you can add folders like `node_modules`, `vendor`, and `public` to exclude external packages.\\n\\nIn the _Sources keywords_ tab you can set additional functions for use in your project for translations. Commonly used functions are:\\n- `_e` for translating a string and echoing it\\n- `__` for returning a translated string\\n- `esc_html__` for returning a translated string which is escaped in a way it\'s safe to use within HTML\\n- `esc_html_e` for echoing a translated string which is escaped in a way it\'s safe to use within HTML\\n- `esc_attr__` for returning a translated string which is escaped in a way it\'s safe to use within an attribute\\n- `esc_html_x` for returning a translated string which is escaped in a way it\'s safe to use within HTML, with a _gettext_ context\\n- `_n` for returning a translated string in a singular or plural form, based on the supplied number\\n\\n> If you\'re missing a string in your `.po` file be sure to check which function is used for translation for that string, and that the function is added to _Sources keywords_.\\n\\nAfter updating the settings, click on _Update from source code_ option to get the updated list of strings to translate.\\n\\nThe translation process is simple. The left column represents the source text, and the right column the translation. When you have finished translating the strings, copy the `.po` and `.mo` files to the `src/I18n/languages` folder.\\n\\n## JS translations\\nThe process of translating strings in JS has a couple of extra steps.\\n\\nIn order to translate strings in JS (e.g. Block editor strings), you will have to generate translation file. To do this, navigate to your `src/I18n/languages` folder and use the following WP-CLI command:\\n```bash\\nwp i18n make-json <po-file> --no-purge\\n```\\n\\nThis will generate a `.json` file for each JS file present. The strings are extracted from `.po` files, so you\'ll already have the translations added. The `--no-purge` flag is used to keep the existing translations in the `.po` file.\\n\\nThe method used for setting the script translations is `setScriptTranslations()` from the `I18n` class.\\n\\nThe default way this works in Eightshift DevKit is that you need to have a single `.json` file with all the JS translations. If needed, you can either modify this method to read from multiple files, or just merge all the `.json` files into one.\\n\\nIf using the default setup (everything in one file) follow this naming structure: `{textdomain}-{locale}-{handle}.json`.\\n\\nFor example, if your _textdomain_ is `project-name` and your locale is `de_DE`, your file should be named `project-name-de_DE-project-name-block-editor-scripts.json`.\\n\\n> The block-related translations depend on the language the user has set in WP admin.\\n\\n## Enabling languages and content translation\\nIf the website itself needs to support content in multiple languages, a plugin is a good option.\\n\\n The most common multi-language plugins are:\\n- **WPML** - one of the most popular plugins on the market. It is a paid plugin, but offers a lot of advanced options.\\n- **Polylang** - a free plugin (also has a paid _Pro_ version).\\n\\n> Explore other options as well, you might find a plugin that is a better fit for your project than WPML or Polylang.\\n\\nMost of the translation work will be done through the editor, since you\'ll need to translate the content on posts and pages.\\n\\n## Additional resources\\nInternationalization (_I18n_) and Localization (_L10n_) are very broad topics, so it\'s impossible to cover everything in a single blog post.\\n\\nIf you wish to know about the core I18n functionalities, or a bit more about how it is used in the Eightshift DevKit, here are a few resources which you may find interesting:\\n- [WordPress Codex - I18n for WordPress Developers](https://codex.wordpress.org/I18n_for_WordPress_Developers)\\n- [Eightshift Development kit documentation - Tips & Tricks](https://eightshift.com/docs/basics/tips-tricks/#internationalization-i18n-and-localization-l10n)\\n- [Infinum WordPress Handbook - Localization](https://infinum.com/handbook/wordpress/translations/localization)"},{"id":"wrapper-as-a-standalone-component","metadata":{"permalink":"/blog/wrapper-as-a-standalone-component","source":"@site/blog/2023-09-05-wrapper-as-a-standalone-component.md","title":"How to use the Wrapper as a standalone component","description":"Explains the process of using the Wrapper component in WordPress templates.","date":"2023-09-05T00:00:00.000Z","formattedDate":"September 5, 2023","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"wrapper","permalink":"/blog/tags/wrapper"},{"label":"components","permalink":"/blog/tags/components"}],"readingTime":3.205,"hasTruncateMarker":true,"authors":[{"name":"Ivan Kancijan","title":"WordPress Engineer","url":"https://github.com/kancijan","imageURL":"https://avatars.githubusercontent.com/u/135589039?v=4","key":"kancijan"}],"frontMatter":{"title":"How to use the Wrapper as a standalone component","description":"Explains the process of using the Wrapper component in WordPress templates.","slug":"wrapper-as-a-standalone-component","authors":"kancijan","date":"2023-09-05T00:00:00.000Z","tags":["eightshift","boilerplate","wrapper","components"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"Making your project multilingual","permalink":"/blog/making-your-project-multilingual"},"nextItem":{"title":"Working with custom queries","permalink":"/blog/working-with-custom-queries"}},"content":"As one of the most powerful features in the Eightshift DevKit, the Wrapper is a part of every Eightshift block in the Gutenberg editor, but what about WordPress templates?\\n\x3c!--truncate--\x3e\\n\\n:::note\\n[Wrapper](https://eightshift.com/docs/basics/blocks-wrapper/) is designed to be the ultimate top-level component that controls how your block behaves in the website layout. It is a sort of a \'section\' in traditional builders. By default, you can control a whole lot of stuff, but there is an option to add custom attributes and tailor the Wrapper to the needs of your project.\\n:::\\n\\n## What are WordPress templates?\\n\\nBefore the days of [Full Site Editing](https://developer.wordpress.org/block-editor/getting-started/full-site-editing/) in WordPress, we used [template files](https://developer.wordpress.org/themes/basics/template-hierarchy/) to add custom layouts to a blog page or post archives.\\n\\n:::note\\nWhile Full-site editing (FSE) _is_ supported in Eightshift Libs, a couple of modifications have to be done in your project to make it work.\\n:::\\n\\nDepending on your setup, you might still use those as they are still a core part of WordPress themes.\\n\\n## Usage in templates\\n\\nThanks to the `Components` helper, we can easily `render()` any component in our template. \\n\\n:::note\\nInterested in how to use components in a block? Take a look at [our docs](https://eightshift.com/docs/basics/blocks-component-in-block#i-have-a-component-that-i-want-to-use-manually).\\n:::\\n\\nFor this example, we\'ll use `index.php`, as you already have it in your theme. If not, use the code below:\\n\\n```php\\n<?php\\n\\n/**\\n * Display regular index/home page\\n *\\n * @package InfinumLibs\\n */\\n\\nuse InfinumLibsVendor\\\\EightshiftLibs\\\\Helpers\\\\Components;\\n\\nget_header();\\n\\nif (have_posts()) {\\n\\twhile (have_posts()) {\\n\\t\\tthe_post();\\n\\t\\tthe_title();\\n\\t\\tthe_content();\\n\\t}\\n}\\n\\nget_footer();\\n```\\n![No Wrapper](/img/blog/no-wrapper.png)\\n\\nAnd there it is, a bog-standard blog page that you can style only \\"the old way\\"... But not in our case!\\n\\n## Using the Wrapper component\\n\\nFirst, let\'s import our `Components` helper class. Make sure to use the namespace from your `composer.json`.\\n```php\\nuse InfinumLibsVendor\\\\EightshiftLibs\\\\Helpers\\\\Components;\\n```\\n\\nIf we look deeper into the `render` method, we\'ll see that for the `$component` parameter, we can pass the _component\'s name or the full path (ending with .php)_. We made it simple, so use `wrapper`.\\n\\n:::note\\nIf you are upgrading from an older version (supported since [Libs v6.5.7] (https://github.com/infinum/eightshift-libs/releases/tag/6.5.7) and [Frontend Libs v8.6.2](https://github.com/infinum/eightshift-frontend-libs/releases/tag/8.6.2)) copy code from [wrapper.php](https://github.com/infinum/eightshift-frontend-libs/blob/develop/blocks/init/src/Blocks/wrapper/wrapper.php) into your project.\\n:::\\n\\nWe have two required properties to add to the Wrappers `manifest.json`: `wrapperOnlyOutput` and `wrapperManualContent`.\\n\\n```json\\n\\"wrapperOnlyOutput\\": {\\n\\t\\"type\\": \\"boolean\\",\\n\\t\\"default\\": false\\n},\\n\\"wrapperManualContent\\": {\\n\\t\\"type\\": \\"string\\",\\n\\t\\"default\\": \\"\\"\\n}\\n```\\n\\n```php\\necho Components::render(\\n\\t\'wrapper\',\\n\\t[\\n\\t\\t\'wrapperOnlyOutput\' => true,\\n\\t\\t\'wrapperManualContent\' => \'\',\\n\\t],\\n\\t\'\',\\n\\ttrue\\n);\\n```\\n:::note\\nSetting the `$useComponentDefaults` to `true` will save you the trouble of setting a lot of additional properties by using default values defined in your manifest.\\n:::\\n\\n### Wrapper output\\n\\nNow that we have a working Wrapper component in our template, it\'s time to display posts in the loop.\\n\\nLet\'s use the [Card](https://infinum.github.io/eightshift-frontend-libs/storybook/?path=/story/components-card--editor) from the Frontend Libs as it\'s the perfect component to display post details and pass it to the `wrapperManualContent`.\\n\\nTo make the Card component look even better, we\'ll use some of the powerful properties the Wrapper component has to offer and add spacing between each item.\\n\\n```php\\n\'wrapperSpacingTopLarge\' => 50,\\n\'wrapperSpacingBottomLarge\' => 50,\\n```\\n\\n:::note\\nFor the list of all available properties, look at the Wrapper\'s `manifest.json`.\\n:::\\n\\n### Final result\\n\\n```php\\n<?php\\n\\n/**\\n * Display regular index/home page\\n *\\n * @package InfinumLibs\\n */\\n\\nuse InfinumLibsVendor\\\\EightshiftLibs\\\\Helpers\\\\Components;\\n\\nget_header();\\n\\nif (have_posts()) {\\n\\twhile (have_posts()) {\\n\\t\\tthe_post();\\n\\n\\t\\techo Components::render(\\n\\t\\t\\t\'wrapper.php\',\\n\\t\\t\\t[\\n\\t\\t\\t\\t\'wrapperOnlyOutput\' => true,\\n\\t\\t\\t\\t\'wrapperManualContent\' => Components::render(\'card\', [\\n\\t\\t\\t\\t\\t\'introContent\' => sprintf(__(\'On %1$s by %2$s\', \'eightshift\'), get_the_date(), get_the_author_meta(\'display_name\')),\\n\\t\\t\\t\\t\\t\'headingContent\' => get_the_title(),\\n\\t\\t\\t\\t\\t\'paragraphContent\' => apply_filters(\'the_content\', get_the_excerpt()),\\n\\t\\t\\t\\t\\t\'buttonContent\' => __(\'View more\', \'eightshift\'),\\n\\t\\t\\t\\t\\t\'buttonUrl\' => get_permalink(),\\n\\t\\t\\t\\t]),\\n\\t\\t\\t\\t\'wrapperSpacingTopLarge\' => 50,\\n\\t\\t\\t\\t\'wrapperSpacingBottomLarge\' => 50,\\n\\t\\t\\t],\\n\\t\\t\\t\'\',\\n\\t\\t\\ttrue\\n\\t\\t);\\n\\t}\\n}\\n\\nget_footer();\\n```\\n![Wrapper with content](/img/blog/wrapper-content.png)\\n\\n## Conclusion\\n\\nAlthough the Wrapper is (usually) not intended to be used as a standalone component, there is a nice benefit to having a time-saving, out-of-the-box solution for displaying content in a grid already defined in your project."},{"id":"working-with-custom-queries","metadata":{"permalink":"/blog/working-with-custom-queries","source":"@site/blog/2023-08-03-adding-custom-query.md","title":"Working with custom queries","description":"Explains the process of registering a new service class, adding a custom query and using it in a block.","date":"2023-08-01T00:00:00.000Z","formattedDate":"August 1, 2023","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"service","permalink":"/blog/tags/service"},{"label":"class","permalink":"/blog/tags/class"},{"label":"query","permalink":"/blog/tags/query"}],"readingTime":3.995,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"Working with custom queries","description":"Explains the process of registering a new service class, adding a custom query and using it in a block.","slug":"working-with-custom-queries","authors":"obradovic","date":"2023-08-01T00:00:00.000Z","tags":["eightshift","boilerplate","service","class","query"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"How to use the Wrapper as a standalone component","permalink":"/blog/wrapper-as-a-standalone-component"},"nextItem":{"title":"Using multiple same components","permalink":"/blog/multiple-same-components"}},"content":"Eightshift DevKit offers some blocks with query logic out of the box, but what is the best approach when you need to add a custom query to a block you\u2019ve been working on?\\n\x3c!--truncate--\x3e\\n\\n## Usage in built-in blocks\\n\\nOne of the Eightshift blocks that already uses `WP_Query` is the ***Featured Content*** block. In that block, you can see the query logic is inside the block. However, there is a much better way to do it. The reason it was done like this was to simplify this block and to have an already functioning block available with one WP-CLI command.\\n\\nA much better approach would be to separate the query logic from the block. Other than following the MVC architecture more closely, this will also make the query logic more reusable. To do this, we\u2019re gonna create a service class.\\n\\n## What are Service classes?\\n\\n*Put simply, a Service is any PHP object that performs some sort of \\"global\\" task. - Symfony docs*\\n\\nIf you take a look at the `ServiceInterface` interface, you\u2019ll notice it only contains the `register()` method. This method holds action and filter hooks for that class. Other than hooking into existing actions and filters, this method can be used to register our own filters which can be used in blocks or other classes.\\n\\nBasically, whenever you need to hook into actions or filters, you should use a Service class for that.\\n\\n## Creating a new service class\\n\\nCreating a new service class in your project is as simple as using the following WP-CLI command:\\n\\n```bash\\nwp boilerplate create service-example --folder=CustomQuery --file_name=CustomQuery\\n```\\n\\nOnce this new class is generated, you can add a new public method that will contain the query logic. We want our method to accept three optional arguments:\\n\\n- ID of the category\\n- number of posts per page\\n- number of the current page\\n\\nHaving the category ID optional will allow for one more use case, and that is fetching the latest posts regardless of category. By default, WordPress sorts the posts by publish date, from newest to oldest.\\n\\n```php\\n/**\\n * Get posts by category ID.\\n *\\n * @param int $categoryId Category ID.\\n * @param int $postsPerPage Number of posts per page.\\n * @param int $currentPage Current page number.\\n *\\n * @return WP_Query Query object.\\n */\\npublic function getPostsByCategory($categoryId = null, $postsPerPage = 3, $currentPage = 1): WP_Query\\n{\\n\\t$postArgs = [\\n\\t\\t\'post_type\' => \'post\',\\n\\t\\t\'cat\' => $categoryId,\\n\\t\\t\'posts_per_page\' => $postsPerPage,\\n\\t\\t\'paged\' => $currentPage,\\n\\t];\\n\\n\\treturn new WP_Query($postArgs);\\n}\\n```\\n\\nTo use this method, we can add it as a filter. The filter name should be added as a constant for easier maintenance. Inside the `register()` method, add the following:\\n\\n```php\\n\\\\add_filter(self::GET_POSTS_BY_CATEGORY, [$this, \'getPostsByCategory\'], 10, 3);\\n```\\n\\n## Using the new filter\\n\\n:::note\\nEven if you register a filter for a method that doesn\u2019t accept any arguments, when calling `apply_filters`, you must pass at least 1 parameter. In those cases, simply add `null` as a parameter.\\n:::\\n\\nHere are some examples how you can use the filter:\\n\\n```php\\n// Get 3 latest posts, regardless of category.\\n$allLatestPosts = apply_filters(CustomQuery::GET_POSTS_BY_CATEGORY, null);\\n\\n// Get 10 latest posts from the News category. News category ID is 2.\\n$latestNews = apply_filters(CustomQuery::GET_POSTS_BY_CATEGORY, 2, 10);\\n\\n// Get another page of News category.\\n$pagedNews = apply_filters(CustomQuery::GET_POSTS_BY_CATEGORY, 2, 10, $currentPage);\\n```\\n\\nThe above example shows multiple use cases. The first two examples could be used in a simple block that displays only the selected number of the latest posts. The last example may be used in a REST route for a load more functionality or in a block with classic pagination.\\n\\nNow you can do a regular query loop in your block to display the posts:\\n\\n```php\\nif ($latestNews->have_posts()) {\\n\\twhile ($latestNews->have_posts()) {\\n\\t\\t$latestNews->the_post();\\n\\t\\t// render the card here with the Components::render helper.\\n\\t}\\n}\\nwp_reset_postdata();\\n```\\n\\n:::caution Important\\nDon\'t forget to add `wp_reset_postdata()` after looping through the custom query!\\n:::\\n\\n## Prepare only the data you need\\n\\nIf you would like to improve this even further, you can run the `have_posts()` loop inside the class and save only the data you need to render to an array. This makes the logic even more separated from the view and all you have to do in a block is loop through the array and populate the component attributes with the values from the array.\\n\\n```php\\n$postData = [];\\n\\nif ($queryData->have_posts()) {\\n\\twhile($queryData->have_posts()) {\\n\\t\\t$queryData->the_post();\\n\\n\\t\\t$postData[] = [\\n\\t\\t\\t\'id\' => get_the_ID(),\\n\\t\\t\\t\'title\' => get_the_title(),\\n\\t\\t\\t\'url\' => get_permalink(),\\n\\t\\t\\t\'image\' => get_the_post_thumbnail_url(),\\n\\t\\t\\t\'date\' => get_the_time(\'d.m.Y.\'),\\n\\t\\t\\t\'excerpt\' => get_the_excerpt(),\\n\\t\\t];\\n\\t}\\n}\\n\\nwp_reset_postdata();\\n\\nreturn $postData;\\n```\\n\\n## Best practices for queries\\n\\nIt\u2019s important to have query optimisation in mind. Some queries may be a lot slower and you have to see if there is any way to follow the [best practices for database queries](https://infinum.com/handbook/wordpress/coding-standards/php-coding-standards/database-queries)."},{"id":"multiple-same-components","metadata":{"permalink":"/blog/multiple-same-components","source":"@site/blog/2023-06-12-multiple-same-components.md","title":"Using multiple same components","description":"Explains how to use multiple same components inside","date":"2023-06-12T00:00:00.000Z","formattedDate":"June 12, 2023","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"components","permalink":"/blog/tags/components"},{"label":"blocks","permalink":"/blog/tags/blocks"}],"readingTime":6.305,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"Using multiple same components","description":"Explains how to use multiple same components inside","slug":"multiple-same-components","authors":"obradovic","date":"2023-06-12T00:00:00.000Z","tags":["eightshift","boilerplate","components","blocks"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"Working with custom queries","permalink":"/blog/working-with-custom-queries"},"nextItem":{"title":"Block Patterns","permalink":"/blog/block-patterns"}},"content":"From time to time, you may need to create a block or a more complex component that uses more than one instance of the same component. In this blog post, we\'ll explain how this works in a bit more detail.\\n\x3c!--truncate--\x3e\\n\\nAn example of this use case is the Card component, which uses two heading components. You may get the general idea by just going through the code and trying to reverse-engineer it, but this example will give you a much better understanding of how it works and how to use it. First, let\'s cover some basics.\\n\\n## Manifest and attributes\\nThe way multiple same components work is by having a different key. Here is an example of the Card component:\\n\\n```json\\n\\"components\\": {\\n\\t\\"image\\": \\"image\\",\\n\\t\\"intro\\": \\"heading\\",\\n\\t\\"heading\\": \\"heading\\",\\n\\t\\"paragraph\\": \\"paragraph\\",\\n\\t\\"button\\": \\"button\\"\\n},\\n```\\nAs you can see, one heading component has the `intro` key, while the other one has the `heading` key. That way the **intro** heading component is being referred to as `intro` so there is no mixup with the attribute values between the two heading blocks. This can be seen when setting the default attributes:\\n\\n```json\\n\\"cardIntroSize\\": {\\n\\t\\"type\\": \\"string\\",\\n\\t\\"default\\": \\"tiny\\"\\n},\\n\\"cardHeadingSize\\": {\\n\\t\\"type\\": \\"string\\",\\n\\t\\"default\\": \\"big\\"\\n}\\n```\\n\\n## The \\"props\\" Helper\\nThis method does all the heavy lifting for us. It replaces the default attribute names with the ones we provide. There is both the PHP and JS version of it.\\n\\n```php\\nComponents::render(\'heading\', Components::props(\'intro\', $attributes, [\\n\\t\'selectorClass\' => \'intro\',\\n\\t\'blockClass\' => $componentClass\\n]))\\n```\\n\\n```js\\n\\n<HeadingEditor\\n\\t{...props(\'intro\', attributes, {\\n\\t\\tselectorClass: \'intro\',\\n\\t\\tblockClass: componentClass,\\n\\t})}\\n/>\\n\\n```\\n\\nIf you `var_dump` the props helper, you\u2019ll notice the `prefix` key, which is built from the names of the blocks and components used hierarchically. For example, when looking at a regular Heading component in the Card block, the prefix will be:\\n\\n`cardCardHeading` - first is the Card block name, then the Card component name and finally Heading component name.\\n\\nThe Heading component that is called Intro then has the prefix `cardCardIntro`. This prefix is then added to the attribute name, which then finally results in `cardCardHeadingSize` and `cardCardIntroSize` attributes, for example.\\n\\nWhile at first glance it seems strange to have this naming scheme, it actually allows us to figure out the hierarchy just by looking at the attribute name.\\n\\n## A step-by-step example\\n\\nThe block we\'ll be creating as an example will be a block which we can use for some sort of comparison or listing pros and cons. To create it, we will need the following:\\n- two `Heading` components\\n- two `List` components\\n\\nThe easiest way to create a new block is by using the boilerplate command\\n\\n`wp boilerplate blocks use-block --name=example`\\n\\nOnce the new block is added to your project, rename it. Also, don\u2019t forget to update all file names and imports in JS.\\n\\nWe should start with `manifest.json`, where we define the components we\'ll use and set the default attributes. For now, just define the components and their keys:\\n\\n```json\\n\\"components\\": {\\n\\t\\"heading\\": \\"heading\\",\\n\\t\\"lists\\": \\"lists\\",\\n\\t\\"secondaryHeading\\": \\"heading\\",\\n\\t\\"secondaryLists\\": \\"lists\\"\\n}\\n```\\n\\nThe first section has the default key names, while the \\"duplicates\\" have different key names.\\n\\nAfter manifest, we can move to the JS part. As this is a fairly simple block without any advanced options or layouts, we need to add two `HeadingEditor` components and two `ListsEditor` components. To make styling easier, we can separate them in two `div` elements. When you\u2019re finished, your code should look like this:\\n\\n```jsx\\nimport React from \'react\';\\nimport { __ } from \'@wordpress/i18n\';\\nimport { HeadingEditor } from \'../../../components/heading/components/heading-editor\';\\nimport { ListsEditor } from \'../../../components/lists/components/lists-editor\';\\n\\nimport { props, selector } from \'@eightshift/frontend-libs/scripts\';\\n\\nexport const ComparisonEditor = ({ attributes, setAttributes }) => {\\n\\tconst {\\n\\t\\tblockClass,\\n\\t} = attributes;\\n\\n\\tconst comparisonPrimaryClass = selector(blockClass, blockClass, \'primary\');\\n\\n\\tconst comparisonSecondaryClass = selector(blockClass, blockClass, \'secondary\');\\n\\n\\treturn (\\n\\t\\t<div className={blockClass}>\\n\\t\\t\\t<div className={comparisonPrimaryClass}>\\n\\t\\t\\t\\t<HeadingEditor\\n\\t\\t\\t\\t\\t{...props(\'heading\', attributes, {\\n\\t\\t\\t\\t\\t\\tblockClass: blockClass,\\n\\t\\t\\t\\t\\t\\tsetAttributes: setAttributes,\\n\\t\\t\\t\\t\\t})}\\n\\t\\t\\t\\t/>\\n\\n\\t\\t\\t\\t<ListsEditor\\n\\t\\t\\t\\t\\t{...props(\'lists\', attributes, {\\n\\t\\t\\t\\t\\t\\tblockClass: blockClass,\\n\\t\\t\\t\\t\\t\\tsetAttributes: setAttributes,\\n\\t\\t\\t\\t\\t})}\\n\\t\\t\\t\\t/>\\n\\t\\t\\t</div>\\n\\t\\t\\t<div className={comparisonSecondaryClass}>\\n\\t\\t\\t\\t<HeadingEditor\\n\\t\\t\\t\\t\\t{...props(\'secondaryHeading\', attributes, {\\n\\t\\t\\t\\t\\t\\tselectorClass: \'secondary-heading\',\\n\\t\\t\\t\\t\\t\\tblockClass: blockClass,\\n\\t\\t\\t\\t\\t\\tsetAttributes: setAttributes,\\n\\t\\t\\t\\t\\t})}\\n\\t\\t\\t\\t/>\\n\\n\\t\\t\\t\\t<ListsEditor\\n\\t\\t\\t\\t\\t{...props(\'secondaryLists\', attributes, {\\n\\t\\t\\t\\t\\t\\tselectorClass: \'secondary-lists\',\\n\\t\\t\\t\\t\\t\\tblockClass: blockClass,\\n\\t\\t\\t\\t\\t\\tsetAttributes: setAttributes,\\n\\t\\t\\t\\t\\t})}\\n\\t\\t\\t\\t/>\\n\\t\\t\\t</div>\\n\\t\\t</div>\\n\\t);\\n};\\n```\\n\\nNote how we defined the different names with the `props` helper. Additionally, we set the selector class for easier targeting of components when styling.\\n\\nNext, we can add the options. Again, the `props` helper does all the heavy lifting for us. This is how the code should look after adding all component options:\\n\\n```jsx\\nimport React from \'react\';\\nimport { __ } from \'@wordpress/i18n\';\\nimport { props, getOptions } from \'@eightshift/frontend-libs/scripts\';\\nimport { HeadingOptions } from \'../../../components/heading/components/heading-options\';\\nimport { ListsOptions } from \'../../../components/lists/components/lists-options\';\\nimport { PanelBody } from \'@wordpress/components\';\\nimport manifest from \'../manifest.json\';\\n\\nexport const ComparisonOptions = ({ attributes, setAttributes }) => {\\n\\treturn (\\n\\t\\t<PanelBody title={__(\'Comparison\', \'eightshift\')}>\\n\\t\\t\\t<HeadingOptions\\n\\t\\t\\t\\t{...props(\'heading\', attributes, {\\n\\t\\t\\t\\t\\tsetAttributes,\\n\\t\\t\\t\\t\\toptions: getOptions(attributes, manifest)\\n\\t\\t\\t\\t})}\\n\\t\\t\\t\\treducedBottomSpacing\\n\\t\\t\\t/>\\n\\n\\t\\t\\t<ListsOptions\\n\\t\\t\\t\\t{...props(\'lists\', attributes, {\\n\\t\\t\\t\\t\\tsetAttributes,\\n\\t\\t\\t\\t\\toptions: getOptions(attributes, manifest)\\n\\t\\t\\t\\t})}\\n\\t\\t\\t\\treducedBottomSpacing\\n\\t\\t\\t/>\\n\\n\\t\\t\\t<HeadingOptions\\n\\t\\t\\t\\t{...props(\'secondaryHeading\', attributes, {\\n\\t\\t\\t\\t\\tsetAttributes,\\n\\t\\t\\t\\t\\toptions: getOptions(attributes, manifest)\\n\\t\\t\\t\\t})}\\n\\t\\t\\t\\tlabel={__(\'Secondary Heading\', \'eightshift\')}\\n\\t\\t\\t\\treducedBottomSpacing\\n\\t\\t\\t/>\\n\\n\\t\\t\\t<ListsOptions\\n\\t\\t\\t\\t{...props(\'secondaryLists\', attributes, {\\n\\t\\t\\t\\t\\tsetAttributes,\\n\\t\\t\\t\\t\\toptions: getOptions(attributes, manifest)\\n\\t\\t\\t\\t})}\\n\\t\\t\\t\\tlabel={__(\'Secondary Lists\', \'eightshift\')}\\n\\t\\t\\t\\treducedBottomSpacing\\n\\t\\t\\t/>\\n\\t\\t</PanelBody>\\n\\t);\\n};\\n```\\n\\nAdding the PHP part should be simple, but here is the code for reference:\\n\\n```php\\n<?php\\n\\n/**\\n * Template for the Comparison Block view.\\n *\\n * @package Eightshift\\n */\\n\\nuse EightshiftVendor\\\\EightshiftLibs\\\\Helpers\\\\Components;\\n\\n$globalManifest = Components::getManifest(dirname(__DIR__, 2));\\n$manifest = Components::getManifest(__DIR__);\\n\\n$blockClass = $attributes[\'blockClass\'] ?? \'\';\\n\\n$comparisonPrimaryClass = Components::selector($blockClass, $blockClass, \'primary\');\\n\\n$comparisonSecondaryClass = Components::selector($blockClass, $blockClass, \'secondary\');\\n\\n$unique = Components::getUnique();\\n\\n?>\\n\\n<div class=\\"<?php echo esc_attr($blockClass); ?>\\">\\n\\t<?php echo Components::outputCssVariables($attributes, $manifest, $unique, $globalManifest); ?>\\n\\t<div class=\\"<?php echo esc_attr($comparisonPrimaryClass); ?>\\">\\n\\t\\t<?php\\n\\t\\t\\techo Components::render(\'heading\', Components::props(\'heading\', $attributes)),\\n\\t\\t\\tComponents::render(\'lists\', Components::props(\'lists\', $attributes));\\n\\t\\t?>\\n\\t</div>\\n\\t<div class=\\"<?php echo esc_attr($comparisonSecondaryClass); ?>\\">\\n\\t\\t<?php\\n\\t\\t\\techo Components::render(\'heading\', Components::props(\'secondaryHeading\', $attributes)),\\n\\t\\t\\tComponents::render(\'lists\', Components::props(\'secondaryLists\', $attributes));\\n\\t\\t?>\\n\\t</div>\\n</div>\\n```\\n\\nThe block should work properly now, but the two lists look the same. To make a difference between the two, we can change the default list colors in the manifest. If we don\u2019t have the colors we want already available in the project, first we need to add them to the global manifest.\\n\\nFor a detailed explanation on how to add new colors to your project, you can read a previous blog post about [modifying blocks](/blog/modifying-blocks-color-theme#adding-new-colors-to-your-project).\\n\\nNow we have to add these new colors to the Lists component `manifest.json`. In `options` key, find the `listsColor` and add your new colors.\\n\\nWhen the new colors are added to the Lists component, we can set these new colors as defaults by adding the following attributes in `manifest.json` of our Comparison block:\\n\\n```json\\n\\"comparisonListsColor\\": {\\n\\t\\"type\\": \\"string\\",\\n\\t\\"default\\": \\"green-haze\\"\\n},\\n\\"comparisonSecondaryListsColor\\": {\\n\\t\\"type\\": \\"string\\",\\n\\t\\"default\\": \\"milano-red\\"\\n}\\n```\\n\\nThe first list will now have green bullet points, and the second one will have red bullet points.\\n\\n![Comparison block](/img/blog/comparison-block.webp)\\n\\nNotice again how the attribute name is structured - current block name (**comparison**), component name (**Lists** or **SecondaryLists**), attribute (**Color**).\\n\\nIf you\u2019re ever in doubt of what is the exact attribute name, you can always `var_dump` the `props` helper for that component and you will see the full attribute names as the keys.\\n\\n```\\nArray\\n(\\n [prefix] => comparisonSecondaryLists\\n // ...\\n [comparisonSecondaryListsOrdered] => ul\\n [comparisonSecondaryListsSize] => body:regular\\n [comparisonSecondaryListsColor] => milano-red\\n [comparisonSecondaryListsColorOnlyMarker] =>\\n [comparisonSecondaryListsUse] => 1\\n // ...\\n)\\n```\\n\\n### Conclusion\\n\\nAlthough this was a simple example, we covered the most important things to have in mind when using multiple same components in a block. For additional practice, you can add some more attributes or go through some of our pre-made blocks which use multiple same components. Some components/blocks you can look into are `Card` and `Quote`."},{"id":"block-patterns","metadata":{"permalink":"/blog/block-patterns","source":"@site/blog/2022-12-22-block-patterns.md","title":"Block Patterns","description":"Intro to block patterns and examples how to use them","date":"2023-03-01T00:00:00.000Z","formattedDate":"March 1, 2023","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"block","permalink":"/blog/tags/block"},{"label":"patterns","permalink":"/blog/tags/patterns"}],"readingTime":3.95,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"Block Patterns","description":"Intro to block patterns and examples how to use them","slug":"block-patterns","authors":"obradovic","date":"2023-03-01T00:00:00.000Z","tags":["eightshift","boilerplate","block","patterns"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"Using multiple same components","permalink":"/blog/multiple-same-components"},"nextItem":{"title":"Using Custom Post Types and Taxonomies","permalink":"/blog/using-cpts-and-taxonomies"}},"content":"Although Block Patterns may be similar to Block Variations, there are some differences between the two. This blog post will cover what Block Patterns are and how to use them.\\n\x3c!--truncate--\x3e\\n\\n## What are Block Patterns and why use them?\\nBlock Patterns are predefined block layouts which allow you to add content faster and make it look more consistent. The basic idea is to have a ready-made template which consists of multiple blocks, that have options predefined, and all you have to do is add content to these blocks.\\n\\nThey can be used in multiple ways. You can create sections composed of few blocks which you can then easily insert anywhere on the site. You can also create complex page layouts which could be used for writing blog posts, for example.\\n\\n## Technical differences\\nAs explained in the [Eightshift Development kit documentation](https://eightshift.com/docs/basics/blocks-patterns), the main difference between variations and patterns are:\\n- variations provide data using `manifest.json`, while patterns are registered using PHP\\n- variations appear in the editor in the same tab as blocks, while patterns appear in their own tab\\n\\n\\n## Registering Block Patterns\\nTo make registering new block patterns easier, there is a WP-CLI command which will help you create a new block pattern. For this example, the block pattern we\'re making is called **Intro**. To get started, run this WP-CLI command:\\n```shell\\nwp boilerplate blocks create-block-pattern --title=intro\\n```\\n\\nAfter generating the block pattern class, there are a few more adjustments you should make to it. For starters, you should update these methods:\\n- `getName()` - change the return value to `eightshift-boilerplate/intro-pattern`\\n- `getDescription()` - add any description you like\\n\\nOnce these values are updated, you can make the layout you\'ll use as a Block Pattern. The easiest way to do it is to build your layout in the editor, switch to `Code Editor`, copy the code and paste in inside your `getContent()` method. Your pattern should now be available to use. For this example, we can create a simple pattern which consists of a Heading block and a Paragraph block.\\n\\n![Option to switch to Code Editor](/img/blog/code-editor.webp)\\n\\n```php\\nprotected function getContent(): string\\n{\\n\\treturn \'\x3c!-- wp:eightshift-boilerplate/heading {\\"headingHeadingContent\\":\\"Post title goes here\\",\\"headingHeadingSize\\":\\"big\\"} /--\x3e\\n\\t\x3c!-- wp:eightshift-boilerplate/paragraph {\\"paragraphParagraphContent\\":\\"\\\\u003cem\\\\u003ePost intro goes here\\\\u003c/em\\\\u003e\\"} /--\x3e\';\\n}\\n```\\n\\n### Managing Pattern Categories\\n\\nTo make managing block patterns easier, we can group them into categories. To start, we need a service class. This class will be used to register our custom categories and remove core categories. The fastest way to add it to our project is by using the following WP-CLI command:\\n```shell\\nwp boilerplate create service-example --folder=BlockPatterns --file_name=ManagePatternCategories\\n```\\n\\nNow that we have our service class, we\'ll add methods for removing core patterns and pattern categories. First, the method for removing core categories.\\n```php\\n/**\\n * Unregisters core block pattern categories.\\n *\\n * @return void\\n */\\npublic function removeCoreCategories()\\n{\\n\\t\\\\unregister_block_pattern_category(\'buttons\');\\n\\t\\\\unregister_block_pattern_category(\'columns\');\\n\\t\\\\unregister_block_pattern_category(\'gallery\');\\n\\t\\\\unregister_block_pattern_category(\'header\');\\n\\t\\\\unregister_block_pattern_category(\'text\');\\n}\\n```\\nThe second method will remove all core patterns\\n\\n```php\\n/**\\n * Removes support for core block patterns.\\n *\\n * @return void\\n */\\npublic function removeBlockPatternsCore()\\n{\\n\\t\\\\remove_theme_support(\'core-block-patterns\');\\n}\\n```\\n\\nFor these methods to work, we need to add them to the `register()` method of our service class. Add the following actions:\\n```php\\n\\\\add_action(\'init\', [$this, \'removeCoreCategories\'], 40);\\n\\\\add_action(\'after_setup_theme\', [$this, \'removeBlockPatternsCore\'], 20);\\n```\\n\\nIf you try searching for patterns in your editor, you\'ll notice they are no longer available. Now we can move on to adding our block pattern categories. The best approach is to define the pattern category names as constants inside your class. In this example, we will add two categories: **Templates** and **Sections**. We can add the following code inside our class:\\n```php\\nclass ManagePatternCategories implements ServiceInterface\\n{\\n\\tpublic const TEMPLATES_CATEGORY = \'templates-category\';\\n\\tpublic const SECTIONS_CATEGORY = \'sections-category\';\\n\\n\\t// Removed parts of code for better readability.\\n\\n\\t/**\\n\\t * Registers new pattern categories.\\n\\t *\\n\\t * @return void\\n\\t */\\n\\tpublic function addCategories()\\n\\t{\\n\\t\\t\\\\register_block_pattern_category(self::TEMPLATES_CATEGORY, [\\n\\t\\t\\t\'label\' => \\\\esc_html__(\'Templates\', \'es-blog\'),\\n\\t\\t]);\\n\\n\\t\\t\\\\register_block_pattern_category(self::SECTIONS_CATEGORY, [\\n\\t\\t\\t\'label\' => \\\\esc_html__(\'Sections\', \'es-blog\'),\\n\\t\\t]);\\n\\t}\\n}\\n```\\n\\nFinally, return to your Intro Pattern class and update the `getCategories()` method:\\n```php\\nprotected function getCategories(): array\\n{\\n\\treturn [\\n\\t\\tManagePatternCategories::SECTIONS_CATEGORY\\n\\t];\\n}\\n```\\n\\nIn editor, in the Pattern tab, you should now see your new pattern category and the Intro Pattern.\\n\\n![New pattern category and block pattern](/img/blog/block-pattern-example.webp)\\n\\n## Things to keep in mind\\nBlock patterns add layout and content which you can then modify at will per instance. These instances are not synchronised with the codebase so it becomes an issue if you\'ve already used a pattern on multiple places on the site and then notice you\'ve missed something in the pattern configuration phase. Fixing the pattern in the codebase will apply the changes on all newly added instances, but you will have to fix the misconfigured instances manually."},{"id":"using-cpts-and-taxonomies","metadata":{"permalink":"/blog/using-cpts-and-taxonomies","source":"@site/blog/2022-12-13-using-cpts-and-taxonomies.md","title":"Using Custom Post Types and Taxonomies","description":"How to register and use custom post types and taxonomies with Eightshift Dev Kit","date":"2022-12-13T00:00:00.000Z","formattedDate":"December 13, 2022","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"cpt","permalink":"/blog/tags/cpt"},{"label":"custom post type","permalink":"/blog/tags/custom-post-type"},{"label":"taxonomy","permalink":"/blog/tags/taxonomy"},{"label":"taxonomies","permalink":"/blog/tags/taxonomies"},{"label":"terms","permalink":"/blog/tags/terms"}],"readingTime":4.115,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"Using Custom Post Types and Taxonomies","description":"How to register and use custom post types and taxonomies with Eightshift Dev Kit","slug":"using-cpts-and-taxonomies","authors":"obradovic","date":"2022-12-13T00:00:00.000Z","tags":["eightshift","boilerplate","cpt","custom post type","taxonomy","taxonomies","terms"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"Block Patterns","permalink":"/blog/block-patterns"},"nextItem":{"title":"Block Variations","permalink":"/blog/block-variations"}},"content":"WordPress offers two default ways to group content by content type - using posts or pages. Posts and pages are registered as default post types in the WordPress app. But sometimes, that is not enough. That\'s where custom post types (CPT) and custom taxonomies come in. This blog post will cover the basics of registering CPTs and taxonomies using Eightshift Dev Kit.\\n\\n\x3c!--truncate--\x3e\\n## Why should you use CPTs?\\nThe great thing about WordPress is how extensible it is. With projects becoming more complex, the need for additional post types and taxonomies increases. Sure, you can cram everything into default posts or pages, but this can become very chaotic. Using custom post types allows you to manage your content much better. You can separate events and projects from news articles for instance.\\n\\nPost `category` and `tag` are taxonomies - a grouping you can further separate by terms belonging to that taxonomy. WordPress, since version 2.3.0 offers a way to register your own, custom taxonomies.\\n\\n## Registering Custom Post Types\\nFor this exercise, we\'ll create a new post type called `Projects`. To make the process of registering new CPTs as easy as possible, we\'ll use a WP-CLI command to create our CPT with the following command:\\n\\n```bash\\nwp boilerplate create post-type --label=\'Project\' --plural_label=\'Projects\' --slug=\'project\' --rewrite_url=\'project\' --rest_endpoint_slug=\'projects\'\\n```\\n\\n:::tip\\nIf your new CPT is not working, try flushing rewrite rules by re-saving the settings in **Settings -> Permalinks** or by using `wp cache flush` CLI command\\n:::\\n\\nYour new post type is registered and ready to use! Easy, right?\\n\\nSometimes all these parameters can be a bit confusing, so here\'s a quick reference of best practices when setting these parameters:\\n\\n| Parameter | Singular/Plural | Writing style | Example |\\n|--------------------|-----------------|---------------|----------|\\n| label | Singular | Regular | Project |\\n| plural_label | Plural | Regular | Projects |\\n| slug | Singular | kebab-case | project |\\n| rewrite_url | Singular | kebab-case | project |\\n| rest_endpoint_slug | Plural | kebab-case | projects |\\n\\nThere is a reason for this naming convention. For example:\\n- `slug` is attached to a single custom post type in the database, which is why it is written in singular\\n- `rest_endpoint_slug` is used to fetch a collection of posts from that custom post type, which is why it should be written in plural\\n\\n## Registering Taxonomies\\nNow that we have the new custom post type, we need a way to group the projects. We\'ll create a custom taxonomy called `Project Technology`. As with the CPT registration, the easiest way to register taxonomies is by using the following WP-CLI command:\\n\\n```bash\\nwp boilerplate create taxonomy --label=\'Project Technology\' --plural_label=\'Project Technologies\' --slug=\'project-technology\' --rest_endpoint_slug=\'project-technologies\' --post_type_slug=\'project\'\\n```\\n\\nSimilar suggestions apply to the parameters when naming taxonomies as well. Be sure to write the correct post type slug for which you are registering this new taxonomy!\\n\\n## Structure\\nWhen checking your codebase after adding these new custom post types and taxonomies, you\'ll notice the post types are located inside the `src/CustomPostType` folder, and the taxonomies are located inside the `src/CustomTaxonomy` folder. Following the **Single Responsibility Principle**, each post type or taxonomy is in a separate class.\\n\\n## Modifying options\\nOur custom post type and taxonomy are ready to use, but we still want to make some changes. For starters, we want another icon and for the Projects to be located below the Posts in the WordPress admin menu. In `src/CustomPostType/ProjectPostType.php`, find the `MENU_POSITION` constant and change it to `5`. The lower the number, the higher it will be in the menu.\\n\\nNext, we want to update the icon representing the new post type in the menu. These icons are named dashicons. Change the `MENU_ICON` constant to `dashicons-clipboard`. If you want another icon for your CPT, here is the list of [available dashicons](https://developer.wordpress.org/resource/dashicons/). Finally, we want to remove the author and comments. In `getPostTypeArguments()` method, find the key `supports` in the return value and remove `author` and `comments` from the array.\\n\\n## Clashing slugs\\nSomething that can happen when working on your project is that you have the same slugs for your custom post type and your page, for example. Let\'s say you have a page with a slug `project`, and a custom post type with a slug `project`. When trying to access the page, you\'ll keep getting the Project CPT archive. To fix it, you have to change one of the slugs or write a custom redirection rule (which we don\'t recommend, as the redirections are tricky to handle in WordPress).\\n\\n## Further reading\\nFor the best overview of all the options you have when registering your custom post type or taxonomy, we recommend checking the official WordPress docs for the [register_post_type()](https://developer.wordpress.org/reference/functions/register_post_type/) and [register_taxonomy()](https://developer.wordpress.org/reference/functions/register_taxonomy/) functions.\\n\\nIf you would like to know more about taxonomies and terms, along with how they are stored in the database, you can read more about it in the [Categories, Tags, & Custom Taxonomies](https://developer.wordpress.org/themes/basics/categories-tags-custom-taxonomies/) page of the WordPress docs."},{"id":"block-variations","metadata":{"permalink":"/blog/block-variations","source":"@site/blog/2022-09-07-block-variations.md","title":"Block Variations","description":"Intro to block variations and examples of how to use them","date":"2022-09-07T00:00:00.000Z","formattedDate":"September 7, 2022","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"block","permalink":"/blog/tags/block"},{"label":"variations","permalink":"/blog/tags/variations"}],"readingTime":3.035,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"Block Variations","description":"Intro to block variations and examples of how to use them","slug":"block-variations","authors":"obradovic","date":"2022-09-07T00:00:00.000Z","tags":["eightshift","boilerplate","block","variations"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"Using Custom Post Types and Taxonomies","permalink":"/blog/using-cpts-and-taxonomies"},"nextItem":{"title":"How to use ACF in your project","permalink":"/blog/acf-in-a-project"}},"content":"Let\'s picture the following scenario: You just created a block with many options and now you want multiple versions of that block available with pre-set options. That\'s where variations come in handy!\\n\x3c!--truncate--\x3e\\n\\n## What are variations?\\n\\nBlock variations allow us to override default block attributes. We can select a variation from the block list with all preset options instead of manually setting them.\\n\\n:::note\\nYou cannot add new attributes in variations. Only attributes that exist in the parent block can be used.\\n:::\\n\\nFor example, we have a `Card` block. If we want to use it for something like downloading PDF files, we may not need image or paragraph components. A simple text that describes type of the file, title of the file and a download button are all we need in this case.\\n\\nOur new card should consist of the following components:\\n- intro\\n- heading\\n- button\\n\\n## How to register a block variation?\\n\\nThe process of registering block variations is fairly simple. In order to register a block variation, go to **src/Blocks/variations**, add a new folder, and let\'s call it `card-resource`. Inside that folder, all you need to do is add a `manifest.json` file. It is also recommended to add a `docs` folder in which you can add a readme file and storybook file.\\n\\nInside your `manifest.json` file, add the attributes to define the new default attributes for this variation. Here is an example:\\n\\n```json\\n{\\n\\t\\"$schema\\": \\"https://raw.githubusercontent.com/infinum/eightshift-frontend-libs/develop/schemas/variation.json\\",\\n\\t\\"parentName\\": \\"card\\",\\n\\t\\"name\\": \\"card-resource\\",\\n\\t\\"title\\": \\"Card Resource\\",\\n\\t\\"description\\" : \\"Card variation without image and paragraph\\",\\n\\t\\"icon\\": {\\n\\t\\t\\"src\\": \\"es-card\\"\\n\\t},\\n\\t\\"attributes\\": {\\n\\t\\t\\"cardCardImageUse\\": false,\\n\\t\\t\\"cardCardParagraphUse\\": false,\\n\\t\\t\\"cardCardHeadingSize\\": \\"regular\\",\\n\\t\\t\\"cardCardButtonColor\\": \\"blue\\"\\n\\t},\\n\\t\\"scope\\": [\\n\\t\\t\\"inserter\\"\\n\\t]\\n}\\n```\\n\\nAfter adding this code, your new block variation should now be visible in the block list. It\'s that easy!\\n\\n![Variation of the Card block](/img/blog/card-resource.webp)\\n\\n## Providing inner block data\\nOther than overriding default attributes with variations, you can do much more with Eightshift Development kit. If you have a block that uses inner blocks, you can even provide inner block data.\\n\\nThe following example is very basic, but it will give you an idea of how to provide inner block data. It can easily be reproduced with our `Carousel` block if you want to try it yourself.\\n\\n:::note\\nIf you don\'t have Carousel block in your project yet, you can add it with the following WP-CLI command: `wp boilerplate blocks use-block --name=\\"carousel\\"`\\n:::\\n\\nOnce you have the `Carousel` block up and running, create a variation called `Carousel Loop`. For this variation, we want the following:\\n- loop\\n- pagination\\n- two images per slide\\n\\nWe will also add some placeholder images so you can immediately test the Carousel block variation. Here is the code you can add to the `manifest.json` file for that variation.\\n```json\\n{\\n\\t\\"$schema\\": \\"https://raw.githubusercontent.com/infinum/eightshift-frontend-libs/develop/schemas/variation.json\\",\\n\\t\\"parentName\\": \\"carousel\\",\\n\\t\\"name\\": \\"carousel-loop\\",\\n\\t\\"title\\": \\"Carousel Loop\\",\\n\\t\\"description\\" : \\"Carousel block variation with loop and pagination enabled, along with multiple image blocks with placeholders. Displays two images per slide.\\",\\n\\t\\"icon\\": {\\n\\t\\t\\"src\\": \\"es-card\\"\\n\\t},\\n\\t\\"attributes\\": {\\n\\t\\t\\"carouselIsLoop\\": true,\\n\\t\\t\\"carouselShowPagination\\": true,\\n\\t\\t\\"carouselShowItems\\": 2\\n\\t},\\n\\t\\"innerBlocks\\": [\\n\\t\\t{\\n\\t\\t\\t\\"name\\": \\"eightshift-boilerplate/image\\",\\n\\t\\t\\t\\"attributes\\": {\\n\\t\\t\\t\\t\\"imageImageFull\\":true,\\n\\t\\t\\t\\t\\"imageImageUrl\\": \\"https://loremflickr.com/400/400\\"\\n\\t\\t\\t}\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\t\\"name\\": \\"eightshift-boilerplate/image\\",\\n\\t\\t\\t\\"attributes\\": {\\n\\t\\t\\t\\t\\"imageImageFull\\":true,\\n\\t\\t\\t\\t\\"imageImageUrl\\": \\"https://loremflickr.com/400/400\\"\\n\\t\\t\\t}\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\t\\"name\\": \\"eightshift-boilerplate/image\\",\\n\\t\\t\\t\\"attributes\\": {\\n\\t\\t\\t\\t\\"imageImageFull\\":true,\\n\\t\\t\\t\\t\\"imageImageUrl\\": \\"https://loremflickr.com/400/400\\"\\n\\t\\t\\t}\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\t\\"name\\": \\"eightshift-boilerplate/image\\",\\n\\t\\t\\t\\"attributes\\": {\\n\\t\\t\\t\\t\\"imageImageFull\\":true,\\n\\t\\t\\t\\t\\"imageImageUrl\\": \\"https://loremflickr.com/400/400\\"\\n\\t\\t\\t}\\n\\t\\t}\\n\\t],\\n\\t\\"scope\\": [\\n\\t\\t\\"inserter\\"\\n\\t]\\n}\\n```\\n\\nAfter adding this code, you should see the `Carousel Loop` variation in your block list. After adding it in the editor, the `Carousel` attributes will be already set to the ones you provided, as well as two images that are added as inner blocks.\\n\\n![Block list with variations](/img/blog/block-list-variations.webp)"},{"id":"acf-in-a-project","metadata":{"permalink":"/blog/acf-in-a-project","source":"@site/blog/2022-05-10-acf-in-a-project.md","title":"How to use ACF in your project","description":"Example of using ACF plugin in your project","date":"2022-05-17T00:00:00.000Z","formattedDate":"May 17, 2022","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"acf","permalink":"/blog/tags/acf"},{"label":"advanced custom fields","permalink":"/blog/tags/advanced-custom-fields"},{"label":"theme options","permalink":"/blog/tags/theme-options"}],"readingTime":5.485,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"How to use ACF in your project","description":"Example of using ACF plugin in your project","slug":"acf-in-a-project","authors":"obradovic","date":"2022-05-17T00:00:00.000Z","tags":["eightshift","boilerplate","acf","advanced custom fields","theme options"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"Block Variations","permalink":"/blog/block-variations"},"nextItem":{"title":"Using assets in a project","permalink":"/blog/using-assets"}},"content":"If you\'ve worked with WordPress for a long time, you\'ve heard of the **_Advanced Custom Fields_** plugin (**_ACF_** for short). While the use of blocks has simplified content editing, thus making meta fields less of a necessity, there are still cases in which meta fields are very useful.\\n\x3c!--truncate--\x3e\\n\\n## Ways of registering ACF fields\\n\\nThere are multiple approaches to ACF field registration. The easiest way to register fields is using the WP admin interface, but this approach has a few drawbacks. If you have many fields, this can impact performance because you are registering fields dynamically (information about registered fields is stored in the database). Another drawback is if you have multiple environments (e.g. local, staging, production), you\'ll have to export the fields and import them to other environments.\\n\\nOther ways of registering ACF fields are either via PHP (code) or by reading from a JSON file. We prefer to use PHP because you can use OPcache to speed up field registration even more. If you are using Git, this approach is even better because you can commit the PHP code used for registering fields for easier portability across different environments. For that reason, Eightshift Development kit already has some goodies which will make field registration a breeze.\\n\\n## Exporting PHP code\\n\\nThe approach we use for registering ACF fields is by adding those fields first through the WP Admin ACF interface. As an example, We\'ll add a field group called **_Intro_**, which will contain one text field of the same name. That field group will be displayed only on posts. You can add a few more fields, but for the sake of simplicity, we\'ll only use one field.\\n\\nWhen you define all the fields you need, save them and go to `Custom Fields -> Tools`. Here you will see an option to **_Export Field Groups_**. Simply select the field groups which you want to export and select **_Generate PHP_**.\\n\\n![ACF PHP code export](/img/blog/acf-generate-php.webp)\\n\\nThis will generate a PHP code snippet that you can use in your theme. Now you may be wondering, where exactly should that code go?\\n\\n## CustomMeta class\\n\\nThose ACF goodies in Eightshift Development kit we talked about earlier? Let us introduce you to one of them. We have a WP CLI command which we can use to generate a CustomMeta class where we can add our field groups. The command is `wp boilerplate create acf-meta`. This command has one required parameter, and that is `name`. To create a class that we will use for registering our custom fields, we\'ll use the following command:\\n\\n```bash\\nwp boilerplate create acf-meta --name=intro\\n```\\n\\nThis command will generate a **_CustomMeta_** folder inside **_src_** folder and add a new file called **_IntroAcfMeta.php_**. Inside that file, you should see the following method:\\n```php\\npublic function fields(): void\\n{\\n\\tif (function_exists(\'acf_add_local_field_group\')) {\\n\\t\\t\\\\acf_add_local_field_group([]);\\n\\t}\\n}\\n```\\n\\nGo back to your PHP code export for ACF fields and select everything inside the `acf_add_local_field_group()` function and paste it into your function. To make it in line with our coding standards, we have to do the following:\\n- replace `array()` with `[]`\\n- make every label translatable and escaped - use `esc_html__()`\\n- instead of hardcoding the field name, replace it with a class constant\\n\\nAfter all these changes, your code should look like this:\\n\\n```php\\nclass IntroAcfMeta extends AbstractAcfMeta\\n{\\n\\n\\t/**\\n\\t * Intro field name.\\n\\t */\\n\\tpublic const INTRO_FIELD_NAME = \'intro\';\\n\\n\\t/**\\n\\t * Render acf fields.\\n\\t *\\n\\t * @return void\\n\\t */\\n\\tpublic function fields(): void\\n\\t{\\n\\t\\tif (function_exists(\'acf_add_local_field_group\')) {\\n\\t\\t\\t\\\\acf_add_local_field_group([\\n\\t\\t\\t\\t\'key\' => \'group_6269300acefda\',\\n\\t\\t\\t\\t\'title\' => \\\\esc_html__(\'Intro\', \'eightshift-theme\'),\\n\\t\\t\\t\\t\'fields\' => [\\n\\t\\t\\t\\t\\t[\\n\\t\\t\\t\\t\\t\\t\'key\' => \'field_6269300f8029b\',\\n\\t\\t\\t\\t\\t\\t\'label\' => \\\\esc_html__(\'Intro\', \'eightshift-theme\'),\\n\\t\\t\\t\\t\\t\\t\'name\' => self::INTRO_FIELD_NAME,\\n\\t\\t\\t\\t\\t\\t\'type\' => \'text\',\\n\\t\\t\\t\\t\\t\\t// ...\\n\\t\\t\\t\\t\\t]\\n\\t\\t\\t\\t]\\n\\t\\t\\t\\t// ...\\n\\t\\t\\t]);\\n\\t\\t}\\n\\t}\\n}\\n```\\n\\nThe final step is to go back to the Custom Fields in WP admin and either delete or deactivate your field group from there, to prevent registering the fields twice. After adding field definitions in PHP and removing them in WP admin, your field should be visible when editing posts.\\n\\n## Using get_field()\\n\\nTo fetch the saved meta value, we use ACF\'s `get_field()` function, but here are a few tips that could improve your code quality. First, you should check if that function exists. That way, if ACF is deactivated on your site for whatever reason, your site won\'t break. The second tip is to use a class constant instead of hardcoding the field name. With these practices in mind, your code should look like this:\\n\\n```php\\nuse YourNamespace\\\\CustomMeta\\\\IntroAcfMeta;\\n\\n// ...\\n\\nif (function_exists(\'get_field\')) {\\n\\t$introText = get_field(IntroAcfMeta::INTRO_FIELD_NAME, $postId);\\n}\\n```\\n\\n:::tip\\nIt\'s better to use class constants because if you decide to change the field name, you will have to change it only in one place.\\n:::\\n\\n## Theme Options\\n\\nACF\'s Options page has a wide array of uses and it\'s very likely that you\'ll need some sort of Theme Options in your project. To make the implementation of Theme Options a bit easier, we have a CLI command which generates the `ThemeOptions` class in your project. Just use the following command:\\n\\n```bash\\nwp boilerplate create theme-options\\n```\\n\\nThis command generates a class with two methods. The first one, `createThemeOptionsPage()` creates a Theme Options page and adds it to the WP Admin sidebar. The second one, `registerThemeOptions()`, is what registers the fields you will have in Theme Options. Here is an example how Theme Options look after being created using `wp boilerplate`:\\n\\n![ACF Theme Options](/img/blog/acf-theme-options.webp)\\n\\nTo add fields to your Theme Options, follow the steps from the **_Exporting PHP code_** section of this post and add the fields inside the `\'fields\' => []` array.\\n## Tip - create a helper class\\n\\nIn this blog post, we covered the whole process of registering and using ACF fields in your project. But, if you are using a lot of ACF fields, wrapping each `get_field()` function with a `function_exists()` conditional may become tedious at some point. For that reason, it may be a good idea to create a helper class that you can use for ACF functions.\\n\\nI won\'t cover the whole process in detail, but I\'ll give you some general pointers.\\n\\n- when registering plugin-related classes, use the `Plugins` namespace. In this case, you should have namespace `YourNamespace\\\\Plugins\\\\Acf`\\n- inside that namespace, you can create a class called `AcfHelper`\\n- add a method `getField` which accepts the same arguments as the `get_field()` function\\n- add a method `getThemeOption` which only accepts one argument, the field name, and the second argument is hardcoded\\n- use early returns in your methods\\n```php\\nif (!function_exists(\'get_field\')) {\\n\\treturn \'\';\\n}\\n```"},{"id":"using-assets","metadata":{"permalink":"/blog/using-assets","source":"@site/blog/2022-04-25-using-assets.md","title":"Using assets in a project","description":"Step-by-step guide on how to add assets like images or icons to your theme.","date":"2022-04-28T00:00:00.000Z","formattedDate":"April 28, 2022","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"assets","permalink":"/blog/tags/assets"},{"label":"images","permalink":"/blog/tags/images"},{"label":"icons","permalink":"/blog/tags/icons"}],"readingTime":3.945,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"Using assets in a project","description":"Step-by-step guide on how to add assets like images or icons to your theme.","slug":"using-assets","authors":"obradovic","date":"2022-04-28T00:00:00.000Z","tags":["eightshift","boilerplate","assets","images","icons"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"How to use ACF in your project","permalink":"/blog/acf-in-a-project"},"nextItem":{"title":"Adding fonts","permalink":"/blog/adding-fonts"}},"content":"Previously, we went through the process of adding fonts to your project. While the process of adding additional assets like images or icons has some similarities to adding fonts, it also has its unique steps. In this post, we\'ll cover multiple ways of adding assets and using them on your site.\\n\x3c!--truncate--\x3e\\n\\n## Adding images\\n\\nSimilar to fonts, there is also a dedicated folder for adding images that will be used in a theme. The location of this folder is **_assets/images_**. The procedure to add images is even simpler than fonts, which you can read about in [Adding fonts](/blog/adding-fonts) blog post. Just follow these steps to add a new image:\\n- add the image in inside **_assets/images_** folder\\n- include it in **_assets/images/index.js_**\\n- run `npm start` to rebuild assets\\n\\nThe new image will now be available in the **_public_** folder. The use case for this is adding a favicon or a logo to your project. To use this image in one of your templates or blocks, you have to add the following in your **_php_** file:\\n\\n```php\\nuse YourNamespace\\\\Manifest\\\\Manifest;\\n// ...\\n\\napply_filters(Manifest::MANIFEST_ITEM, \'logo.svg\');\\n```\\n\\nThe filter we are using is called `manifest-item` and we use it to get the URL of the asset from the **_public_** folder. You can read more about this in [our documentation](/docs/basics/manifest).\\n\\nYou can see how this is being used for rendering both favicon and header logo in your theme\'s **_header.php_** file.\\n\\n:::tip\\nDon\'t hardcode the filter name in the `apply_filters` function. Always call it via class constants.\\n:::\\n\\nFor better organization, you can add additional folders (e.g. **_icons_**, **_placeholders_**) inside the **_assets/images_** folder. Here\'s an example of how to include them:\\n\\n```js\\n// Icons\\nimport \'./icons/upload.svg\';\\n\\n// Placeholders\\nimport \'./placeholders/post.png\';\\nimport \'./placeholders/page.png\';\\n```\\n\\n## Using SVG files from manifest\\n\\nIf you recall from a previous blog post about [Modifying Blocks](/blog/modifying-blocks-color-theme), you might have already seen an alternative approach to including SVG files in your block or component.\\n\\n:::info :es-hide-title:\\nIf you don\'t have it in your project, be sure to read our blog post about adding blocks and components by using [WP CLI](/blog/adding-blocks-wpcli).\\n:::\\n\\nOpen **_src/Blocks/components/quote/manifest.json_** and you\'ll see that the icon used by the component is defined inside `resources` as a key-value pair. Key represents the name that we will use to fetch the icon, while the value is SVG code.\\n\\n```json\\n\\"resources\\": {\\n\\t\\"icon\\": \\"<svg fill=\'none\' height=\'24\' viewBox=\'0 0 24 24\' width=\'24\' xmlns=\'http://www.w3.org/2000/svg\'>...</svg>\\"\\n}\\n```\\n\\nIn order to make the minification of SVG files as easy as possible, our teammate Goran made an awesome tool called [SVG2WP](https://svg-2-wp.goranalkovic.com/). Some of the options include making attributes JSX compatible, or replacing the color value with `currentColor`, which can then be used to change the SVG color through CSS.\\n\\nYou\'ve already seen the use of `currentColor` in the above-mentioned blog post, where we\'ve modified the color of the SVG.\\n\\nThe output of the icon on frontend is very simple. In the Quote component, it was done the following way:\\n```php\\n<?php $manifest = Components::getManifest(__DIR__); ?>\\n\\n<i class=\\"<?php echo \\\\esc_attr(\\"{$componentClass}__icon\\"); ?>\\">\\n\\t<?php echo $manifest[\'resources\'][\'icon\']; // phpcs:ignore Eightshift.Security.ComponentsEscape.OutputNotEscaped ?>\\n</i>\\n```\\n\\nAn excellent example, where you can see in even more detail how SVGs are being used, is our `icon` component. It isn\'t included in Eightshift theme by default, so you have to add it to your project with WP CLI. To include it in your project, use the following command:\\n\\n```bash\\nwp boilerplate blocks use-component --name=icon\\n```\\n\\nIf you include the Icon component inside a block, you will have the option to choose between multiple icons defined in the manifest. Another way to render SVGs from the Icon component is by using the `Components::render` helper method:\\n\\n```php\\necho Components::render(\\n\\t\'icon\',\\n\\t[\\n\\t\\t\'blockClass\' => $componentClass,\\n\\t\\t\'iconName\' => \'download\',\\n\\t]\\n);\\n```\\n\\nHere are some examples of icons available out-of-the-box in our Icon component:\\n\\n![Icon component](/img/blog/icon-component.webp)\\n\\n## Using icons for editor and block options\\n\\nWhen developing your blocks and adding new options, you may need to add icons to improve the user experience. We have many icons already available for use. You can see the full list in our [Storybook](/devkit-components) under `UI icons` and `Block icons` section. We already added the icon when adding a new Color Theme option for the Quote block. Here is the simplified version:\\n```jsx\\nimport { ColorPaletteCustom, IconLabel, icons } from \'@eightshift/frontend-libs/scripts\';\\n\\nreturn (\\n\\t<ColorPaletteCustom\\n\\t\\tlabel={<IconLabel icon={icons.color} label={__(\'Color Theme\', \'es-theme\')} />}\\n\\t\\t// ...\\n\\t/>\\n);\\n```\\n\\nThis was the end result when we were adding a new option in our Quote block:\\n\\n![Color Theme Options](/img/blog/color-theme-options.webp)\\n\\n## Conclusion\\n\\nAs you could see in this blog post, there are multiple ways of adding assets to a project. It all depends on how these will be used and what the scope of their use will be."},{"id":"adding-fonts","metadata":{"permalink":"/blog/adding-fonts","source":"@site/blog/2022-04-08-adding-fonts.md","title":"Adding fonts","description":"An intro to adding fonts to your project.","date":"2022-04-12T00:00:00.000Z","formattedDate":"April 12, 2022","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"fonts","permalink":"/blog/tags/fonts"}],"readingTime":6.005,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"Adding fonts","description":"An intro to adding fonts to your project.","slug":"adding-fonts","authors":"obradovic","date":"2022-04-12T00:00:00.000Z","tags":["eightshift","boilerplate","fonts"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"Using assets in a project","permalink":"/blog/using-assets"},"nextItem":{"title":"Modifying blocks - Color Theme","permalink":"/blog/modifying-blocks-color-theme"}},"content":"Every project is unique. Logo, colors, fonts, etc. are what define the visual identity of your website. In this post, we\'ll cover adding fonts to a project.\\n\x3c!--truncate--\x3e\\n\\n## Importing fonts into your project\\n[Our documentation](/docs/basics/fonts) covers the necessary steps to add a font to your project, but here we\'ll cover the process in a bit more detail. To start, we need a font (or two). For this example, I\'ll use **_Source Sans Pro_** and **_Noto Serif_** which I\'ve downloaded from [Google Fonts](https://fonts.google.com/). They are in the `.ttf` format (you may find some which are `.otf`, which will work in the same way), so you need to convert them to `.woff` and `.woff2`. Whatever approach you use is okay - we recommend the following tools:\\n- [Convertio](https://convertio.co/ttf-woff/)\\n- [Cloud Convert](https://cloudconvert.com/ttf-to-woff)\\n- [Everything Fonts](https://everythingfonts.com/ttf-to-woff)\\n- [Transfonter](https://transfonter.org/)\\n\\n:::caution Warning\\nMake sure you have the proper license for the fonts you are converting.\\n:::\\n\\nFonts should go inside your theme\'s **_/assets/fonts_** folder. Copy the fonts you want to use there. You will also notice that this folder contains an **_index.js_** file, used to import fonts into your project. Here\'s an example of how I imported my fonts:\\n```js\\n// SourceSansPro WOFF\\nimport \'./SourceSansPro-Bold.woff\';\\nimport \'./SourceSansPro-BoldItalic.woff\';\\nimport \'./SourceSansPro-Italic.woff\';\\nimport \'./SourceSansPro-Regular.woff\';\\nimport \'./SourceSansPro-Light.woff\';\\nimport \'./SourceSansPro-LightItalic.woff\';\\n\\n// SourceSansPro WOFF2\\nimport \'./SourceSansPro-Bold.woff2\';\\nimport \'./SourceSansPro-BoldItalic.woff2\';\\nimport \'./SourceSansPro-Italic.woff2\';\\nimport \'./SourceSansPro-Regular.woff2\';\\nimport \'./SourceSansPro-Light.woff2\';\\nimport \'./SourceSansPro-LightItalic.woff2\';\\n\\n// NotoSerif WOFF\\nimport \'./NotoSerif-Bold.woff\';\\nimport \'./NotoSerif-BoldItalic.woff\';\\nimport \'./NotoSerif-Italic.woff\';\\nimport \'./NotoSerif-Regular.woff\';\\n\\n// NotoSerif WOFF2\\nimport \'./NotoSerif-Bold.woff2\';\\nimport \'./NotoSerif-BoldItalic.woff2\';\\nimport \'./NotoSerif-Italic.woff2\';\\nimport \'./NotoSerif-Regular.woff2\';\\n```\\n\\n:::tip\\nIf you don\'t need to support IE11, don\'t include `.woff` files. This will save you some bandwidth.\\n:::\\n\\nTo add these fonts as your base font and secondary font, go to the global manifest located in **_/src/Blocks_** and add the following inside `globalVariables`:\\n```json\\n\\"globalVariables\\": {\\n\\t// ...\\n\\t\\"baseFont\\": \\"SourceSansPro\\",\\n\\t\\"secondaryFont\\": \\"NotoSerif\\",\\n\\t// ...\\n}\\n```\\n\\nNext, you can create a new file called **__typography.scss_** inside your **_/assets/styles/parts/utils/_** folder and add the following:\\n\\n```scss\\n@include font-face(global-settings(baseFont), \'SourceSansPro-Light\', 300);\\n@include font-face(global-settings(baseFont), \'SourceSansPro-LightItalic\', 300, italic);\\n@include font-face(global-settings(baseFont), \'SourceSansPro-Regular\', 400);\\n@include font-face(global-settings(baseFont), \'SourceSansPro-Italic\', 400, italic);\\n@include font-face(global-settings(baseFont), \'SourceSansPro-Bold\', 700);\\n@include font-face(global-settings(baseFont), \'SourceSansPro-BoldItalic\', 700, italic);\\n\\n@include font-face(global-settings(secondaryFont), \'NotoSerif-Bold\', 700);\\n@include font-face(global-settings(secondaryFont), \'NotoSerif-BoldItalic\', 700, italic);\\n@include font-face(global-settings(secondaryFont), \'NotoSerif-Italic\', 400, italic);\\n@include font-face(global-settings(secondaryFont), \'NotoSerif-Regular\', 400);\\n```\\nIf you would like to know more about the `font-face` mixin, you can take a look at our [Sass documentation](/docs/basics/library).\\n\\nBecause this is a new file, we have to include it. You can do that inside **_/assets/styles/parts/\\\\_shared.scss_** file:\\n```scss\\n// Project specific.\\n@import \'utils/shared-variables\';\\n@import \'utils/typography\';\\n```\\n\\nRun `npm start` to rebuild your **_public_** folder and assets. If you did everything correctly, your build should pass and you will see your fonts inside the **_public_** folder.\\n\\n## Using only one font in a block\\n\\nThere are multiple ways of using fonts in a block. The simplest use case is if you have only one font you want to use for that specific block. In this case, we want the Heading block to only use _Noto Serif_.\\n\\nTo make our secondary font available for use, we need to first define it as a CSS variable. We can do that in **_/assets/styles/parts/utils/\\\\_shared-variables.scss_**. The base font is already defined there, so all we need to do is add our secondary font definition below it.\\n\\nTo make things a bit more consistent, we may also want to rename `--global-font-family` CSS variable to `--base-font-family`. Just don\'t forget to search/replace this new variable name across your project! Please note that the fallbacks for the fonts can be anything, this is just an example. Once we\'re done, it should look like this:\\n```scss\\n\\t--base-font-family: var(--global-base-font), -apple-system, BlinkMacSystemFont, \'Segoe UI\', Roboto, Helvetica,\\n\\t\\tArial, sans-serif, \'Apple Color Emoji\', \'Segoe UI Emoji\', \'Segoe UI Symbol\';\\n\\n\\t--secondary-font-family: var(--global-secondary-font), -apple-system, BlinkMacSystemFont, \'Segoe UI\', Roboto, Helvetica,\\n\\t\\tArial, sans-serif, \'Apple Color Emoji\', \'Segoe UI Emoji\', \'Segoe UI Symbol\';\\n```\\nAfter defining the `--secondary-font-family` CSS variable, we can go to **_/src/Blocks/components/heading/heading-style.scss_** and add the following rule to the `.heading` class:\\n```scss\\n\\tfont-family: var(--secondary-font-family);\\n```\\n\\nAnd that\'s it! The Heading block will now use the _Noto Serif_ font.\\n\\n## Adding a font picker\\n\\nIn some cases, you may want to give users the option to choose between fonts that they want to use in their block. For this example, we\'ll use the `paragraph` block where we want users to have both _Source Sans Pro_ and _Noto Serif_ available.\\n\\nFirst step is to add a new attribute, options and CSS variable values in **_/src/Blocks/components/paragraph/manifest.json_**:\\n```json\\n// ...\\n\\t\\"attributes\\": {\\n\\t\\t// ...\\n\\t\\t\\"paragraphFontFamily\\": {\\n\\t\\t\\t\\"type\\": \\"string\\",\\n\\t\\t\\t\\"default\\": \\"base\\"\\n\\t\\t}\\n\\t},\\n\\t\\"options\\": {\\n\\t\\t// ...\\n\\t\\t\\"paragraphFontFamily\\": [\\n\\t\\t\\t{\\n\\t\\t\\t\\t\\"label\\": \\"SourceSansPro\\",\\n\\t\\t\\t\\t\\"value\\": \\"base\\"\\n\\t\\t\\t},\\n\\t\\t\\t{\\n\\t\\t\\t\\t\\"label\\": \\"NotoSerif\\",\\n\\t\\t\\t\\t\\"value\\": \\"secondary\\"\\n\\t\\t\\t}\\n\\t\\t],\\n\\t\\t// ...\\n\\t}\\n```\\n\\nAfter defining the new attribute and options for the font family, we now have to add a variable to **_manifest.json_**. We can add it to the `variables` object. This approach is slightly different from the one explained in the [Modifying blocks](/blog/modifying-blocks-color-theme) blog post. Here we can use `%value%` wildcard to dynamically add the selected value to our CSS variable.\\n```json\\n\\"paragraphFontFamily\\": [\\n\\t{\\n\\t\\t\\"variable\\": {\\n\\t\\t\\t\\"paragraph-font-family\\": \\"var(--%value%-font-family)\\"\\n\\t\\t}\\n\\t}\\n]\\n```\\n\\nThe next step is to go to **_/src/Blocks/components/paragraph/components/paragraph-options.js_** and add a control for the new font family option. The first thing we can add is a new attribute that will allow us to toggle showing the Paragraph font family option on other blocks which are using the Paragraph component. There might be a case where we want only one font family, so this option may come in handy in some other blocks.\\n```js\\nconst {\\n\\t\\tsetAttributes,\\n\\t\\t//...\\n\\t\\tshowParagraphFontFamily = true,\\n\\t} = attributes;\\n```\\n\\nAfter that, we need to fetch either the saved attribute value or get the default one from the manifest. We can do that with the `checkAttr` helper, adding it just below `paragraphColor` and `paragraphSize`.\\n```js\\n\\tconst paragraphFontFamily = checkAttr(\'paragraphFontFamily\', attributes, manifest);\\n```\\n\\nNow we have to add an actual control to the options panel which will allow us to choose between fonts.\\n```js\\n\\treturn (\\n\\t\\t// ...\\n\\t\\t{showParagraphFontFamily &&\\n\\t\\t\\t<CustomSelect\\n\\t\\t\\t\\tlabel={<IconLabel icon={icons.fontFamily} label={__(\'Font Family\', \'eightshift-theme\')} />}\\n\\t\\t\\t\\tvalue={paragraphFontFamily}\\n\\t\\t\\t\\toptions={getOption(\'paragraphFontFamily\', attributes, manifest)}\\n\\t\\t\\t\\tonChange={(value) => setAttributes({ [getAttrKey(\'paragraphFontFamily\', attributes, manifest)]: value })}\\n\\t\\t\\t\\tisClearable={false}\\n\\t\\t\\t\\tisSearchable={false}\\n\\t\\t\\t\\tsimpleValue\\n\\t\\t\\t/>\\n\\t\\t}\\n\\t\\t// ...\\n\\t);\\n```\\n\\nThe control for selecting a font should now be available under Paragraph options. Saving the choice now works, but the font stays the same both in the editor and on the frontend.\\n\\n![Font Picker](/img/blog/font-picker.webp)\\n\\nThe final step we need to make this work is to add a CSS rule that consumes our variable to **_/src/Blocks/components/paragraph/paragraph-style.scss_**:\\n```scss\\n.paragraph {\\n\\t// ...\\n\\tfont-family: var(--paragraph-font-family, var(--base-font-family));\\n\\t// ...\\n}\\n```\\n\\nAfter adding this single line of CSS code, your new option for selecting fonts will now be fully functional.\\n\\n## Closing thoughts\\nAdding fonts to a project is something you will usually only do when setting up a new project and then forget about it. As you could see in this blog post, this isn\'t a complicated process, but it has a specific set of steps that have to be taken in order for custom fonts to work in your project.\\n\\nOf course, there are other ways to include fonts in your project, but the described process is what we recommend and use. This is the (Eightshift) Way."},{"id":"modifying-blocks-color-theme","metadata":{"permalink":"/blog/modifying-blocks-color-theme","source":"@site/blog/2022-03-04-modifying-blocks.md","title":"Modifying blocks - Color Theme","description":"Step-by-step guide on how to modify and expand the functionality of existing blocks.","date":"2022-03-22T00:00:00.000Z","formattedDate":"March 22, 2022","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"components","permalink":"/blog/tags/components"},{"label":"blocks","permalink":"/blog/tags/blocks"}],"readingTime":8.465,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"Modifying blocks - Color Theme","description":"Step-by-step guide on how to modify and expand the functionality of existing blocks.","slug":"modifying-blocks-color-theme","authors":"obradovic","date":"2022-03-22T00:00:00.000Z","tags":["eightshift","boilerplate","components","blocks"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"Adding fonts","permalink":"/blog/adding-fonts"},"nextItem":{"title":"Adding components and blocks with WP-CLI","permalink":"/blog/adding-blocks-wpcli"}},"content":"In our previous post, we covered how to use Storybook and WP-CLI to add additional blocks to your project. This post will walk you through modifying an existing block step-by-step.\\n\x3c!--truncate--\x3e\\n\\nSince Eightshift Development kit is a starter theme, made for developers to jumpstart and speed up their development, you\'re welcome to modify files in it directly. There is no need to create a child theme to protect changes from updates.\\n\\n## Modifying a block or a component?\\nBecause we used the Quote block in our previous post, we will continue using it as an example as it\'s a fairly simple one. One of the first questions you may ask yourself could be: \\"Should I modify a component or a block?\\". And the answer is - it depends.\\n\\nIf you compare **_components/quote/quote.php_** (component) and **_custom/quote/quote.php_** (block), you\'ll notice that most of the HTML code is inside the component, while the block pretty much only renders the Quote component inside a wrapper. This example will walk you through the whole process of adding a new attribute and its options to a block.\\n\\n## What will we do?\\n\\nWe want to style the block and add a new feature. An option to choose a color theme for the Quote block. These are the specs:\\n- each Quote block has a background with rounded corners\\n- option for three color themes: blue, green, yellow\\n- the background has a lighter shade of the selected color\\n- quote icon has a stronger shade of the selected color\\n\\nTo better help you visualize, this is how the Quote block should look like after making these changes, showcasing all three color theme variations:\\n![Color Theme Examples](/img/blog/color-theme-examples.webp)\\n\\n## Adding background\\n\\nInitial background styling is fairly straightforward. Navigate to **_src/Blocks/components/quote/quote-style.scss_** and paste the following code inside `.quote` class:\\n\\n```css\\npadding: calc(var(--base-font-size) * 1.6rem);\\nborder-radius: calc(var(--base-font-size) * 2rem);\\nbackground-color: global-settings(colors, light);\\n```\\nYou may notice we\'re using `calc` instead of directly writing values in rems. This way makes it much easier to calculate pixel size since `calc(var(--base-font-size) * 1.6rem)` equals `16px`.\\n\\nFor now, we will add a simple light grey background to see how it looks. We\'ll replace this value later with a CSS variable.\\n\\n:::tip\\nDon\'t hardcode hex color values directly inside your component. Instead, use colors defined in your global manifest.\\n:::\\n\\nYou\'ll notice that the changes are visible both in the editor and on the frontend. Since the Gutenberg editor adds some additional markup, sometimes you\'ll need to add additional styling only for the editor. In case we need to override something in the editor for our Quote component, we would simply create **_quote-editor.scss_**.\\n\\n## Adding new colors to your project\\n\\nBecause the theme currently doesn\'t have all the required colors, we need to add additional colors which will be used for the color theme feature. We will use the colors already defined in the manifest for icon color, but we need to add lighter variations of those colors to use them for the background. Navigate to your global manifest, which is located inside **_src/Blocks/manifest.json_** and add the following values inside `colors`:\\n```json\\n{\\n\\t\\"name\\": \\"Light Blue\\",\\n\\t\\"slug\\": \\"light-blue\\",\\n\\t\\"color\\": \\"#B3E5FC\\"\\n},\\n{\\n\\t\\"name\\": \\"Light Green\\",\\n\\t\\"slug\\": \\"light-green\\",\\n\\t\\"color\\": \\"#DCEDC8\\"\\n},\\n{\\n\\t\\"name\\": \\"Light Yellow\\",\\n\\t\\"slug\\": \\"light-yellow\\",\\n\\t\\"color\\": \\"#FFF9C4\\"\\n}\\n```\\n\\n## Adding a new attribute and options to manifest\\n\\nFor editors to be able to choose which color theme to use for the Quote block, we need to define an attribute for it in the manifest. Navigate to **_src/Blocks/components/quote/manifest.json_** and add the following value inside `attributes`:\\n\\n```json\\n\\"quoteColorTheme\\": {\\n\\t\\"type\\": \\"string\\",\\n\\t\\"default\\": \\"blue\\"\\n}\\n```\\n\\n:::caution\\nDouble-check the path of the manifest used in this example. We\'re adding it inside the Quote component manifest, not the Quote block manifest.\\n:::\\n\\nAfter that, since we want to have a fixed number of options, we need to define available options. We can do that inside `options` which is on the same level as `attributes`:\\n```json\\n\\"options\\": {\\n\\t\\"quoteColorTheme\\": [\\n\\t\\t\\"blue\\",\\n\\t\\t\\"green\\",\\n\\t\\t\\"yellow\\"\\n\\t]\\n}\\n```\\n\\n## CSS variables\\n\\nOur next step is to add CSS variables to the Quote component\'s manifest. Inside **_manifest.json_**, on the same level as `attributes`, add the following code:\\n```json\\n\\"variables\\": {\\n\\t\\"quoteColorTheme\\": {\\n\\t\\t\\"blue\\": [\\n\\t\\t\\t{\\n\\t\\t\\t\\t\\"variable\\": {\\n\\t\\t\\t\\t\\t\\"quote-background-color\\": \\"var(--global-colors-light-blue)\\",\\n\\t\\t\\t\\t\\t\\"quote-icon-color\\": \\"var(--global-colors-blue)\\"\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t],\\n\\t\\t\\"green\\": [\\n\\t\\t\\t{\\n\\t\\t\\t\\t\\"variable\\": {\\n\\t\\t\\t\\t\\t\\"quote-background-color\\": \\"var(--global-colors-light-green)\\",\\n\\t\\t\\t\\t\\t\\"quote-icon-color\\": \\"var(--global-colors-green)\\"\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t],\\n\\t\\t\\"yellow\\": [\\n\\t\\t\\t{\\n\\t\\t\\t\\t\\"variable\\": {\\n\\t\\t\\t\\t\\t\\"quote-background-color\\": \\"var(--global-colors-light-yellow)\\",\\n\\t\\t\\t\\t\\t\\"quote-icon-color\\": \\"var(--global-colors-yellow)\\"\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t]\\n\\t}\\n}\\n```\\n\\nNow, navigate back to Quote component\'s **_quote-style.scss_** and replace the `background-color` which we used for testing with the following:\\n```css\\nbackground-color: var(--quote-background-color);\\n```\\n\\nAs you can see, the variable name is the same one we used when defining background color variations in the manifest. For icon color, we do the same. After adding a new color to `&__icon` selector, our code should now look like this:\\n\\n```css\\n&__icon {\\n\\tdisplay: block;\\n\\tmargin-bottom: 1rem;\\n\\tcolor: var(--quote-icon-color);\\n}\\n```\\n\\n## Outputting CSS variables in editor\\nTo make our color theme visible in editor, we have to add few lines of code to **_src/Blocks/components/quote/components/quote-editor.js_** file. First, we need to import a few functions. We need `useMemo` from **_react_**, `outputCssVariables` and `getUnique` from **_@eightshift/frontend-libs/scripts_** and finally, we need data from the global manifest.\\n\\nAfter importing these and defining a unique constant, your code should look like this:\\n\\n```js\\nimport React, { useMemo } from \'react\';\\nimport classnames from \'classnames\';\\nimport { checkAttr, props, selector, outputCssVariables, getUnique } from \'@eightshift/frontend-libs/scripts\';\\nimport { HeadingEditor } from \'../../heading/components/heading-editor\';\\nimport { ParagraphEditor } from \'../../paragraph/components/paragraph-editor\';\\nimport manifest from \'./../manifest.json\';\\nimport globalManifest from \'./../../../manifest.json\';\\n\\nexport const QuoteEditor = (attributes) => {\\n\\tconst unique = useMemo(() => getUnique(), []);\\n\\t//...\\n```\\nNext, we need to add a unique `data-id` and output the `<style>` tag containing CSS variables.\\n\\nModify your return statement so it looks like this:\\n\\n```jsx\\nreturn (\\n\\t<>\\n\\t\\t<figure className={quoteClass} data-id={unique}>\\n\\t\\t\\t{outputCssVariables(attributes, manifest, unique, globalManifest)}\\n\\t\\t\\t//...\\n```\\n\\nIf you try adding a Quote block in the editor, you should notice that it now has a light blue background with a quote icon in a darker shade of blue. This is the default value for the `quoteColorTheme` attribute we added in the component\'s manifest.\\n\\n## Outputting CSS variables in the PHP template\\nThe PHP template for the Quote component is located in **_src/Blocks/components/quote/quote.php_**. This process is similar to the one described above, it\'s just written in PHP. All helper methods we need for this are contained inside the `Components` class, which is already included in this file.\\n\\nSimilar to the JS template, we need a unique value, assign it to `data-id`, and output CSS variables. After adding these, the code should look like this:\\n\\n```php\\n<?php\\n//...\\n$quoteClass = Components::classnames([\\n\\tComponents::selector($componentClass, $componentClass),\\n\\tComponents::selector($blockClass, $blockClass, $selectorClass),\\n\\tComponents::selector($additionalClass, $additionalClass),\\n]);\\n\\n$unique = Components::getUnique();\\n?>\\n\\n<figure class=\\"<?php echo \\\\esc_attr($quoteClass); ?>\\" data-id=\\"<?php echo \\\\esc_attr($unique); ?>\\">\\n\\t<?php echo Components::outputCssVariables($attributes, $manifest, $unique, $globalManifest); ?>\\n\\t//...\\n```\\n\\n:::note\\nBoth PHP and JS have the same helpers to make writing code for editor and front view as similar as possible.\\n:::\\n\\n## Adding options\\nAfter adding these snippets, you should already see that your block is using the blue color theme, which we defined as the default value for `quoteColorTheme` in the manifest. We want to have an easy way to change the color theme in the editor. Now we\'ll add a new option which will do just that.\\n\\nWe will add these options in **_src/Blocks/components/quote/components/quote-options.js_**. Again, we will start with the imports we will need. First one is `__` from **_@wordpress/i18n_** package. Additional imports we need are from **_@eightshift/frontend-libs/scripts_**, so we will just add those to the list.\\n```js\\nimport { __ } from \'@wordpress/i18n\';\\nimport {\\n\\t//...\\n\\tColorPaletteCustom,\\n\\tIconLabel,\\n\\ticons,\\n\\tgetOption\\n} from \'@eightshift/frontend-libs/scripts\';\\n```\\n\\nNext, we can add a new attribute in options called `showQuoteColorTheme` and set it to `true` by default. If we want to use this component in other blocks, we can use this attribute for showing or hiding Color Theme Options on a specific block that uses the Quote component.\\n\\nAdditionally, we need to get values for `quoteUse` and `quoteColorTheme` attributes. We can use the `checkAttr` helper which first checks if a block has saved attribute value. If not, it defaults to a value defined in the manifest.\\n\\n```js\\nexport const QuoteOptions = (attributes) => {\\n\\t//...\\n\\tconst {\\n\\t\\tsetAttributes,\\n\\t\\t//...\\n\\t\\tshowQuoteColorTheme = true,\\n\\t} = attributes;\\n\\t//...\\n\\tconst quoteUse = checkAttr(\'quoteUse\', attributes, manifest);\\n\\tconst quoteColorTheme = checkAttr(\'quoteColorTheme\', attributes, manifest);\\n```\\n\\nFinally, we add the Color Palette, which we will use for switching color themes.\\n\\n```js\\nreturn (\\n\\t<>\\n\\t\\t//...\\n\\n\\t\\t{quoteUse &&\\n\\t\\t\\t<>\\n\\t\\t\\t\\t{showQuoteColorTheme &&\\n\\t\\t\\t\\t\\t<ColorPaletteCustom\\n\\t\\t\\t\\t\\t\\tlabel={<IconLabel icon={icons.color} label={__(\'Color Theme\', \'es-theme\')} />}\\n\\t\\t\\t\\t\\t\\tcolors={getOption(\'quoteColorTheme\', attributes, manifest, true)}\\n\\t\\t\\t\\t\\t\\tvalue={quoteColorTheme}\\n\\t\\t\\t\\t\\t\\tonChange={(value) => setAttributes({ [getAttrKey(\'quoteColorTheme\', attributes, manifest)]: value })}\\n\\t\\t\\t\\t\\t/>\\n\\t\\t\\t\\t}\\n\\t\\t\\t//...\\n```\\n\\nThe Color Theme option should now be visible and fully functional inside the Quote block.\\n\\n![Color Theme Options](/img/blog/color-theme-options.webp)\\n\\n## Adding transitions in the editor\\n\\nThe options work, but you may notice there is no transition in the editor. It is not necessary but will improve the user experience. Since we do not need transition effects on the frontend, we can add these CSS rules only to the editor. To do that, we start by creating **_quote-editor.scss_** file inside **_src/Blocks/components/quote_** folder.\\n\\nWe add the following CSS:\\n```css\\n.quote {\\n\\ttransition: background-color 0.3s ease-in-out;\\n\\n\\t&__icon {\\n\\t\\ttransition: color 0.3s ease-in-out;\\n\\t}\\n}\\n```\\n\\nBecause we\'ve added a new file, we have to run `npm start` again. Now the transition between colors will be much smoother.\\n\\n![Color Theme Change](/img/blog/color-theme-change.gif)\\n\\n## Closing thoughts\\n\\nIn this post, we\'ve covered the whole process of adding a new attribute. It involves a lot of steps and things to keep in mind, but once you get used to it, you\'ll be able to add quite powerful features to your blocks.\\n\\nOne more important thing to keep in mind is the expandability of your attributes. When adding new attributes, don\'t think just about what you need now, keep in mind that you may need to expand it later.\\n\\nThe way we built Color Theme functionality makes adding additional color themes a breeze and can be done in a matter of minutes. For \\"homework\\", try adding two more color themes of your choice. Good luck!"},{"id":"adding-blocks-wpcli","metadata":{"permalink":"/blog/adding-blocks-wpcli","source":"@site/blog/2022-03-03-adding-blocks-wpcli.md","title":"Adding components and blocks with WP-CLI","description":"This blog post covers how to use our WP CLI commands for adding components and blocks into your project.","date":"2022-03-14T00:00:00.000Z","formattedDate":"March 14, 2022","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"wpcli","permalink":"/blog/tags/wpcli"},{"label":"components","permalink":"/blog/tags/components"},{"label":"blocks","permalink":"/blog/tags/blocks"}],"readingTime":2.785,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"Adding components and blocks with WP-CLI","description":"This blog post covers how to use our WP CLI commands for adding components and blocks into your project.","slug":"adding-blocks-wpcli","authors":"obradovic","date":"2022-03-14T00:00:00.000Z","tags":["eightshift","boilerplate","wpcli","components","blocks"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"Modifying blocks - Color Theme","permalink":"/blog/modifying-blocks-color-theme"},"nextItem":{"title":"Components and blocks","permalink":"/blog/components-and-blocks"}},"content":"Although there are a few basic blocks available after creating a project, there are a lot more blocks available in the dev kit. However, you have to add them to your project using WP-CLI (the simplest method). To see the complete list of available components and blocks, visit our [Storybook](/devkit-components).\\n\\nThese can be used out-of-the-box, but also as a good starting point if you need similar blocks in your projects. It will also speed up your development time since you don\'t have to build everything from scratch.\\n\\n\x3c!--truncate--\x3e\\n\\n:::info Last update\\nAugust 23, 2022\\n:::\\n\\n## Storybook\\n\\nStorybook allows you to preview how the components and blocks look and which options they have available. Since Storybook is interactive, you can try out most of the options. Think of it as a catalog with all custom blocks we\'ve built and made ready for public use.\\n\\nEach entry in Storybook should have documentation that explains the block in more detail, along with implementation instructions. Before using any block, be sure to check `Dependencies` section. Although `Implementation` section lists all the necessary WP-CLI commands required to use a specific block or a component, it is recommended to check if you have the required dependencies ready in your theme.\\n\\n## WP-CLI commands\\n\\nIf you\'ve read our [Initial Setup](/blog/initial-setup) post, you\'re already familiar with our custom WP-CLI commands. For implementing additional components, we have `wp boilerplate blocks use-component --name=` command. For blocks, we have `wp boilerplate blocks use-block --name=` command.\\n\\n## Adding new component and block in our project\\n\\nLet\'s say we need a Quote block in our project. After going through the documentation of the Quote block, we see that we have one dependency, and that is the Quote component. So, to make Quote block available in our project, we need two WP-CLI commands:\\n\\n```bash\\nwp boilerplate blocks use-block --name=quote\\nwp boilerplate blocks use-component --name=quote\\n```\\n\\nWhen entering the `wp boilerplate blocks use-block --name=\'quote\'` command, you\'ll notice the note about a block dependency on the Quote component. So you should run the second command as well.\\n\\n![Setup - instructions](/img/blog/wpcli-1.webp)\\n\\nAfter entering these commands, run `npm start` again to make sure everything works properly.\\n\\nThe Quote block is now ready to use and available in your blocks list. You may use it as-is, or you may want to expand its functionalities with some additional attributes. More about that will be covered in the next blog post.\\n\\n## Using Example block\\n\\nIf you want to build a block almost from scratch, you can use our Example block. This is a very simple block that generates all necessary files with some example options. To add an Example block to your project, use the following WP-CLI command:\\n\\n```bash\\nwp boilerplate blocks use-block --name=example\\n```\\n\\nSince our blocks use a predefined structure to make everything register automatically, adding Example block with WP-CLI will generate all required files. After it\'s added, feel free to rename the folder, as well as files with the name of your block and start modifying all the files. Simply replace \\"example\\" with the name of your block.\\n\\n## Further reading\\n\\nOur documentation has all this covered in a lot more detail, so if you would like to better understand the structure of our blocks and components, here are some chapters covering these topics:\\n\\n- [Architecture concepts](/docs/basics/architecture-concepts)\\n- [Block Structure](/docs/basics/block-structure)\\n- [Component Structure](/docs/basics/blocks-component-structure)"},{"id":"components-and-blocks","metadata":{"permalink":"/blog/components-and-blocks","source":"@site/blog/2022-01-21-components-and-blocks.md","title":"Components and blocks","description":"Explanation of the difference between components and blocks on a practical example","date":"2022-01-21T00:00:00.000Z","formattedDate":"January 21, 2022","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"components","permalink":"/blog/tags/components"},{"label":"blocks","permalink":"/blog/tags/blocks"}],"readingTime":3.75,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"Components and blocks","description":"Explanation of the difference between components and blocks on a practical example","slug":"components-and-blocks","authors":"obradovic","tags":["eightshift","boilerplate","components","blocks"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"Adding components and blocks with WP-CLI","permalink":"/blog/adding-blocks-wpcli"},"nextItem":{"title":"Initial setup and first steps","permalink":"/blog/initial-setup"}},"content":"In this blog post, we\'ll give you a practical explanation about the difference between components and blocks. For a truly in-depth explanation about components and blocks, you can refer to [our documentation](/docs/basics/blocks). A more specific explanation about using components in a block can be found in the [Component in a Block](/docs/basics/blocks-component-in-block/) section.\\n\\n\x3c!--truncate--\x3e\\nOne of the things that is really confusing to newcomers is the difference between components and blocks. Let\'s break it all down.\\n\\n## Component\\n\\n:::note :es-hide-title:\\nA component is like a blank slate, a template without context.\\n:::\\n\\nIt doesn\'t know or even care for what it will be used. Can you combine multiple simple components into one complex component? Absolutely! That\'s exactly what we\'ll do in the following example.\\n\\nLet\'s say we have a component that consists of an image and a heading. Image and heading are two simple components that come with the theme out-of-the-box.\\n\\nHere are a few examples of how this new component can be used:\\n- displaying a post\\n- displaying a user or an author\\n- displaying a photo with the photographer\'s name\\n- and many more...\\n\\nAs you can already see, there are many ways you can use this component. What helps expand the usability of this component even more are `attributes`. Let\'s say we have the following attributes:\\n- `imagePosition` - left, right, top, bottom\\n- `imageShape` - rectangular, circular\\n- `imageWidth` - 25%, 50%, 75%\\n- `headingColor` - black, blue, red\\n- `headingSize` - small, medium, large\\n\\nThese attributes give you the option to modify the look of the component, so this specific component can be used for the following:\\n\\n- **related posts** - rectangular image on the left side, 25% image width, heading takes up the remaining 75%, medium heading colored in blue\\n- **user avatar** - circular image on the left side, 25% image width, small heading colored in black\\n- **photo of the day** - rectangular image on the right side which takes 75% width and photographer\'s name is written in medium blue text\\n- **featured posts** - rectangular image on top, large heading in red color\\n\\n![Component with different attributes](/img/blog/components.webp)\\n\\nYou can even add conditional logic to your options, e.g. to have the option for `imageWidth` visible only when `imagePosition` is set to left or right. And when `imagePosition` is set to top or bottom, it defaults to 100% width.\\n\\n## Block\\n\\nSo, what about blocks? Blocks can consist of one or more components and, most importantly, allow you to use them in the editor. Technically, blocks can consist of zero components, but we encourage you to build blocks from components because that increases the reusability.\\n\\n:::note :es-hide-title:\\nBlocks give context to the components.\\n:::\\n\\nNow that we have our component - let\'s call it `card-simple` - we can use it in a `Featured Posts` block. In **component\'s** `manifest.json`, we\'ve already defined how we want it to look by setting some defaults. When using this component in our block, we can override some attributes in **block\'s** `manifest.json`. Since it will be used for displaying featured posts, we can define that `imagePosition` should be set to **top**.\\n\\nAfter defining how we want our component to look while displaying featured posts, we need another attribute which will allow us to choose which posts to display in our block.\\n\\nTo do that, we\'ll add a new attribute called `featuredPosts` which will define which posts will be displayed in our block. For each selected post, another `card-simple` component is added, and featured image and post title are dynamically added to its image and heading components. More about the query logic and adding new options in a block will be covered in a future post.\\n\\nYou may be wondering, can you have a block that allows you to use all options of the `card-simple` component? Of course! You can create a block that allows you to set all available options in the editor and manually add content to the image and heading. There are also block variations, which allow you to set up predefined attributes for a block. More about setting up block variations may be covered in one of the future posts.\\n\\n## Conclusion\\n\\nHopefully, these examples helped you get a better understanding of the difference between components and blocks. It may take a bit more time or practical use to understand the difference and reasoning behind it. Our next post will walk you through downloading one of our components and blocks with WP CLI and modifying it."},{"id":"initial-setup","metadata":{"permalink":"/blog/initial-setup","source":"@site/blog/2022-01-20-initial-setup.md","title":"Initial setup and first steps","description":"This blog post describes how to set up Eightshift Boilerplate theme, and covers some of the most common issues that may occur","date":"2022-01-20T00:00:00.000Z","formattedDate":"January 20, 2022","tags":[{"label":"eightshift","permalink":"/blog/tags/eightshift"},{"label":"boilerplate","permalink":"/blog/tags/boilerplate"},{"label":"setup","permalink":"/blog/tags/setup"}],"readingTime":2.595,"hasTruncateMarker":true,"authors":[{"name":"Igor Obradovi\u0107","title":"WordPress Engineer","url":"https://github.com/iobrado","imageURL":"https://avatars.githubusercontent.com/u/23059501?v=4","key":"obradovic"}],"frontMatter":{"title":"Initial setup and first steps","description":"This blog post describes how to set up Eightshift Boilerplate theme, and covers some of the most common issues that may occur","slug":"initial-setup","authors":"obradovic","tags":["eightshift","boilerplate","setup"],"hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"Components and blocks","permalink":"/blog/components-and-blocks"}},"content":"As is often the case when trying out something new, you might encounter some hiccups. You\'re trying out our Eightshift Boilerplate, but can\'t get it to work? Worry not, we\'ll go through the setup and the most common issues that may occur.\\n\\n\x3c!--truncate--\x3e\\n\\n:::info Last update\\nAugust 23, 2022\\n:::\\n\\nIf you haven\'t already, be sure to read our official [Eightshift Docs](/docs/welcome).\\n\\n## Setup\\n\\nTo create Eightshift theme, navigate to `wp-content/themes` in your project and type the following in the terminal:\\n\\n```bash\\nnpx create-wp-project\\n```\\n\\nJust follow the instructions and wait for the theme to download.\\n\\n![Setup - initial prompt](/img/blog/setup-1.webp)\\n\\nOK, you went through the process, filled out all required information, but the theme still isn\'t working. There are a few more instructions in the terminal on what to do next, but you may have skipped them. While the principle **\\"6 hours of debugging can save you 5 minutes of reading documentation\\"** is fun, sometimes it\'s just not worth it. Here\'s what you should do:\\n\\n- run `wp theme activate your-theme-name` to activate your new theme\\n- navigate to `wp-content/themes/your-theme-name`\\n- try running `wp boilerplate --help` to check if our WP CLI boilerplate commands work\\n- for easiest initial setup, run `wp boilerplate init theme`\\n- `npm start` should trigger automatically with the previous command. If it doesn\'t, you can run it manually to finish the theme build process\\n\\n![Setup - instructions](/img/blog/setup-2.webp)\\n\\nCongratulations, you\'ve set up your Eightshift theme!\\n\\n## Getting to know Eightshift dev tools\\n\\nAfter successfully setting up the theme and going through files, you\'ll notice this file structure is quite different from traditional WordPress themes and you may think to yourself: \\"Oh wow, what did I get myself into?\\"\\n\\nWhile it may look scary and confusing at first, once you get used to the structure, you\'ll see the benefits. More about that will be covered in future posts, where we\'ll walk you through some basics of developing with Eightshift Boilerplate.\\n\\nYou may want to try a few of our WP CLI commands to add another component, block, or service class. Running `wp boilerplate --help` will give you a list of commands and their short description. If you need even more details about a specific command, you can type, e.g. `wp boilerplate create post-type --help`\\n\\nThe final tip in this post is related to troubleshooting. Maybe you tried to add a new class or a new feature to one of the existing blocks. And now the site has crashed. In tech support, the number 1 question is **\\"Have you tried turning it off and on again?\\"**. In our case, the number 1 question is:\\n\\n:::tip\\nHave you tried `composer dump-autoload` and re-running `npm start`?\\n:::\\n\\n## What\'s next in store?\\n\\nThat\'s all for this post. In future posts we\'ll go through some more how-to examples like:\\n- the difference between components and blocks\\n- downloading components and blocks from our Storybook with WP-CLI\\n- adding new features to components and blocks\\n- adding custom fonts to your project\\n- adding custom queries which we\'ll use in one of our blocks\\n- and many more...\\n\\nSo stay tuned."}]}')}}]); \ No newline at end of file diff --git a/assets/js/759f3f6b.592d453f.js b/assets/js/b322c2ef.5caeb8f5.js similarity index 67% rename from assets/js/759f3f6b.592d453f.js rename to assets/js/b322c2ef.5caeb8f5.js index 0462d4622..28b4703ab 100644 --- a/assets/js/759f3f6b.592d453f.js +++ b/assets/js/b322c2ef.5caeb8f5.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[86417],{86764:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"forms"}')}}]); \ No newline at end of file +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[49568],{50407:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"forms"}')}}]); \ No newline at end of file diff --git a/assets/js/b3b90a5e.075754df.js b/assets/js/b3b90a5e.075754df.js deleted file mode 100644 index a5377f01b..000000000 --- a/assets/js/b3b90a5e.075754df.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[19386],{69795:s=>{s.exports=JSON.parse('{"label":"class","permalink":"/blog/tags/class","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/b6d824a3.163875cb.js b/assets/js/b6d824a3.163875cb.js deleted file mode 100644 index 02c70fee4..000000000 --- a/assets/js/b6d824a3.163875cb.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[82245],{91608:s=>{s.exports=JSON.parse('{"label":"setup","permalink":"/blog/tags/setup","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/b78e77f8.b78ad862.js b/assets/js/b78e77f8.b78ad862.js deleted file mode 100644 index fdbeafbe9..000000000 --- a/assets/js/b78e77f8.b78ad862.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[19383],{36261:s=>{s.exports=JSON.parse('{"label":"colors","permalink":"/blog/tags/colors","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/b9979bed.ff8023df.js b/assets/js/b9979bed.ff8023df.js deleted file mode 100644 index 02679054c..000000000 --- a/assets/js/b9979bed.ff8023df.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[71198],{1268:s=>{s.exports=JSON.parse('{"label":"eightshift","permalink":"/blog/tags/eightshift","allTagsPath":"/blog/tags","count":17,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/bca46e3f.1d7e87eb.js b/assets/js/bca46e3f.1d7e87eb.js deleted file mode 100644 index 8561952f4..000000000 --- a/assets/js/bca46e3f.1d7e87eb.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[36173],{54117:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>l,contentTitle:()=>i,default:()=>m,frontMatter:()=>a,metadata:()=>r,toc:()=>p});var s=o(74848),n=o(28453);const a={title:"Using Custom Post Types and Taxonomies",description:"How to register and use custom post types and taxonomies with Eightshift Dev Kit",slug:"using-cpts-and-taxonomies",authors:"obradovic",date:new Date("2022-12-13T00:00:00.000Z"),tags:["eightshift","boilerplate","cpt","custom post type","taxonomy","taxonomies","terms"],hide_table_of_contents:!1},i=void 0,r={permalink:"/blog/using-cpts-and-taxonomies",source:"@site/blog/2022-12-13-using-cpts-and-taxonomies.md",title:"Using Custom Post Types and Taxonomies",description:"How to register and use custom post types and taxonomies with Eightshift Dev Kit",date:"2022-12-13T00:00:00.000Z",formattedDate:"December 13, 2022",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"cpt",permalink:"/blog/tags/cpt"},{label:"custom post type",permalink:"/blog/tags/custom-post-type"},{label:"taxonomy",permalink:"/blog/tags/taxonomy"},{label:"taxonomies",permalink:"/blog/tags/taxonomies"},{label:"terms",permalink:"/blog/tags/terms"}],readingTime:4.115,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Using Custom Post Types and Taxonomies",description:"How to register and use custom post types and taxonomies with Eightshift Dev Kit",slug:"using-cpts-and-taxonomies",authors:"obradovic",date:"2022-12-13T00:00:00.000Z",tags:["eightshift","boilerplate","cpt","custom post type","taxonomy","taxonomies","terms"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Block Patterns",permalink:"/blog/block-patterns"},nextItem:{title:"Block Variations",permalink:"/blog/block-variations"}},l={authorsImageUrls:[void 0]},p=[];function c(t){const e={p:"p",...(0,n.R)(),...t.components};return(0,s.jsx)(e.p,{children:"WordPress offers two default ways to group content by content type - using posts or pages. Posts and pages are registered as default post types in the WordPress app. But sometimes, that is not enough. That's where custom post types (CPT) and custom taxonomies come in. This blog post will cover the basics of registering CPTs and taxonomies using Eightshift Dev Kit."})}function m(t={}){const{wrapper:e}={...(0,n.R)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(c,{...t})}):c(t)}},28453:(t,e,o)=>{o.d(e,{R:()=>i,x:()=>r});var s=o(96540);const n={},a=s.createContext(n);function i(t){const e=s.useContext(a);return s.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(n):t.components||n:i(t.components),s.createElement(a.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/bca46e3f.3d1c71c7.js b/assets/js/bca46e3f.3d1c71c7.js new file mode 100644 index 000000000..6e3b0695b --- /dev/null +++ b/assets/js/bca46e3f.3d1c71c7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[36173],{54117:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>l,contentTitle:()=>i,default:()=>m,frontMatter:()=>a,metadata:()=>r,toc:()=>p});var s=o(74848),n=o(28453);const a={title:"Using Custom Post Types and Taxonomies",description:"How to register and use custom post types and taxonomies with Eightshift Dev Kit",slug:"using-cpts-and-taxonomies",authors:"obradovic",date:new Date("2022-12-13T00:00:00.000Z"),tags:["eightshift","boilerplate","cpt","custom post type","taxonomy","taxonomies","terms"],hide_table_of_contents:!1},i=void 0,r={permalink:"/blog/using-cpts-and-taxonomies",source:"@site/blog/2022-12-13-using-cpts-and-taxonomies.md",title:"Using Custom Post Types and Taxonomies",description:"How to register and use custom post types and taxonomies with Eightshift Dev Kit",date:"2022-12-13T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"cpt",permalink:"/blog/tags/cpt"},{label:"custom post type",permalink:"/blog/tags/custom-post-type"},{label:"taxonomy",permalink:"/blog/tags/taxonomy"},{label:"taxonomies",permalink:"/blog/tags/taxonomies"},{label:"terms",permalink:"/blog/tags/terms"}],readingTime:4.115,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Using Custom Post Types and Taxonomies",description:"How to register and use custom post types and taxonomies with Eightshift Dev Kit",slug:"using-cpts-and-taxonomies",authors:"obradovic",date:"2022-12-13T00:00:00.000Z",tags:["eightshift","boilerplate","cpt","custom post type","taxonomy","taxonomies","terms"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Block Patterns",permalink:"/blog/block-patterns"},nextItem:{title:"Block Variations",permalink:"/blog/block-variations"}},l={authorsImageUrls:[void 0]},p=[];function c(t){const e={p:"p",...(0,n.R)(),...t.components};return(0,s.jsx)(e.p,{children:"WordPress offers two default ways to group content by content type - using posts or pages. Posts and pages are registered as default post types in the WordPress app. But sometimes, that is not enough. That's where custom post types (CPT) and custom taxonomies come in. This blog post will cover the basics of registering CPTs and taxonomies using Eightshift Dev Kit."})}function m(t={}){const{wrapper:e}={...(0,n.R)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(c,{...t})}):c(t)}},28453:(t,e,o)=>{o.d(e,{R:()=>i,x:()=>r});var s=o(96540);const n={},a=s.createContext(n);function i(t){const e=s.useContext(a);return s.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(n):t.components||n:i(t.components),s.createElement(a.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/be197d78.44fd34a0.js b/assets/js/be197d78.44fd34a0.js deleted file mode 100644 index fff9f2adc..000000000 --- a/assets/js/be197d78.44fd34a0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[726],{45313:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var a=s(74848),n=s(28453);const o={title:"Working with custom queries",description:"Explains the process of registering a new service class, adding a custom query and using it in a block.",slug:"working-with-custom-queries",authors:"obradovic",date:new Date("2023-08-01T00:00:00.000Z"),tags:["eightshift","boilerplate","service","class","query"],hide_table_of_contents:!1},r=void 0,i={permalink:"/blog/working-with-custom-queries",source:"@site/blog/2023-08-03-adding-custom-query.md",title:"Working with custom queries",description:"Explains the process of registering a new service class, adding a custom query and using it in a block.",date:"2023-08-01T00:00:00.000Z",formattedDate:"August 1, 2023",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"service",permalink:"/blog/tags/service"},{label:"class",permalink:"/blog/tags/class"},{label:"query",permalink:"/blog/tags/query"}],readingTime:3.995,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Working with custom queries",description:"Explains the process of registering a new service class, adding a custom query and using it in a block.",slug:"working-with-custom-queries",authors:"obradovic",date:"2023-08-01T00:00:00.000Z",tags:["eightshift","boilerplate","service","class","query"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"How to use the Wrapper as a standalone component",permalink:"/blog/wrapper-as-a-standalone-component"},nextItem:{title:"Using multiple same components",permalink:"/blog/multiple-same-components"}},l={authorsImageUrls:[void 0]},c=[{value:"Usage in built-in blocks",id:"usage-in-built-in-blocks",level:2},{value:"What are Service classes?",id:"what-are-service-classes",level:2},{value:"Creating a new service class",id:"creating-a-new-service-class",level:2},{value:"Using the new filter",id:"using-the-new-filter",level:2},{value:"Prepare only the data you need",id:"prepare-only-the-data-you-need",level:2},{value:"Best practices for queries",id:"best-practices-for-queries",level:2}];function h(e){const t={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,n.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.p,{children:"Eightshift DevKit offers some blocks with query logic out of the box, but what is the best approach when you need to add a custom query to a block you\u2019ve been working on?"}),"\n",(0,a.jsx)(t.h2,{id:"usage-in-built-in-blocks",children:"Usage in built-in blocks"}),"\n",(0,a.jsxs)(t.p,{children:["One of the Eightshift blocks that already uses ",(0,a.jsx)(t.code,{children:"WP_Query"})," is the ",(0,a.jsx)(t.em,{children:(0,a.jsx)(t.strong,{children:"Featured Content"})})," block. In that block, you can see the query logic is inside the block. However, there is a much better way to do it. The reason it was done like this was to simplify this block and to have an already functioning block available with one WP-CLI command."]}),"\n",(0,a.jsx)(t.p,{children:"A much better approach would be to separate the query logic from the block. Other than following the MVC architecture more closely, this will also make the query logic more reusable. To do this, we\u2019re gonna create a service class."}),"\n",(0,a.jsx)(t.h2,{id:"what-are-service-classes",children:"What are Service classes?"}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.em,{children:'Put simply, a Service is any PHP object that performs some sort of "global" task. - Symfony docs'})}),"\n",(0,a.jsxs)(t.p,{children:["If you take a look at the ",(0,a.jsx)(t.code,{children:"ServiceInterface"})," interface, you\u2019ll notice it only contains the ",(0,a.jsx)(t.code,{children:"register()"})," method. This method holds action and filter hooks for that class. Other than hooking into existing actions and filters, this method can be used to register our own filters which can be used in blocks or other classes."]}),"\n",(0,a.jsx)(t.p,{children:"Basically, whenever you need to hook into actions or filters, you should use a Service class for that."}),"\n",(0,a.jsx)(t.h2,{id:"creating-a-new-service-class",children:"Creating a new service class"}),"\n",(0,a.jsx)(t.p,{children:"Creating a new service class in your project is as simple as using the following WP-CLI command:"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-bash",children:"wp boilerplate create service-example --folder=CustomQuery --file_name=CustomQuery\n"})}),"\n",(0,a.jsx)(t.p,{children:"Once this new class is generated, you can add a new public method that will contain the query logic. We want our method to accept three optional arguments:"}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:"ID of the category"}),"\n",(0,a.jsx)(t.li,{children:"number of posts per page"}),"\n",(0,a.jsx)(t.li,{children:"number of the current page"}),"\n"]}),"\n",(0,a.jsx)(t.p,{children:"Having the category ID optional will allow for one more use case, and that is fetching the latest posts regardless of category. By default, WordPress sorts the posts by publish date, from newest to oldest."}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-php",children:"/**\n * Get posts by category ID.\n *\n * @param int $categoryId Category ID.\n * @param int $postsPerPage Number of posts per page.\n * @param int $currentPage Current page number.\n *\n * @return WP_Query Query object.\n */\npublic function getPostsByCategory($categoryId = null, $postsPerPage = 3, $currentPage = 1): WP_Query\n{\n\t$postArgs = [\n\t\t'post_type' => 'post',\n\t\t'cat' => $categoryId,\n\t\t'posts_per_page' => $postsPerPage,\n\t\t'paged' => $currentPage,\n\t];\n\n\treturn new WP_Query($postArgs);\n}\n"})}),"\n",(0,a.jsxs)(t.p,{children:["To use this method, we can add it as a filter. The filter name should be added as a constant for easier maintenance. Inside the ",(0,a.jsx)(t.code,{children:"register()"})," method, add the following:"]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-php",children:"\\add_filter(self::GET_POSTS_BY_CATEGORY, [$this, 'getPostsByCategory'], 10, 3);\n"})}),"\n",(0,a.jsx)(t.h2,{id:"using-the-new-filter",children:"Using the new filter"}),"\n",(0,a.jsx)(t.admonition,{type:"note",children:(0,a.jsxs)(t.p,{children:["Even if you register a filter for a method that doesn\u2019t accept any arguments, when calling ",(0,a.jsx)(t.code,{children:"apply_filters"}),", you must pass at least 1 parameter. In those cases, simply add ",(0,a.jsx)(t.code,{children:"null"})," as a parameter."]})}),"\n",(0,a.jsx)(t.p,{children:"Here are some examples how you can use the filter:"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-php",children:"// Get 3 latest posts, regardless of category.\n$allLatestPosts = apply_filters(CustomQuery::GET_POSTS_BY_CATEGORY, null);\n\n// Get 10 latest posts from the News category. News category ID is 2.\n$latestNews = apply_filters(CustomQuery::GET_POSTS_BY_CATEGORY, 2, 10);\n\n// Get another page of News category.\n$pagedNews = apply_filters(CustomQuery::GET_POSTS_BY_CATEGORY, 2, 10, $currentPage);\n"})}),"\n",(0,a.jsx)(t.p,{children:"The above example shows multiple use cases. The first two examples could be used in a simple block that displays only the selected number of the latest posts. The last example may be used in a REST route for a load more functionality or in a block with classic pagination."}),"\n",(0,a.jsx)(t.p,{children:"Now you can do a regular query loop in your block to display the posts:"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-php",children:"if ($latestNews->have_posts()) {\n\twhile ($latestNews->have_posts()) {\n\t\t$latestNews->the_post();\n\t\t// render the card here with the Components::render helper.\n\t}\n}\nwp_reset_postdata();\n"})}),"\n",(0,a.jsx)(t.admonition,{title:"Important",type:"caution",children:(0,a.jsxs)(t.p,{children:["Don't forget to add ",(0,a.jsx)(t.code,{children:"wp_reset_postdata()"})," after looping through the custom query!"]})}),"\n",(0,a.jsx)(t.h2,{id:"prepare-only-the-data-you-need",children:"Prepare only the data you need"}),"\n",(0,a.jsxs)(t.p,{children:["If you would like to improve this even further, you can run the ",(0,a.jsx)(t.code,{children:"have_posts()"})," loop inside the class and save only the data you need to render to an array. This makes the logic even more separated from the view and all you have to do in a block is loop through the array and populate the component attributes with the values from the array."]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-php",children:"$postData = [];\n\nif ($queryData->have_posts()) {\n\twhile($queryData->have_posts()) {\n\t\t$queryData->the_post();\n\n\t\t$postData[] = [\n\t\t\t'id' => get_the_ID(),\n\t\t\t'title' => get_the_title(),\n\t\t\t'url' => get_permalink(),\n\t\t\t'image' => get_the_post_thumbnail_url(),\n\t\t\t'date' => get_the_time('d.m.Y.'),\n\t\t\t'excerpt' => get_the_excerpt(),\n\t\t];\n\t}\n}\n\nwp_reset_postdata();\n\nreturn $postData;\n"})}),"\n",(0,a.jsx)(t.h2,{id:"best-practices-for-queries",children:"Best practices for queries"}),"\n",(0,a.jsxs)(t.p,{children:["It\u2019s important to have query optimisation in mind. Some queries may be a lot slower and you have to see if there is any way to follow the ",(0,a.jsx)(t.a,{href:"https://infinum.com/handbook/wordpress/coding-standards/php-coding-standards/database-queries",children:"best practices for database queries"}),"."]})]})}function d(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(h,{...e})}):h(e)}},28453:(e,t,s)=>{s.d(t,{R:()=>r,x:()=>i});var a=s(96540);const n={},o=a.createContext(n);function r(e){const t=a.useContext(o);return a.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),a.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/be197d78.fac5ebf2.js b/assets/js/be197d78.fac5ebf2.js new file mode 100644 index 000000000..5e7ad0597 --- /dev/null +++ b/assets/js/be197d78.fac5ebf2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[726],{45313:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var a=s(74848),n=s(28453);const o={title:"Working with custom queries",description:"Explains the process of registering a new service class, adding a custom query and using it in a block.",slug:"working-with-custom-queries",authors:"obradovic",date:new Date("2023-08-01T00:00:00.000Z"),tags:["eightshift","boilerplate","service","class","query"],hide_table_of_contents:!1},r=void 0,i={permalink:"/blog/working-with-custom-queries",source:"@site/blog/2023-08-03-adding-custom-query.md",title:"Working with custom queries",description:"Explains the process of registering a new service class, adding a custom query and using it in a block.",date:"2023-08-01T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"service",permalink:"/blog/tags/service"},{label:"class",permalink:"/blog/tags/class"},{label:"query",permalink:"/blog/tags/query"}],readingTime:3.995,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Working with custom queries",description:"Explains the process of registering a new service class, adding a custom query and using it in a block.",slug:"working-with-custom-queries",authors:"obradovic",date:"2023-08-01T00:00:00.000Z",tags:["eightshift","boilerplate","service","class","query"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"How to use the Wrapper as a standalone component",permalink:"/blog/wrapper-as-a-standalone-component"},nextItem:{title:"Using multiple same components",permalink:"/blog/multiple-same-components"}},l={authorsImageUrls:[void 0]},c=[{value:"Usage in built-in blocks",id:"usage-in-built-in-blocks",level:2},{value:"What are Service classes?",id:"what-are-service-classes",level:2},{value:"Creating a new service class",id:"creating-a-new-service-class",level:2},{value:"Using the new filter",id:"using-the-new-filter",level:2},{value:"Prepare only the data you need",id:"prepare-only-the-data-you-need",level:2},{value:"Best practices for queries",id:"best-practices-for-queries",level:2}];function h(e){const t={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,n.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.p,{children:"Eightshift DevKit offers some blocks with query logic out of the box, but what is the best approach when you need to add a custom query to a block you\u2019ve been working on?"}),"\n",(0,a.jsx)(t.h2,{id:"usage-in-built-in-blocks",children:"Usage in built-in blocks"}),"\n",(0,a.jsxs)(t.p,{children:["One of the Eightshift blocks that already uses ",(0,a.jsx)(t.code,{children:"WP_Query"})," is the ",(0,a.jsx)(t.em,{children:(0,a.jsx)(t.strong,{children:"Featured Content"})})," block. In that block, you can see the query logic is inside the block. However, there is a much better way to do it. The reason it was done like this was to simplify this block and to have an already functioning block available with one WP-CLI command."]}),"\n",(0,a.jsx)(t.p,{children:"A much better approach would be to separate the query logic from the block. Other than following the MVC architecture more closely, this will also make the query logic more reusable. To do this, we\u2019re gonna create a service class."}),"\n",(0,a.jsx)(t.h2,{id:"what-are-service-classes",children:"What are Service classes?"}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.em,{children:'Put simply, a Service is any PHP object that performs some sort of "global" task. - Symfony docs'})}),"\n",(0,a.jsxs)(t.p,{children:["If you take a look at the ",(0,a.jsx)(t.code,{children:"ServiceInterface"})," interface, you\u2019ll notice it only contains the ",(0,a.jsx)(t.code,{children:"register()"})," method. This method holds action and filter hooks for that class. Other than hooking into existing actions and filters, this method can be used to register our own filters which can be used in blocks or other classes."]}),"\n",(0,a.jsx)(t.p,{children:"Basically, whenever you need to hook into actions or filters, you should use a Service class for that."}),"\n",(0,a.jsx)(t.h2,{id:"creating-a-new-service-class",children:"Creating a new service class"}),"\n",(0,a.jsx)(t.p,{children:"Creating a new service class in your project is as simple as using the following WP-CLI command:"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-bash",children:"wp boilerplate create service-example --folder=CustomQuery --file_name=CustomQuery\n"})}),"\n",(0,a.jsx)(t.p,{children:"Once this new class is generated, you can add a new public method that will contain the query logic. We want our method to accept three optional arguments:"}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:"ID of the category"}),"\n",(0,a.jsx)(t.li,{children:"number of posts per page"}),"\n",(0,a.jsx)(t.li,{children:"number of the current page"}),"\n"]}),"\n",(0,a.jsx)(t.p,{children:"Having the category ID optional will allow for one more use case, and that is fetching the latest posts regardless of category. By default, WordPress sorts the posts by publish date, from newest to oldest."}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-php",children:"/**\n * Get posts by category ID.\n *\n * @param int $categoryId Category ID.\n * @param int $postsPerPage Number of posts per page.\n * @param int $currentPage Current page number.\n *\n * @return WP_Query Query object.\n */\npublic function getPostsByCategory($categoryId = null, $postsPerPage = 3, $currentPage = 1): WP_Query\n{\n\t$postArgs = [\n\t\t'post_type' => 'post',\n\t\t'cat' => $categoryId,\n\t\t'posts_per_page' => $postsPerPage,\n\t\t'paged' => $currentPage,\n\t];\n\n\treturn new WP_Query($postArgs);\n}\n"})}),"\n",(0,a.jsxs)(t.p,{children:["To use this method, we can add it as a filter. The filter name should be added as a constant for easier maintenance. Inside the ",(0,a.jsx)(t.code,{children:"register()"})," method, add the following:"]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-php",children:"\\add_filter(self::GET_POSTS_BY_CATEGORY, [$this, 'getPostsByCategory'], 10, 3);\n"})}),"\n",(0,a.jsx)(t.h2,{id:"using-the-new-filter",children:"Using the new filter"}),"\n",(0,a.jsx)(t.admonition,{type:"note",children:(0,a.jsxs)(t.p,{children:["Even if you register a filter for a method that doesn\u2019t accept any arguments, when calling ",(0,a.jsx)(t.code,{children:"apply_filters"}),", you must pass at least 1 parameter. In those cases, simply add ",(0,a.jsx)(t.code,{children:"null"})," as a parameter."]})}),"\n",(0,a.jsx)(t.p,{children:"Here are some examples how you can use the filter:"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-php",children:"// Get 3 latest posts, regardless of category.\n$allLatestPosts = apply_filters(CustomQuery::GET_POSTS_BY_CATEGORY, null);\n\n// Get 10 latest posts from the News category. News category ID is 2.\n$latestNews = apply_filters(CustomQuery::GET_POSTS_BY_CATEGORY, 2, 10);\n\n// Get another page of News category.\n$pagedNews = apply_filters(CustomQuery::GET_POSTS_BY_CATEGORY, 2, 10, $currentPage);\n"})}),"\n",(0,a.jsx)(t.p,{children:"The above example shows multiple use cases. The first two examples could be used in a simple block that displays only the selected number of the latest posts. The last example may be used in a REST route for a load more functionality or in a block with classic pagination."}),"\n",(0,a.jsx)(t.p,{children:"Now you can do a regular query loop in your block to display the posts:"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-php",children:"if ($latestNews->have_posts()) {\n\twhile ($latestNews->have_posts()) {\n\t\t$latestNews->the_post();\n\t\t// render the card here with the Components::render helper.\n\t}\n}\nwp_reset_postdata();\n"})}),"\n",(0,a.jsx)(t.admonition,{title:"Important",type:"caution",children:(0,a.jsxs)(t.p,{children:["Don't forget to add ",(0,a.jsx)(t.code,{children:"wp_reset_postdata()"})," after looping through the custom query!"]})}),"\n",(0,a.jsx)(t.h2,{id:"prepare-only-the-data-you-need",children:"Prepare only the data you need"}),"\n",(0,a.jsxs)(t.p,{children:["If you would like to improve this even further, you can run the ",(0,a.jsx)(t.code,{children:"have_posts()"})," loop inside the class and save only the data you need to render to an array. This makes the logic even more separated from the view and all you have to do in a block is loop through the array and populate the component attributes with the values from the array."]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-php",children:"$postData = [];\n\nif ($queryData->have_posts()) {\n\twhile($queryData->have_posts()) {\n\t\t$queryData->the_post();\n\n\t\t$postData[] = [\n\t\t\t'id' => get_the_ID(),\n\t\t\t'title' => get_the_title(),\n\t\t\t'url' => get_permalink(),\n\t\t\t'image' => get_the_post_thumbnail_url(),\n\t\t\t'date' => get_the_time('d.m.Y.'),\n\t\t\t'excerpt' => get_the_excerpt(),\n\t\t];\n\t}\n}\n\nwp_reset_postdata();\n\nreturn $postData;\n"})}),"\n",(0,a.jsx)(t.h2,{id:"best-practices-for-queries",children:"Best practices for queries"}),"\n",(0,a.jsxs)(t.p,{children:["It\u2019s important to have query optimisation in mind. Some queries may be a lot slower and you have to see if there is any way to follow the ",(0,a.jsx)(t.a,{href:"https://infinum.com/handbook/wordpress/coding-standards/php-coding-standards/database-queries",children:"best practices for database queries"}),"."]})]})}function d(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(h,{...e})}):h(e)}},28453:(e,t,s)=>{s.d(t,{R:()=>r,x:()=>i});var a=s(96540);const n={},o=a.createContext(n);function r(e){const t=a.useContext(o);return a.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),a.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c0779e58.e8c3c357.js b/assets/js/c0779e58.e8c3c357.js new file mode 100644 index 000000000..49ea452f4 --- /dev/null +++ b/assets/js/c0779e58.e8c3c357.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[13809],{57108:t=>{t.exports=JSON.parse('{"tag":{"label":"plugins","permalink":"/blog/tags/plugins","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/plugins","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/c0da0a5f.615ca327.js b/assets/js/c0da0a5f.615ca327.js new file mode 100644 index 000000000..30e48e885 --- /dev/null +++ b/assets/js/c0da0a5f.615ca327.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[84915],{62686:t=>{t.exports=JSON.parse('{"tag":{"label":"components","permalink":"/blog/tags/components","allTagsPath":"/blog/tags","count":5,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/components","page":1,"postsPerPage":9,"totalPages":1,"totalCount":5,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/640b2864.83c5954b.js b/assets/js/c141421f.1c331f34.js similarity index 67% rename from assets/js/640b2864.83c5954b.js rename to assets/js/c141421f.1c331f34.js index 9e6af876e..f8dea8af8 100644 --- a/assets/js/640b2864.83c5954b.js +++ b/assets/js/c141421f.1c331f34.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[88447],{57757:e=>{e.exports=JSON.parse('{"name":"docusaurus-theme-search-algolia","id":"default"}')}}]); \ No newline at end of file +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[80957],{40936:e=>{e.exports=JSON.parse('{"name":"docusaurus-theme-search-algolia","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/c38fd7bd.cc29e38a.js b/assets/js/c38fd7bd.cc29e38a.js new file mode 100644 index 000000000..d06a96221 --- /dev/null +++ b/assets/js/c38fd7bd.cc29e38a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[3518],{55305:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>r,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>d});var n=i(74848),s=i(28453);const o={title:"How to use ACF in your project",description:"Example of using ACF plugin in your project",slug:"acf-in-a-project",authors:"obradovic",date:new Date("2022-05-17T00:00:00.000Z"),tags:["eightshift","boilerplate","acf","advanced custom fields","theme options"],hide_table_of_contents:!1},a=void 0,l={permalink:"/blog/acf-in-a-project",source:"@site/blog/2022-05-10-acf-in-a-project.md",title:"How to use ACF in your project",description:"Example of using ACF plugin in your project",date:"2022-05-17T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"acf",permalink:"/blog/tags/acf"},{label:"advanced custom fields",permalink:"/blog/tags/advanced-custom-fields"},{label:"theme options",permalink:"/blog/tags/theme-options"}],readingTime:5.485,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"How to use ACF in your project",description:"Example of using ACF plugin in your project",slug:"acf-in-a-project",authors:"obradovic",date:"2022-05-17T00:00:00.000Z",tags:["eightshift","boilerplate","acf","advanced custom fields","theme options"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Block Variations",permalink:"/blog/block-variations"},nextItem:{title:"Using assets in a project",permalink:"/blog/using-assets"}},r={authorsImageUrls:[void 0]},d=[{value:"Ways of registering ACF fields",id:"ways-of-registering-acf-fields",level:2},{value:"Exporting PHP code",id:"exporting-php-code",level:2},{value:"CustomMeta class",id:"custommeta-class",level:2},{value:"Using get_field()",id:"using-get_field",level:2},{value:"Theme Options",id:"theme-options",level:2},{value:"Tip - create a helper class",id:"tip---create-a-helper-class",level:2}];function c(e){const t={admonition:"admonition",code:"code",em:"em",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:["If you've worked with WordPress for a long time, you've heard of the ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"Advanced Custom Fields"})})," plugin (",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"ACF"})})," for short). While the use of blocks has simplified content editing, thus making meta fields less of a necessity, there are still cases in which meta fields are very useful."]}),"\n",(0,n.jsx)(t.h2,{id:"ways-of-registering-acf-fields",children:"Ways of registering ACF fields"}),"\n",(0,n.jsx)(t.p,{children:"There are multiple approaches to ACF field registration. The easiest way to register fields is using the WP admin interface, but this approach has a few drawbacks. If you have many fields, this can impact performance because you are registering fields dynamically (information about registered fields is stored in the database). Another drawback is if you have multiple environments (e.g. local, staging, production), you'll have to export the fields and import them to other environments."}),"\n",(0,n.jsx)(t.p,{children:"Other ways of registering ACF fields are either via PHP (code) or by reading from a JSON file. We prefer to use PHP because you can use OPcache to speed up field registration even more. If you are using Git, this approach is even better because you can commit the PHP code used for registering fields for easier portability across different environments. For that reason, Eightshift Development kit already has some goodies which will make field registration a breeze."}),"\n",(0,n.jsx)(t.h2,{id:"exporting-php-code",children:"Exporting PHP code"}),"\n",(0,n.jsxs)(t.p,{children:["The approach we use for registering ACF fields is by adding those fields first through the WP Admin ACF interface. As an example, We'll add a field group called ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"Intro"})}),", which will contain one text field of the same name. That field group will be displayed only on posts. You can add a few more fields, but for the sake of simplicity, we'll only use one field."]}),"\n",(0,n.jsxs)(t.p,{children:["When you define all the fields you need, save them and go to ",(0,n.jsx)(t.code,{children:"Custom Fields -> Tools"}),". Here you will see an option to ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"Export Field Groups"})}),". Simply select the field groups which you want to export and select ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"Generate PHP"})}),"."]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"ACF PHP code export",src:i(39726).A+"",width:"874",height:"335"})}),"\n",(0,n.jsx)(t.p,{children:"This will generate a PHP code snippet that you can use in your theme. Now you may be wondering, where exactly should that code go?"}),"\n",(0,n.jsx)(t.h2,{id:"custommeta-class",children:"CustomMeta class"}),"\n",(0,n.jsxs)(t.p,{children:["Those ACF goodies in Eightshift Development kit we talked about earlier? Let us introduce you to one of them. We have a WP CLI command which we can use to generate a CustomMeta class where we can add our field groups. The command is ",(0,n.jsx)(t.code,{children:"wp boilerplate create acf-meta"}),". This command has one required parameter, and that is ",(0,n.jsx)(t.code,{children:"name"}),". To create a class that we will use for registering our custom fields, we'll use the following command:"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-bash",children:"wp boilerplate create acf-meta --name=intro\n"})}),"\n",(0,n.jsxs)(t.p,{children:["This command will generate a ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"CustomMeta"})})," folder inside ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"src"})})," folder and add a new file called ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"IntroAcfMeta.php"})}),". Inside that file, you should see the following method:"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"public function fields(): void\n{\n\tif (function_exists('acf_add_local_field_group')) {\n\t\t\\acf_add_local_field_group([]);\n\t}\n}\n"})}),"\n",(0,n.jsxs)(t.p,{children:["Go back to your PHP code export for ACF fields and select everything inside the ",(0,n.jsx)(t.code,{children:"acf_add_local_field_group()"})," function and paste it into your function. To make it in line with our coding standards, we have to do the following:"]}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["replace ",(0,n.jsx)(t.code,{children:"array()"})," with ",(0,n.jsx)(t.code,{children:"[]"})]}),"\n",(0,n.jsxs)(t.li,{children:["make every label translatable and escaped - use ",(0,n.jsx)(t.code,{children:"esc_html__()"})]}),"\n",(0,n.jsx)(t.li,{children:"instead of hardcoding the field name, replace it with a class constant"}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:"After all these changes, your code should look like this:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"class IntroAcfMeta extends AbstractAcfMeta\n{\n\n\t/**\n\t * Intro field name.\n\t */\n\tpublic const INTRO_FIELD_NAME = 'intro';\n\n\t/**\n\t * Render acf fields.\n\t *\n\t * @return void\n\t */\n\tpublic function fields(): void\n\t{\n\t\tif (function_exists('acf_add_local_field_group')) {\n\t\t\t\\acf_add_local_field_group([\n\t\t\t\t'key' => 'group_6269300acefda',\n\t\t\t\t'title' => \\esc_html__('Intro', 'eightshift-theme'),\n\t\t\t\t'fields' => [\n\t\t\t\t\t[\n\t\t\t\t\t\t'key' => 'field_6269300f8029b',\n\t\t\t\t\t\t'label' => \\esc_html__('Intro', 'eightshift-theme'),\n\t\t\t\t\t\t'name' => self::INTRO_FIELD_NAME,\n\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t// ...\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t\t// ...\n\t\t\t]);\n\t\t}\n\t}\n}\n"})}),"\n",(0,n.jsx)(t.p,{children:"The final step is to go back to the Custom Fields in WP admin and either delete or deactivate your field group from there, to prevent registering the fields twice. After adding field definitions in PHP and removing them in WP admin, your field should be visible when editing posts."}),"\n",(0,n.jsx)(t.h2,{id:"using-get_field",children:"Using get_field()"}),"\n",(0,n.jsxs)(t.p,{children:["To fetch the saved meta value, we use ACF's ",(0,n.jsx)(t.code,{children:"get_field()"})," function, but here are a few tips that could improve your code quality. First, you should check if that function exists. That way, if ACF is deactivated on your site for whatever reason, your site won't break. The second tip is to use a class constant instead of hardcoding the field name. With these practices in mind, your code should look like this:"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"use YourNamespace\\CustomMeta\\IntroAcfMeta;\n\n// ...\n\nif (function_exists('get_field')) {\n\t$introText = get_field(IntroAcfMeta::INTRO_FIELD_NAME, $postId);\n}\n"})}),"\n",(0,n.jsx)(t.admonition,{type:"tip",children:(0,n.jsx)(t.p,{children:"It's better to use class constants because if you decide to change the field name, you will have to change it only in one place."})}),"\n",(0,n.jsx)(t.h2,{id:"theme-options",children:"Theme Options"}),"\n",(0,n.jsxs)(t.p,{children:["ACF's Options page has a wide array of uses and it's very likely that you'll need some sort of Theme Options in your project. To make the implementation of Theme Options a bit easier, we have a CLI command which generates the ",(0,n.jsx)(t.code,{children:"ThemeOptions"})," class in your project. Just use the following command:"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-bash",children:"wp boilerplate create theme-options\n"})}),"\n",(0,n.jsxs)(t.p,{children:["This command generates a class with two methods. The first one, ",(0,n.jsx)(t.code,{children:"createThemeOptionsPage()"})," creates a Theme Options page and adds it to the WP Admin sidebar. The second one, ",(0,n.jsx)(t.code,{children:"registerThemeOptions()"}),", is what registers the fields you will have in Theme Options. Here is an example how Theme Options look after being created using ",(0,n.jsx)(t.code,{children:"wp boilerplate"}),":"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"ACF Theme Options",src:i(91386).A+"",width:"982",height:"396"})}),"\n",(0,n.jsxs)(t.p,{children:["To add fields to your Theme Options, follow the steps from the ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"Exporting PHP code"})})," section of this post and add the fields inside the ",(0,n.jsx)(t.code,{children:"'fields' => []"})," array."]}),"\n",(0,n.jsx)(t.h2,{id:"tip---create-a-helper-class",children:"Tip - create a helper class"}),"\n",(0,n.jsxs)(t.p,{children:["In this blog post, we covered the whole process of registering and using ACF fields in your project. But, if you are using a lot of ACF fields, wrapping each ",(0,n.jsx)(t.code,{children:"get_field()"})," function with a ",(0,n.jsx)(t.code,{children:"function_exists()"})," conditional may become tedious at some point. For that reason, it may be a good idea to create a helper class that you can use for ACF functions."]}),"\n",(0,n.jsx)(t.p,{children:"I won't cover the whole process in detail, but I'll give you some general pointers."}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["when registering plugin-related classes, use the ",(0,n.jsx)(t.code,{children:"Plugins"})," namespace. In this case, you should have namespace ",(0,n.jsx)(t.code,{children:"YourNamespace\\Plugins\\Acf"})]}),"\n",(0,n.jsxs)(t.li,{children:["inside that namespace, you can create a class called ",(0,n.jsx)(t.code,{children:"AcfHelper"})]}),"\n",(0,n.jsxs)(t.li,{children:["add a method ",(0,n.jsx)(t.code,{children:"getField"})," which accepts the same arguments as the ",(0,n.jsx)(t.code,{children:"get_field()"})," function"]}),"\n",(0,n.jsxs)(t.li,{children:["add a method ",(0,n.jsx)(t.code,{children:"getThemeOption"})," which only accepts one argument, the field name, and the second argument is hardcoded"]}),"\n",(0,n.jsx)(t.li,{children:"use early returns in your methods"}),"\n"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"if (!function_exists('get_field')) {\n\treturn '';\n}\n"})})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},39726:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/acf-generate-php-b848d0dc2aa8a12145e0ae6d3797d9a9.webp"},91386:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/acf-theme-options-860205bc633280803c2236331b83b8be.webp"},28453:(e,t,i)=>{i.d(t,{R:()=>a,x:()=>l});var n=i(96540);const s={},o=n.createContext(s);function a(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c38fd7bd.db631651.js b/assets/js/c38fd7bd.db631651.js deleted file mode 100644 index a59223d82..000000000 --- a/assets/js/c38fd7bd.db631651.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[3518],{55305:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var n=i(74848),s=i(28453);const o={title:"How to use ACF in your project",description:"Example of using ACF plugin in your project",slug:"acf-in-a-project",authors:"obradovic",date:new Date("2022-05-17T00:00:00.000Z"),tags:["eightshift","boilerplate","acf","advanced custom fields","theme options"],hide_table_of_contents:!1},a=void 0,r={permalink:"/blog/acf-in-a-project",source:"@site/blog/2022-05-10-acf-in-a-project.md",title:"How to use ACF in your project",description:"Example of using ACF plugin in your project",date:"2022-05-17T00:00:00.000Z",formattedDate:"May 17, 2022",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"acf",permalink:"/blog/tags/acf"},{label:"advanced custom fields",permalink:"/blog/tags/advanced-custom-fields"},{label:"theme options",permalink:"/blog/tags/theme-options"}],readingTime:5.485,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"How to use ACF in your project",description:"Example of using ACF plugin in your project",slug:"acf-in-a-project",authors:"obradovic",date:"2022-05-17T00:00:00.000Z",tags:["eightshift","boilerplate","acf","advanced custom fields","theme options"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Block Variations",permalink:"/blog/block-variations"},nextItem:{title:"Using assets in a project",permalink:"/blog/using-assets"}},l={authorsImageUrls:[void 0]},d=[{value:"Ways of registering ACF fields",id:"ways-of-registering-acf-fields",level:2},{value:"Exporting PHP code",id:"exporting-php-code",level:2},{value:"CustomMeta class",id:"custommeta-class",level:2},{value:"Using get_field()",id:"using-get_field",level:2},{value:"Theme Options",id:"theme-options",level:2},{value:"Tip - create a helper class",id:"tip---create-a-helper-class",level:2}];function c(e){const t={admonition:"admonition",code:"code",em:"em",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:["If you've worked with WordPress for a long time, you've heard of the ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"Advanced Custom Fields"})})," plugin (",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"ACF"})})," for short). While the use of blocks has simplified content editing, thus making meta fields less of a necessity, there are still cases in which meta fields are very useful."]}),"\n",(0,n.jsx)(t.h2,{id:"ways-of-registering-acf-fields",children:"Ways of registering ACF fields"}),"\n",(0,n.jsx)(t.p,{children:"There are multiple approaches to ACF field registration. The easiest way to register fields is using the WP admin interface, but this approach has a few drawbacks. If you have many fields, this can impact performance because you are registering fields dynamically (information about registered fields is stored in the database). Another drawback is if you have multiple environments (e.g. local, staging, production), you'll have to export the fields and import them to other environments."}),"\n",(0,n.jsx)(t.p,{children:"Other ways of registering ACF fields are either via PHP (code) or by reading from a JSON file. We prefer to use PHP because you can use OPcache to speed up field registration even more. If you are using Git, this approach is even better because you can commit the PHP code used for registering fields for easier portability across different environments. For that reason, Eightshift Development kit already has some goodies which will make field registration a breeze."}),"\n",(0,n.jsx)(t.h2,{id:"exporting-php-code",children:"Exporting PHP code"}),"\n",(0,n.jsxs)(t.p,{children:["The approach we use for registering ACF fields is by adding those fields first through the WP Admin ACF interface. As an example, We'll add a field group called ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"Intro"})}),", which will contain one text field of the same name. That field group will be displayed only on posts. You can add a few more fields, but for the sake of simplicity, we'll only use one field."]}),"\n",(0,n.jsxs)(t.p,{children:["When you define all the fields you need, save them and go to ",(0,n.jsx)(t.code,{children:"Custom Fields -> Tools"}),". Here you will see an option to ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"Export Field Groups"})}),". Simply select the field groups which you want to export and select ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"Generate PHP"})}),"."]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"ACF PHP code export",src:i(39726).A+"",width:"874",height:"335"})}),"\n",(0,n.jsx)(t.p,{children:"This will generate a PHP code snippet that you can use in your theme. Now you may be wondering, where exactly should that code go?"}),"\n",(0,n.jsx)(t.h2,{id:"custommeta-class",children:"CustomMeta class"}),"\n",(0,n.jsxs)(t.p,{children:["Those ACF goodies in Eightshift Development kit we talked about earlier? Let us introduce you to one of them. We have a WP CLI command which we can use to generate a CustomMeta class where we can add our field groups. The command is ",(0,n.jsx)(t.code,{children:"wp boilerplate create acf-meta"}),". This command has one required parameter, and that is ",(0,n.jsx)(t.code,{children:"name"}),". To create a class that we will use for registering our custom fields, we'll use the following command:"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-bash",children:"wp boilerplate create acf-meta --name=intro\n"})}),"\n",(0,n.jsxs)(t.p,{children:["This command will generate a ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"CustomMeta"})})," folder inside ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"src"})})," folder and add a new file called ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"IntroAcfMeta.php"})}),". Inside that file, you should see the following method:"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"public function fields(): void\n{\n\tif (function_exists('acf_add_local_field_group')) {\n\t\t\\acf_add_local_field_group([]);\n\t}\n}\n"})}),"\n",(0,n.jsxs)(t.p,{children:["Go back to your PHP code export for ACF fields and select everything inside the ",(0,n.jsx)(t.code,{children:"acf_add_local_field_group()"})," function and paste it into your function. To make it in line with our coding standards, we have to do the following:"]}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["replace ",(0,n.jsx)(t.code,{children:"array()"})," with ",(0,n.jsx)(t.code,{children:"[]"})]}),"\n",(0,n.jsxs)(t.li,{children:["make every label translatable and escaped - use ",(0,n.jsx)(t.code,{children:"esc_html__()"})]}),"\n",(0,n.jsx)(t.li,{children:"instead of hardcoding the field name, replace it with a class constant"}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:"After all these changes, your code should look like this:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"class IntroAcfMeta extends AbstractAcfMeta\n{\n\n\t/**\n\t * Intro field name.\n\t */\n\tpublic const INTRO_FIELD_NAME = 'intro';\n\n\t/**\n\t * Render acf fields.\n\t *\n\t * @return void\n\t */\n\tpublic function fields(): void\n\t{\n\t\tif (function_exists('acf_add_local_field_group')) {\n\t\t\t\\acf_add_local_field_group([\n\t\t\t\t'key' => 'group_6269300acefda',\n\t\t\t\t'title' => \\esc_html__('Intro', 'eightshift-theme'),\n\t\t\t\t'fields' => [\n\t\t\t\t\t[\n\t\t\t\t\t\t'key' => 'field_6269300f8029b',\n\t\t\t\t\t\t'label' => \\esc_html__('Intro', 'eightshift-theme'),\n\t\t\t\t\t\t'name' => self::INTRO_FIELD_NAME,\n\t\t\t\t\t\t'type' => 'text',\n\t\t\t\t\t\t// ...\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t\t// ...\n\t\t\t]);\n\t\t}\n\t}\n}\n"})}),"\n",(0,n.jsx)(t.p,{children:"The final step is to go back to the Custom Fields in WP admin and either delete or deactivate your field group from there, to prevent registering the fields twice. After adding field definitions in PHP and removing them in WP admin, your field should be visible when editing posts."}),"\n",(0,n.jsx)(t.h2,{id:"using-get_field",children:"Using get_field()"}),"\n",(0,n.jsxs)(t.p,{children:["To fetch the saved meta value, we use ACF's ",(0,n.jsx)(t.code,{children:"get_field()"})," function, but here are a few tips that could improve your code quality. First, you should check if that function exists. That way, if ACF is deactivated on your site for whatever reason, your site won't break. The second tip is to use a class constant instead of hardcoding the field name. With these practices in mind, your code should look like this:"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"use YourNamespace\\CustomMeta\\IntroAcfMeta;\n\n// ...\n\nif (function_exists('get_field')) {\n\t$introText = get_field(IntroAcfMeta::INTRO_FIELD_NAME, $postId);\n}\n"})}),"\n",(0,n.jsx)(t.admonition,{type:"tip",children:(0,n.jsx)(t.p,{children:"It's better to use class constants because if you decide to change the field name, you will have to change it only in one place."})}),"\n",(0,n.jsx)(t.h2,{id:"theme-options",children:"Theme Options"}),"\n",(0,n.jsxs)(t.p,{children:["ACF's Options page has a wide array of uses and it's very likely that you'll need some sort of Theme Options in your project. To make the implementation of Theme Options a bit easier, we have a CLI command which generates the ",(0,n.jsx)(t.code,{children:"ThemeOptions"})," class in your project. Just use the following command:"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-bash",children:"wp boilerplate create theme-options\n"})}),"\n",(0,n.jsxs)(t.p,{children:["This command generates a class with two methods. The first one, ",(0,n.jsx)(t.code,{children:"createThemeOptionsPage()"})," creates a Theme Options page and adds it to the WP Admin sidebar. The second one, ",(0,n.jsx)(t.code,{children:"registerThemeOptions()"}),", is what registers the fields you will have in Theme Options. Here is an example how Theme Options look after being created using ",(0,n.jsx)(t.code,{children:"wp boilerplate"}),":"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"ACF Theme Options",src:i(91386).A+"",width:"982",height:"396"})}),"\n",(0,n.jsxs)(t.p,{children:["To add fields to your Theme Options, follow the steps from the ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.em,{children:"Exporting PHP code"})})," section of this post and add the fields inside the ",(0,n.jsx)(t.code,{children:"'fields' => []"})," array."]}),"\n",(0,n.jsx)(t.h2,{id:"tip---create-a-helper-class",children:"Tip - create a helper class"}),"\n",(0,n.jsxs)(t.p,{children:["In this blog post, we covered the whole process of registering and using ACF fields in your project. But, if you are using a lot of ACF fields, wrapping each ",(0,n.jsx)(t.code,{children:"get_field()"})," function with a ",(0,n.jsx)(t.code,{children:"function_exists()"})," conditional may become tedious at some point. For that reason, it may be a good idea to create a helper class that you can use for ACF functions."]}),"\n",(0,n.jsx)(t.p,{children:"I won't cover the whole process in detail, but I'll give you some general pointers."}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["when registering plugin-related classes, use the ",(0,n.jsx)(t.code,{children:"Plugins"})," namespace. In this case, you should have namespace ",(0,n.jsx)(t.code,{children:"YourNamespace\\Plugins\\Acf"})]}),"\n",(0,n.jsxs)(t.li,{children:["inside that namespace, you can create a class called ",(0,n.jsx)(t.code,{children:"AcfHelper"})]}),"\n",(0,n.jsxs)(t.li,{children:["add a method ",(0,n.jsx)(t.code,{children:"getField"})," which accepts the same arguments as the ",(0,n.jsx)(t.code,{children:"get_field()"})," function"]}),"\n",(0,n.jsxs)(t.li,{children:["add a method ",(0,n.jsx)(t.code,{children:"getThemeOption"})," which only accepts one argument, the field name, and the second argument is hardcoded"]}),"\n",(0,n.jsx)(t.li,{children:"use early returns in your methods"}),"\n"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-php",children:"if (!function_exists('get_field')) {\n\treturn '';\n}\n"})})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},39726:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/acf-generate-php-b848d0dc2aa8a12145e0ae6d3797d9a9.webp"},91386:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/acf-theme-options-860205bc633280803c2236331b83b8be.webp"},28453:(e,t,i)=>{i.d(t,{R:()=>a,x:()=>r});var n=i(96540);const s={},o=n.createContext(s);function a(e){const t=n.useContext(o);return n.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(s):e.components||s:a(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c709f244.4e14ff73.js b/assets/js/c709f244.4e14ff73.js deleted file mode 100644 index 29307c862..000000000 --- a/assets/js/c709f244.4e14ff73.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[13991],{39414:s=>{s.exports=JSON.parse('{"label":"assets","permalink":"/blog/tags/assets","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/c80bf43d.44831b3c.js b/assets/js/c80bf43d.44831b3c.js new file mode 100644 index 000000000..38e0ddf02 --- /dev/null +++ b/assets/js/c80bf43d.44831b3c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[60743],{64130:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>r,default:()=>u,frontMatter:()=>s,metadata:()=>i,toc:()=>l});var o=n(74848),a=n(28453);const s={title:"How to use the Wrapper as a standalone component",description:"Explains the process of using the Wrapper component in WordPress templates.",slug:"wrapper-as-a-standalone-component",authors:"kancijan",date:new Date("2023-09-05T00:00:00.000Z"),tags:["eightshift","boilerplate","wrapper","components"],hide_table_of_contents:!1},r=void 0,i={permalink:"/blog/wrapper-as-a-standalone-component",source:"@site/blog/2023-09-05-wrapper-as-a-standalone-component.md",title:"How to use the Wrapper as a standalone component",description:"Explains the process of using the Wrapper component in WordPress templates.",date:"2023-09-05T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"wrapper",permalink:"/blog/tags/wrapper"},{label:"components",permalink:"/blog/tags/components"}],readingTime:3.205,hasTruncateMarker:!0,authors:[{name:"Ivan Kancijan",title:"WordPress Engineer",url:"https://github.com/kancijan",imageURL:"https://avatars.githubusercontent.com/u/135589039?v=4",key:"kancijan"}],frontMatter:{title:"How to use the Wrapper as a standalone component",description:"Explains the process of using the Wrapper component in WordPress templates.",slug:"wrapper-as-a-standalone-component",authors:"kancijan",date:"2023-09-05T00:00:00.000Z",tags:["eightshift","boilerplate","wrapper","components"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Making your project multilingual",permalink:"/blog/making-your-project-multilingual"},nextItem:{title:"Working with custom queries",permalink:"/blog/working-with-custom-queries"}},p={authorsImageUrls:[void 0]},l=[];function c(e){const t={p:"p",...(0,a.R)(),...e.components};return(0,o.jsx)(t.p,{children:"As one of the most powerful features in the Eightshift DevKit, the Wrapper is a part of every Eightshift block in the Gutenberg editor, but what about WordPress templates?"})}function u(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},28453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>i});var o=n(96540);const a={},s=o.createContext(a);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(a):e.components||a:r(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c80bf43d.fe6e719d.js b/assets/js/c80bf43d.fe6e719d.js deleted file mode 100644 index be1d83359..000000000 --- a/assets/js/c80bf43d.fe6e719d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[60743],{64130:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>r,default:()=>u,frontMatter:()=>s,metadata:()=>i,toc:()=>l});var o=n(74848),a=n(28453);const s={title:"How to use the Wrapper as a standalone component",description:"Explains the process of using the Wrapper component in WordPress templates.",slug:"wrapper-as-a-standalone-component",authors:"kancijan",date:new Date("2023-09-05T00:00:00.000Z"),tags:["eightshift","boilerplate","wrapper","components"],hide_table_of_contents:!1},r=void 0,i={permalink:"/blog/wrapper-as-a-standalone-component",source:"@site/blog/2023-09-05-wrapper-as-a-standalone-component.md",title:"How to use the Wrapper as a standalone component",description:"Explains the process of using the Wrapper component in WordPress templates.",date:"2023-09-05T00:00:00.000Z",formattedDate:"September 5, 2023",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"wrapper",permalink:"/blog/tags/wrapper"},{label:"components",permalink:"/blog/tags/components"}],readingTime:3.205,hasTruncateMarker:!0,authors:[{name:"Ivan Kancijan",title:"WordPress Engineer",url:"https://github.com/kancijan",imageURL:"https://avatars.githubusercontent.com/u/135589039?v=4",key:"kancijan"}],frontMatter:{title:"How to use the Wrapper as a standalone component",description:"Explains the process of using the Wrapper component in WordPress templates.",slug:"wrapper-as-a-standalone-component",authors:"kancijan",date:"2023-09-05T00:00:00.000Z",tags:["eightshift","boilerplate","wrapper","components"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Making your project multilingual",permalink:"/blog/making-your-project-multilingual"},nextItem:{title:"Working with custom queries",permalink:"/blog/working-with-custom-queries"}},p={authorsImageUrls:[void 0]},l=[];function c(e){const t={p:"p",...(0,a.R)(),...e.components};return(0,o.jsx)(t.p,{children:"As one of the most powerful features in the Eightshift DevKit, the Wrapper is a part of every Eightshift block in the Gutenberg editor, but what about WordPress templates?"})}function u(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},28453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>i});var o=n(96540);const a={},s=o.createContext(a);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(a):e.components||a:r(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c87de583.9cff642f.js b/assets/js/c87de583.9cff642f.js deleted file mode 100644 index 416c63d30..000000000 --- a/assets/js/c87de583.9cff642f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[51454],{20338:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/components","page":1,"postsPerPage":9,"totalPages":1,"totalCount":5,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/c9c3a302.a64dccf5.js b/assets/js/c9c3a302.a64dccf5.js deleted file mode 100644 index a246c86f8..000000000 --- a/assets/js/c9c3a302.a64dccf5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[76347],{75485:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/service","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/ccc49370.5b36cd41.js b/assets/js/ccc49370.5b36cd41.js new file mode 100644 index 000000000..da823798b --- /dev/null +++ b/assets/js/ccc49370.5b36cd41.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[83249,18401],{96654:(e,t,n)=>{n.r(t),n.d(t,{default:()=>k});n(96540);var i=n(34164),a=n(45500),o=n(17559),r=n(7131),s=n(26535),l=n(24651),c=n(21312),d=n(39022),u=n(74848);function m(e){const{nextItem:t,prevItem:n}=e;return(0,u.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,c.T)({id:"theme.blog.post.paginator.navAriaLabel",message:"Blog post page navigation",description:"The ARIA label for the blog posts pagination"}),children:[n&&(0,u.jsx)(d.A,{...n,subLabel:(0,u.jsx)(c.A,{id:"theme.blog.post.paginator.newerPost",description:"The blog post button label to navigate to the newer/previous post",children:"Newer Post"})}),t&&(0,u.jsx)(d.A,{...t,subLabel:(0,u.jsx)(c.A,{id:"theme.blog.post.paginator.olderPost",description:"The blog post button label to navigate to the older/next post",children:"Older Post"}),isNext:!0})]})}function g(){const{assets:e,metadata:t}=(0,r.e)(),{title:n,description:i,date:o,tags:s,authors:l,frontMatter:c}=t,{keywords:d}=c,m=e.image??c.image;return(0,u.jsxs)(a.be,{title:n,description:i,keywords:d,image:m,children:[(0,u.jsx)("meta",{property:"og:type",content:"article"}),(0,u.jsx)("meta",{property:"article:published_time",content:o}),l.some((e=>e.url))&&(0,u.jsx)("meta",{property:"article:author",content:l.map((e=>e.url)).filter(Boolean).join(",")}),s.length>0&&(0,u.jsx)("meta",{property:"article:tag",content:s.map((e=>e.label)).join(",")})]})}var h=n(5260),f=n(86025),p=n(44586),v=n(36803);const x=e=>new Date(e).toISOString();function b(e){const t=e.map(A);return{author:1===t.length?t[0]:t}}function j(e,t,n){return e?{image:C({imageUrl:t(e,{absolute:!0}),caption:`title image for the blog post: ${n}`})}:{}}function L(){const e=function(){const e=(0,v.A)(),t=e?.data?.blogMetadata;if(!t)throw new Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}(),{assets:t,metadata:n}=(0,r.e)(),{siteConfig:i}=(0,p.A)(),{withBaseUrl:a}=(0,f.h)(),{date:o,title:s,description:l,frontMatter:c,lastUpdatedAt:d}=n,u=t.image??c.image,m=c.keywords??[],g=d?x(d):void 0,h=`${i.url}${n.permalink}`;return{"@context":"https://schema.org","@type":"BlogPosting","@id":h,mainEntityOfPage:h,url:h,headline:s,name:s,description:l,datePublished:o,...g?{dateModified:g}:{},...b(n.authors),...j(u,a,s),...m?{keywords:m}:{},isPartOf:{"@type":"Blog","@id":`${i.url}${e.blogBasePath}`,name:e.blogTitle}}}function A(e){return{"@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 C(e){let{imageUrl:t,caption:n}=e;return{"@type":"ImageObject","@id":t,url:t,contentUrl:t,caption:n}}function N(){const e=L();return(0,u.jsx)(h.A,{children:(0,u.jsx)("script",{type:"application/ld+json",children:JSON.stringify(e)})})}var H=n(67763),_=n(50996);function y(e){let{sidebar:t,children:n}=e;const{metadata:i,toc:a}=(0,r.e)(),{nextItem:o,prevItem:c,frontMatter:d,unlisted:g}=i,{hide_table_of_contents:h,toc_min_heading_level:f,toc_max_heading_level:p}=d;return(0,u.jsxs)(s.A,{sidebar:t,toc:!h&&a.length>0?(0,u.jsx)(H.A,{toc:a,minHeadingLevel:f,maxHeadingLevel:p}):void 0,children:[g&&(0,u.jsx)(_.A,{}),(0,u.jsx)(l.A,{children:n}),(o||c)&&(0,u.jsx)(m,{nextItem:o,prevItem:c})]})}function k(e){const t=e.content;return(0,u.jsx)(r.i,{content:e.content,isBlogPostPage:!0,children:(0,u.jsxs)(a.e3,{className:(0,i.A)(o.G.wrapper.blogPages,o.G.page.blogPostPage),children:[(0,u.jsx)(g,{}),(0,u.jsx)(N,{}),(0,u.jsx)(y,{sidebar:e.sidebar,children:(0,u.jsx)(t,{})})]})})}},67763:(e,t,n)=>{n.d(t,{A:()=>c});n(96540);var i=n(34164),a=n(65195);const o={tableOfContents:"tableOfContents_bqdL",docItemContainer:"docItemContainer_F8PC"};var r=n(74848);const s="table-of-contents__link toc-highlight",l="table-of-contents__link--active";function c(e){let{className:t,...n}=e;return(0,r.jsx)("div",{className:(0,i.A)(o.tableOfContents,"thin-scrollbar",t),children:(0,r.jsx)(a.A,{...n,linkClassName:s,linkActiveClassName:l})})}},65195:(e,t,n)=>{n.d(t,{A:()=>f});var i=n(96540),a=n(6342);function o(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const i=n.slice(2,e.level);e.parentIndex=Math.max(...i),n[e.level]=t}));const i=[];return t.forEach((e=>{const{parentIndex:n,...a}=e;n>=0?t[n].children.push(a):i.push(a)})),i}function r(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:i}=e;return t.flatMap((e=>{const t=r({toc:e.children,minHeadingLevel:n,maxHeadingLevel:i});return function(e){return e.level>=n&&e.level<=i}(e)?[{...e,children:t}]:t}))}function s(e){const t=e.getBoundingClientRect();return t.top===t.bottom?s(e.parentNode):t}function l(e,t){let{anchorTopOffset:n}=t;const i=e.find((e=>s(e).top>=n));if(i){return function(e){return e.top>0&&e.bottom<window.innerHeight/2}(s(i))?i:e[e.indexOf(i)-1]??null}return e[e.length-1]??null}function c(){const e=(0,i.useRef)(0),{navbar:{hideOnScroll:t}}=(0,a.p)();return(0,i.useEffect)((()=>{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function d(e){const t=(0,i.useRef)(void 0),n=c();(0,i.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:i,linkActiveClassName:a,minHeadingLevel:o,maxHeadingLevel:r}=e;function s(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(i),s=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const i=[];for(let a=t;a<=n;a+=1)i.push(`h${a}.anchor`);return Array.from(document.querySelectorAll(i.join()))}({minHeadingLevel:o,maxHeadingLevel:r}),c=l(s,{anchorTopOffset:n.current}),d=e.find((e=>c&&c.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(a),e.classList.add(a),t.current=e):e.classList.remove(a)}(e,e===d)}))}return document.addEventListener("scroll",s),document.addEventListener("resize",s),s(),()=>{document.removeEventListener("scroll",s),document.removeEventListener("resize",s)}}),[e,n])}var u=n(28774),m=n(74848);function g(e){let{toc:t,className:n,linkClassName:i,isChild:a}=e;return t.length?(0,m.jsx)("ul",{className:a?void 0:n,children:t.map((e=>(0,m.jsxs)("li",{children:[(0,m.jsx)(u.A,{to:`#${e.id}`,className:i??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,m.jsx)(g,{isChild:!0,toc:e.children,className:n,linkClassName:i})]},e.id)))}):null}const h=i.memo(g);function f(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:s="table-of-contents__link",linkActiveClassName:l,minHeadingLevel:c,maxHeadingLevel:u,...g}=e;const f=(0,a.p)(),p=c??f.tableOfContents.minHeadingLevel,v=u??f.tableOfContents.maxHeadingLevel,x=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return(0,i.useMemo)((()=>r({toc:o(t),minHeadingLevel:n,maxHeadingLevel:a})),[t,n,a])}({toc:t,minHeadingLevel:p,maxHeadingLevel:v});return d((0,i.useMemo)((()=>{if(s&&l)return{linkClassName:s,linkActiveClassName:l,minHeadingLevel:p,maxHeadingLevel:v}}),[s,l,p,v])),(0,m.jsx)(h,{toc:x,className:n,linkClassName:s,...g})}},50996:(e,t,n)=>{n.d(t,{A:()=>g});n(96540);var i=n(34164),a=n(21312),o=n(5260),r=n(74848);function s(){return(0,r.jsx)(a.A,{id:"theme.unlistedContent.title",description:"The unlisted content banner title",children:"Unlisted page"})}function l(){return(0,r.jsx)(a.A,{id:"theme.unlistedContent.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function c(){return(0,r.jsx)(o.A,{children:(0,r.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}var d=n(17559),u=n(71608);function m(e){let{className:t}=e;return(0,r.jsx)(u.A,{type:"caution",title:(0,r.jsx)(s,{}),className:(0,i.A)(t,d.G.common.unlistedBanner),children:(0,r.jsx)(l,{})})}function g(e){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(c,{}),(0,r.jsx)(m,{...e})]})}},71608:(e,t,n)=>{n.d(t,{A:()=>o});n(96540);var i=n(25552),a=n(74848);function o(e){return(0,a.jsx)(i.V,{...e})}}}]); \ No newline at end of file diff --git a/assets/js/ccc49370.e9b8ec61.js b/assets/js/ccc49370.e9b8ec61.js deleted file mode 100644 index 99a3ad872..000000000 --- a/assets/js/ccc49370.e9b8ec61.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[83249,18401],{84029:(e,n,t)=>{t.r(n),t.d(n,{default:()=>p});t(96540);var i=t(34164),s=t(69024),a=t(17559),o=t(7131),l=t(26535),r=t(48258),c=t(21312),d=t(39022),u=t(74848);function m(e){const{nextItem:n,prevItem:t}=e;return(0,u.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,c.T)({id:"theme.blog.post.paginator.navAriaLabel",message:"Blog post page navigation",description:"The ARIA label for the blog posts pagination"}),children:[t&&(0,u.jsx)(d.A,{...t,subLabel:(0,u.jsx)(c.A,{id:"theme.blog.post.paginator.newerPost",description:"The blog post button label to navigate to the newer/previous post",children:"Newer Post"})}),n&&(0,u.jsx)(d.A,{...n,subLabel:(0,u.jsx)(c.A,{id:"theme.blog.post.paginator.olderPost",description:"The blog post button label to navigate to the older/next post",children:"Older Post"}),isNext:!0})]})}function g(){const{assets:e,metadata:n}=(0,o.e)(),{title:t,description:i,date:a,tags:l,authors:r,frontMatter:c}=n,{keywords:d}=c,m=e.image??c.image;return(0,u.jsxs)(s.be,{title:t,description:i,keywords:d,image:m,children:[(0,u.jsx)("meta",{property:"og:type",content:"article"}),(0,u.jsx)("meta",{property:"article:published_time",content:a}),r.some((e=>e.url))&&(0,u.jsx)("meta",{property:"article:author",content:r.map((e=>e.url)).filter(Boolean).join(",")}),l.length>0&&(0,u.jsx)("meta",{property:"article:tag",content:l.map((e=>e.label)).join(",")})]})}var h=t(67763),f=t(50996);function v(e){let{sidebar:n,children:t}=e;const{metadata:i,toc:s}=(0,o.e)(),{nextItem:a,prevItem:c,frontMatter:d,unlisted:g}=i,{hide_table_of_contents:v,toc_min_heading_level:p,toc_max_heading_level:x}=d;return(0,u.jsxs)(l.A,{sidebar:n,toc:!v&&s.length>0?(0,u.jsx)(h.A,{toc:s,minHeadingLevel:p,maxHeadingLevel:x}):void 0,children:[g&&(0,u.jsx)(f.A,{}),(0,u.jsx)(r.A,{children:t}),(a||c)&&(0,u.jsx)(m,{nextItem:a,prevItem:c})]})}function p(e){const n=e.content;return(0,u.jsx)(o.i,{content:e.content,isBlogPostPage:!0,children:(0,u.jsxs)(s.e3,{className:(0,i.A)(a.G.wrapper.blogPages,a.G.page.blogPostPage),children:[(0,u.jsx)(g,{}),(0,u.jsx)(v,{sidebar:e.sidebar,children:(0,u.jsx)(n,{})})]})})}},67763:(e,n,t)=>{t.d(n,{A:()=>c});t(96540);var i=t(34164),s=t(65195);const a={tableOfContents:"tableOfContents_bqdL",docItemContainer:"docItemContainer_F8PC"};var o=t(74848);const l="table-of-contents__link toc-highlight",r="table-of-contents__link--active";function c(e){let{className:n,...t}=e;return(0,o.jsx)("div",{className:(0,i.A)(a.tableOfContents,"thin-scrollbar",n),children:(0,o.jsx)(s.A,{...t,linkClassName:l,linkActiveClassName:r})})}},65195:(e,n,t)=>{t.d(n,{A:()=>f});var i=t(96540),s=t(6342);function a(e){const n=e.map((e=>({...e,parentIndex:-1,children:[]}))),t=Array(7).fill(-1);n.forEach(((e,n)=>{const i=t.slice(2,e.level);e.parentIndex=Math.max(...i),t[e.level]=n}));const i=[];return n.forEach((e=>{const{parentIndex:t,...s}=e;t>=0?n[t].children.push(s):i.push(s)})),i}function o(e){let{toc:n,minHeadingLevel:t,maxHeadingLevel:i}=e;return n.flatMap((e=>{const n=o({toc:e.children,minHeadingLevel:t,maxHeadingLevel:i});return function(e){return e.level>=t&&e.level<=i}(e)?[{...e,children:n}]:n}))}function l(e){const n=e.getBoundingClientRect();return n.top===n.bottom?l(e.parentNode):n}function r(e,n){let{anchorTopOffset:t}=n;const i=e.find((e=>l(e).top>=t));if(i){return function(e){return e.top>0&&e.bottom<window.innerHeight/2}(l(i))?i:e[e.indexOf(i)-1]??null}return e[e.length-1]??null}function c(){const e=(0,i.useRef)(0),{navbar:{hideOnScroll:n}}=(0,s.p)();return(0,i.useEffect)((()=>{e.current=n?0:document.querySelector(".navbar").clientHeight}),[n]),e}function d(e){const n=(0,i.useRef)(void 0),t=c();(0,i.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:i,linkActiveClassName:s,minHeadingLevel:a,maxHeadingLevel:o}=e;function l(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(i),l=function(e){let{minHeadingLevel:n,maxHeadingLevel:t}=e;const i=[];for(let s=n;s<=t;s+=1)i.push(`h${s}.anchor`);return Array.from(document.querySelectorAll(i.join()))}({minHeadingLevel:a,maxHeadingLevel:o}),c=r(l,{anchorTopOffset:t.current}),d=e.find((e=>c&&c.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,t){t?(n.current&&n.current!==e&&n.current.classList.remove(s),e.classList.add(s),n.current=e):e.classList.remove(s)}(e,e===d)}))}return document.addEventListener("scroll",l),document.addEventListener("resize",l),l(),()=>{document.removeEventListener("scroll",l),document.removeEventListener("resize",l)}}),[e,t])}var u=t(28774),m=t(74848);function g(e){let{toc:n,className:t,linkClassName:i,isChild:s}=e;return n.length?(0,m.jsx)("ul",{className:s?void 0:t,children:n.map((e=>(0,m.jsxs)("li",{children:[(0,m.jsx)(u.A,{to:`#${e.id}`,className:i??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,m.jsx)(g,{isChild:!0,toc:e.children,className:t,linkClassName:i})]},e.id)))}):null}const h=i.memo(g);function f(e){let{toc:n,className:t="table-of-contents table-of-contents__left-border",linkClassName:l="table-of-contents__link",linkActiveClassName:r,minHeadingLevel:c,maxHeadingLevel:u,...g}=e;const f=(0,s.p)(),v=c??f.tableOfContents.minHeadingLevel,p=u??f.tableOfContents.maxHeadingLevel,x=function(e){let{toc:n,minHeadingLevel:t,maxHeadingLevel:s}=e;return(0,i.useMemo)((()=>o({toc:a(n),minHeadingLevel:t,maxHeadingLevel:s})),[n,t,s])}({toc:n,minHeadingLevel:v,maxHeadingLevel:p});return d((0,i.useMemo)((()=>{if(l&&r)return{linkClassName:l,linkActiveClassName:r,minHeadingLevel:v,maxHeadingLevel:p}}),[l,r,v,p])),(0,m.jsx)(h,{toc:x,className:t,linkClassName:l,...g})}},50996:(e,n,t)=>{t.d(n,{A:()=>g});t(96540);var i=t(34164),s=t(21312),a=t(5260),o=t(74848);function l(){return(0,o.jsx)(s.A,{id:"theme.unlistedContent.title",description:"The unlisted content banner title",children:"Unlisted page"})}function r(){return(0,o.jsx)(s.A,{id:"theme.unlistedContent.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function c(){return(0,o.jsx)(a.A,{children:(0,o.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}var d=t(17559),u=t(71608);function m(e){let{className:n}=e;return(0,o.jsx)(u.A,{type:"caution",title:(0,o.jsx)(l,{}),className:(0,i.A)(n,d.G.common.unlistedBanner),children:(0,o.jsx)(r,{})})}function g(e){return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(c,{}),(0,o.jsx)(m,{...e})]})}},71608:(e,n,t)=>{t.d(n,{A:()=>a});t(96540);var i=t(25552),s=t(74848);function a(e){return(0,s.jsx)(i.V,{...e})}}}]); \ No newline at end of file diff --git a/assets/js/cd0300a2.713832ed.js b/assets/js/cd0300a2.713832ed.js deleted file mode 100644 index aa91c80bc..000000000 --- a/assets/js/cd0300a2.713832ed.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[28320],{16062:s=>{s.exports=JSON.parse('{"label":"cpt","permalink":"/blog/tags/cpt","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/cd521b29.2256ab64.js b/assets/js/cd521b29.2256ab64.js new file mode 100644 index 000000000..6cbb0ae47 --- /dev/null +++ b/assets/js/cd521b29.2256ab64.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[97817],{77927:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var s=n(74848),o=n(28453);const i={title:"Using multiple same components",description:"Explains how to use multiple same components inside",slug:"multiple-same-components",authors:"obradovic",date:new Date("2023-06-12T00:00:00.000Z"),tags:["eightshift","boilerplate","components","blocks"],hide_table_of_contents:!1},a=void 0,r={permalink:"/blog/multiple-same-components",source:"@site/blog/2023-06-12-multiple-same-components.md",title:"Using multiple same components",description:"Explains how to use multiple same components inside",date:"2023-06-12T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"components",permalink:"/blog/tags/components"},{label:"blocks",permalink:"/blog/tags/blocks"}],readingTime:6.305,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Using multiple same components",description:"Explains how to use multiple same components inside",slug:"multiple-same-components",authors:"obradovic",date:"2023-06-12T00:00:00.000Z",tags:["eightshift","boilerplate","components","blocks"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Working with custom queries",permalink:"/blog/working-with-custom-queries"},nextItem:{title:"Block Patterns",permalink:"/blog/block-patterns"}},l={authorsImageUrls:[void 0]},c=[{value:"Manifest and attributes",id:"manifest-and-attributes",level:2},{value:"The "props" Helper",id:"the-props-helper",level:2},{value:"A step-by-step example",id:"a-step-by-step-example",level:2},{value:"Conclusion",id:"conclusion",level:3}];function d(t){const e={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.R)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:"From time to time, you may need to create a block or a more complex component that uses more than one instance of the same component. In this blog post, we'll explain how this works in a bit more detail."}),"\n",(0,s.jsx)(e.p,{children:"An example of this use case is the Card component, which uses two heading components. You may get the general idea by just going through the code and trying to reverse-engineer it, but this example will give you a much better understanding of how it works and how to use it. First, let's cover some basics."}),"\n",(0,s.jsx)(e.h2,{id:"manifest-and-attributes",children:"Manifest and attributes"}),"\n",(0,s.jsx)(e.p,{children:"The way multiple same components work is by having a different key. Here is an example of the Card component:"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-json",children:'"components": {\n\t"image": "image",\n\t"intro": "heading",\n\t"heading": "heading",\n\t"paragraph": "paragraph",\n\t"button": "button"\n},\n'})}),"\n",(0,s.jsxs)(e.p,{children:["As you can see, one heading component has the ",(0,s.jsx)(e.code,{children:"intro"})," key, while the other one has the ",(0,s.jsx)(e.code,{children:"heading"})," key. That way the ",(0,s.jsx)(e.strong,{children:"intro"})," heading component is being referred to as ",(0,s.jsx)(e.code,{children:"intro"})," so there is no mixup with the attribute values between the two heading blocks. This can be seen when setting the default attributes:"]}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-json",children:'"cardIntroSize": {\n\t"type": "string",\n\t"default": "tiny"\n},\n"cardHeadingSize": {\n\t"type": "string",\n\t"default": "big"\n}\n'})}),"\n",(0,s.jsx)(e.h2,{id:"the-props-helper",children:'The "props" Helper'}),"\n",(0,s.jsx)(e.p,{children:"This method does all the heavy lifting for us. It replaces the default attribute names with the ones we provide. There is both the PHP and JS version of it."}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-php",children:"Components::render('heading', Components::props('intro', $attributes, [\n\t'selectorClass' => 'intro',\n\t'blockClass' => $componentClass\n]))\n"})}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-js",children:"\n<HeadingEditor\n\t{...props('intro', attributes, {\n\t\tselectorClass: 'intro',\n\t\tblockClass: componentClass,\n\t})}\n/>\n\n"})}),"\n",(0,s.jsxs)(e.p,{children:["If you ",(0,s.jsx)(e.code,{children:"var_dump"})," the props helper, you\u2019ll notice the ",(0,s.jsx)(e.code,{children:"prefix"})," key, which is built from the names of the blocks and components used hierarchically. For example, when looking at a regular Heading component in the Card block, the prefix will be:"]}),"\n",(0,s.jsxs)(e.p,{children:[(0,s.jsx)(e.code,{children:"cardCardHeading"})," - first is the Card block name, then the Card component name and finally Heading component name."]}),"\n",(0,s.jsxs)(e.p,{children:["The Heading component that is called Intro then has the prefix ",(0,s.jsx)(e.code,{children:"cardCardIntro"}),". This prefix is then added to the attribute name, which then finally results in ",(0,s.jsx)(e.code,{children:"cardCardHeadingSize"})," and ",(0,s.jsx)(e.code,{children:"cardCardIntroSize"})," attributes, for example."]}),"\n",(0,s.jsx)(e.p,{children:"While at first glance it seems strange to have this naming scheme, it actually allows us to figure out the hierarchy just by looking at the attribute name."}),"\n",(0,s.jsx)(e.h2,{id:"a-step-by-step-example",children:"A step-by-step example"}),"\n",(0,s.jsx)(e.p,{children:"The block we'll be creating as an example will be a block which we can use for some sort of comparison or listing pros and cons. To create it, we will need the following:"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsxs)(e.li,{children:["two ",(0,s.jsx)(e.code,{children:"Heading"})," components"]}),"\n",(0,s.jsxs)(e.li,{children:["two ",(0,s.jsx)(e.code,{children:"List"})," components"]}),"\n"]}),"\n",(0,s.jsx)(e.p,{children:"The easiest way to create a new block is by using the boilerplate command"}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.code,{children:"wp boilerplate blocks use-block --name=example"})}),"\n",(0,s.jsx)(e.p,{children:"Once the new block is added to your project, rename it. Also, don\u2019t forget to update all file names and imports in JS."}),"\n",(0,s.jsxs)(e.p,{children:["We should start with ",(0,s.jsx)(e.code,{children:"manifest.json"}),", where we define the components we'll use and set the default attributes. For now, just define the components and their keys:"]}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-json",children:'"components": {\n\t"heading": "heading",\n\t"lists": "lists",\n\t"secondaryHeading": "heading",\n\t"secondaryLists": "lists"\n}\n'})}),"\n",(0,s.jsx)(e.p,{children:'The first section has the default key names, while the "duplicates" have different key names.'}),"\n",(0,s.jsxs)(e.p,{children:["After manifest, we can move to the JS part. As this is a fairly simple block without any advanced options or layouts, we need to add two ",(0,s.jsx)(e.code,{children:"HeadingEditor"})," components and two ",(0,s.jsx)(e.code,{children:"ListsEditor"})," components. To make styling easier, we can separate them in two ",(0,s.jsx)(e.code,{children:"div"})," elements. When you\u2019re finished, your code should look like this:"]}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-jsx",children:"import React from 'react';\nimport { __ } from '@wordpress/i18n';\nimport { HeadingEditor } from '../../../components/heading/components/heading-editor';\nimport { ListsEditor } from '../../../components/lists/components/lists-editor';\n\nimport { props, selector } from '@eightshift/frontend-libs/scripts';\n\nexport const ComparisonEditor = ({ attributes, setAttributes }) => {\n\tconst {\n\t\tblockClass,\n\t} = attributes;\n\n\tconst comparisonPrimaryClass = selector(blockClass, blockClass, 'primary');\n\n\tconst comparisonSecondaryClass = selector(blockClass, blockClass, 'secondary');\n\n\treturn (\n\t\t<div className={blockClass}>\n\t\t\t<div className={comparisonPrimaryClass}>\n\t\t\t\t<HeadingEditor\n\t\t\t\t\t{...props('heading', attributes, {\n\t\t\t\t\t\tblockClass: blockClass,\n\t\t\t\t\t\tsetAttributes: setAttributes,\n\t\t\t\t\t})}\n\t\t\t\t/>\n\n\t\t\t\t<ListsEditor\n\t\t\t\t\t{...props('lists', attributes, {\n\t\t\t\t\t\tblockClass: blockClass,\n\t\t\t\t\t\tsetAttributes: setAttributes,\n\t\t\t\t\t})}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div className={comparisonSecondaryClass}>\n\t\t\t\t<HeadingEditor\n\t\t\t\t\t{...props('secondaryHeading', attributes, {\n\t\t\t\t\t\tselectorClass: 'secondary-heading',\n\t\t\t\t\t\tblockClass: blockClass,\n\t\t\t\t\t\tsetAttributes: setAttributes,\n\t\t\t\t\t})}\n\t\t\t\t/>\n\n\t\t\t\t<ListsEditor\n\t\t\t\t\t{...props('secondaryLists', attributes, {\n\t\t\t\t\t\tselectorClass: 'secondary-lists',\n\t\t\t\t\t\tblockClass: blockClass,\n\t\t\t\t\t\tsetAttributes: setAttributes,\n\t\t\t\t\t})}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n"})}),"\n",(0,s.jsxs)(e.p,{children:["Note how we defined the different names with the ",(0,s.jsx)(e.code,{children:"props"})," helper. Additionally, we set the selector class for easier targeting of components when styling."]}),"\n",(0,s.jsxs)(e.p,{children:["Next, we can add the options. Again, the ",(0,s.jsx)(e.code,{children:"props"})," helper does all the heavy lifting for us. This is how the code should look after adding all component options:"]}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-jsx",children:"import React from 'react';\nimport { __ } from '@wordpress/i18n';\nimport { props, getOptions } from '@eightshift/frontend-libs/scripts';\nimport { HeadingOptions } from '../../../components/heading/components/heading-options';\nimport { ListsOptions } from '../../../components/lists/components/lists-options';\nimport { PanelBody } from '@wordpress/components';\nimport manifest from '../manifest.json';\n\nexport const ComparisonOptions = ({ attributes, setAttributes }) => {\n\treturn (\n\t\t<PanelBody title={__('Comparison', 'eightshift')}>\n\t\t\t<HeadingOptions\n\t\t\t\t{...props('heading', attributes, {\n\t\t\t\t\tsetAttributes,\n\t\t\t\t\toptions: getOptions(attributes, manifest)\n\t\t\t\t})}\n\t\t\t\treducedBottomSpacing\n\t\t\t/>\n\n\t\t\t<ListsOptions\n\t\t\t\t{...props('lists', attributes, {\n\t\t\t\t\tsetAttributes,\n\t\t\t\t\toptions: getOptions(attributes, manifest)\n\t\t\t\t})}\n\t\t\t\treducedBottomSpacing\n\t\t\t/>\n\n\t\t\t<HeadingOptions\n\t\t\t\t{...props('secondaryHeading', attributes, {\n\t\t\t\t\tsetAttributes,\n\t\t\t\t\toptions: getOptions(attributes, manifest)\n\t\t\t\t})}\n\t\t\t\tlabel={__('Secondary Heading', 'eightshift')}\n\t\t\t\treducedBottomSpacing\n\t\t\t/>\n\n\t\t\t<ListsOptions\n\t\t\t\t{...props('secondaryLists', attributes, {\n\t\t\t\t\tsetAttributes,\n\t\t\t\t\toptions: getOptions(attributes, manifest)\n\t\t\t\t})}\n\t\t\t\tlabel={__('Secondary Lists', 'eightshift')}\n\t\t\t\treducedBottomSpacing\n\t\t\t/>\n\t\t</PanelBody>\n\t);\n};\n"})}),"\n",(0,s.jsx)(e.p,{children:"Adding the PHP part should be simple, but here is the code for reference:"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-php",children:"<?php\n\n/**\n * Template for the Comparison Block view.\n *\n * @package Eightshift\n */\n\nuse EightshiftVendor\\EightshiftLibs\\Helpers\\Components;\n\n$globalManifest = Components::getManifest(dirname(__DIR__, 2));\n$manifest = Components::getManifest(__DIR__);\n\n$blockClass = $attributes['blockClass'] ?? '';\n\n$comparisonPrimaryClass = Components::selector($blockClass, $blockClass, 'primary');\n\n$comparisonSecondaryClass = Components::selector($blockClass, $blockClass, 'secondary');\n\n$unique = Components::getUnique();\n\n?>\n\n<div class=\"<?php echo esc_attr($blockClass); ?>\">\n\t<?php echo Components::outputCssVariables($attributes, $manifest, $unique, $globalManifest); ?>\n\t<div class=\"<?php echo esc_attr($comparisonPrimaryClass); ?>\">\n\t\t<?php\n\t\t\techo Components::render('heading', Components::props('heading', $attributes)),\n\t\t\tComponents::render('lists', Components::props('lists', $attributes));\n\t\t?>\n\t</div>\n\t<div class=\"<?php echo esc_attr($comparisonSecondaryClass); ?>\">\n\t\t<?php\n\t\t\techo Components::render('heading', Components::props('secondaryHeading', $attributes)),\n\t\t\tComponents::render('lists', Components::props('secondaryLists', $attributes));\n\t\t?>\n\t</div>\n</div>\n"})}),"\n",(0,s.jsx)(e.p,{children:"The block should work properly now, but the two lists look the same. To make a difference between the two, we can change the default list colors in the manifest. If we don\u2019t have the colors we want already available in the project, first we need to add them to the global manifest."}),"\n",(0,s.jsxs)(e.p,{children:["For a detailed explanation on how to add new colors to your project, you can read a previous blog post about ",(0,s.jsx)(e.a,{href:"/blog/modifying-blocks-color-theme#adding-new-colors-to-your-project",children:"modifying blocks"}),"."]}),"\n",(0,s.jsxs)(e.p,{children:["Now we have to add these new colors to the Lists component ",(0,s.jsx)(e.code,{children:"manifest.json"}),". In ",(0,s.jsx)(e.code,{children:"options"})," key, find the ",(0,s.jsx)(e.code,{children:"listsColor"})," and add your new colors."]}),"\n",(0,s.jsxs)(e.p,{children:["When the new colors are added to the Lists component, we can set these new colors as defaults by adding the following attributes in ",(0,s.jsx)(e.code,{children:"manifest.json"})," of our Comparison block:"]}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-json",children:'"comparisonListsColor": {\n\t"type": "string",\n\t"default": "green-haze"\n},\n"comparisonSecondaryListsColor": {\n\t"type": "string",\n\t"default": "milano-red"\n}\n'})}),"\n",(0,s.jsx)(e.p,{children:"The first list will now have green bullet points, and the second one will have red bullet points."}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.img,{alt:"Comparison block",src:n(31224).A+"",width:"1406",height:"346"})}),"\n",(0,s.jsxs)(e.p,{children:["Notice again how the attribute name is structured - current block name (",(0,s.jsx)(e.strong,{children:"comparison"}),"), component name (",(0,s.jsx)(e.strong,{children:"Lists"})," or ",(0,s.jsx)(e.strong,{children:"SecondaryLists"}),"), attribute (",(0,s.jsx)(e.strong,{children:"Color"}),")."]}),"\n",(0,s.jsxs)(e.p,{children:["If you\u2019re ever in doubt of what is the exact attribute name, you can always ",(0,s.jsx)(e.code,{children:"var_dump"})," the ",(0,s.jsx)(e.code,{children:"props"})," helper for that component and you will see the full attribute names as the keys."]}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{children:"Array\n(\n [prefix] => comparisonSecondaryLists\n // ...\n [comparisonSecondaryListsOrdered] => ul\n [comparisonSecondaryListsSize] => body:regular\n [comparisonSecondaryListsColor] => milano-red\n [comparisonSecondaryListsColorOnlyMarker] =>\n [comparisonSecondaryListsUse] => 1\n // ...\n)\n"})}),"\n",(0,s.jsx)(e.h3,{id:"conclusion",children:"Conclusion"}),"\n",(0,s.jsxs)(e.p,{children:["Although this was a simple example, we covered the most important things to have in mind when using multiple same components in a block. For additional practice, you can add some more attributes or go through some of our pre-made blocks which use multiple same components. Some components/blocks you can look into are ",(0,s.jsx)(e.code,{children:"Card"})," and ",(0,s.jsx)(e.code,{children:"Quote"}),"."]})]})}function p(t={}){const{wrapper:e}={...(0,o.R)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(d,{...t})}):d(t)}},31224:(t,e,n)=>{n.d(e,{A:()=>s});const s=n.p+"assets/images/comparison-block-0abb53656f82a74375e23dc8334eb266.webp"},28453:(t,e,n)=>{n.d(e,{R:()=>a,x:()=>r});var s=n(96540);const o={},i=s.createContext(o);function a(t){const e=s.useContext(i);return s.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(o):t.components||o:a(t.components),s.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/cd521b29.bceb1fda.js b/assets/js/cd521b29.bceb1fda.js deleted file mode 100644 index 00ca52857..000000000 --- a/assets/js/cd521b29.bceb1fda.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[97817],{77927:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var s=n(74848),o=n(28453);const i={title:"Using multiple same components",description:"Explains how to use multiple same components inside",slug:"multiple-same-components",authors:"obradovic",date:new Date("2023-06-12T00:00:00.000Z"),tags:["eightshift","boilerplate","components","blocks"],hide_table_of_contents:!1},a=void 0,r={permalink:"/blog/multiple-same-components",source:"@site/blog/2023-06-12-multiple-same-components.md",title:"Using multiple same components",description:"Explains how to use multiple same components inside",date:"2023-06-12T00:00:00.000Z",formattedDate:"June 12, 2023",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"components",permalink:"/blog/tags/components"},{label:"blocks",permalink:"/blog/tags/blocks"}],readingTime:6.305,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Using multiple same components",description:"Explains how to use multiple same components inside",slug:"multiple-same-components",authors:"obradovic",date:"2023-06-12T00:00:00.000Z",tags:["eightshift","boilerplate","components","blocks"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Working with custom queries",permalink:"/blog/working-with-custom-queries"},nextItem:{title:"Block Patterns",permalink:"/blog/block-patterns"}},l={authorsImageUrls:[void 0]},c=[{value:"Manifest and attributes",id:"manifest-and-attributes",level:2},{value:"The "props" Helper",id:"the-props-helper",level:2},{value:"A step-by-step example",id:"a-step-by-step-example",level:2},{value:"Conclusion",id:"conclusion",level:3}];function d(t){const e={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.R)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:"From time to time, you may need to create a block or a more complex component that uses more than one instance of the same component. In this blog post, we'll explain how this works in a bit more detail."}),"\n",(0,s.jsx)(e.p,{children:"An example of this use case is the Card component, which uses two heading components. You may get the general idea by just going through the code and trying to reverse-engineer it, but this example will give you a much better understanding of how it works and how to use it. First, let's cover some basics."}),"\n",(0,s.jsx)(e.h2,{id:"manifest-and-attributes",children:"Manifest and attributes"}),"\n",(0,s.jsx)(e.p,{children:"The way multiple same components work is by having a different key. Here is an example of the Card component:"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-json",children:'"components": {\n\t"image": "image",\n\t"intro": "heading",\n\t"heading": "heading",\n\t"paragraph": "paragraph",\n\t"button": "button"\n},\n'})}),"\n",(0,s.jsxs)(e.p,{children:["As you can see, one heading component has the ",(0,s.jsx)(e.code,{children:"intro"})," key, while the other one has the ",(0,s.jsx)(e.code,{children:"heading"})," key. That way the ",(0,s.jsx)(e.strong,{children:"intro"})," heading component is being referred to as ",(0,s.jsx)(e.code,{children:"intro"})," so there is no mixup with the attribute values between the two heading blocks. This can be seen when setting the default attributes:"]}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-json",children:'"cardIntroSize": {\n\t"type": "string",\n\t"default": "tiny"\n},\n"cardHeadingSize": {\n\t"type": "string",\n\t"default": "big"\n}\n'})}),"\n",(0,s.jsx)(e.h2,{id:"the-props-helper",children:'The "props" Helper'}),"\n",(0,s.jsx)(e.p,{children:"This method does all the heavy lifting for us. It replaces the default attribute names with the ones we provide. There is both the PHP and JS version of it."}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-php",children:"Components::render('heading', Components::props('intro', $attributes, [\n\t'selectorClass' => 'intro',\n\t'blockClass' => $componentClass\n]))\n"})}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-js",children:"\n<HeadingEditor\n\t{...props('intro', attributes, {\n\t\tselectorClass: 'intro',\n\t\tblockClass: componentClass,\n\t})}\n/>\n\n"})}),"\n",(0,s.jsxs)(e.p,{children:["If you ",(0,s.jsx)(e.code,{children:"var_dump"})," the props helper, you\u2019ll notice the ",(0,s.jsx)(e.code,{children:"prefix"})," key, which is built from the names of the blocks and components used hierarchically. For example, when looking at a regular Heading component in the Card block, the prefix will be:"]}),"\n",(0,s.jsxs)(e.p,{children:[(0,s.jsx)(e.code,{children:"cardCardHeading"})," - first is the Card block name, then the Card component name and finally Heading component name."]}),"\n",(0,s.jsxs)(e.p,{children:["The Heading component that is called Intro then has the prefix ",(0,s.jsx)(e.code,{children:"cardCardIntro"}),". This prefix is then added to the attribute name, which then finally results in ",(0,s.jsx)(e.code,{children:"cardCardHeadingSize"})," and ",(0,s.jsx)(e.code,{children:"cardCardIntroSize"})," attributes, for example."]}),"\n",(0,s.jsx)(e.p,{children:"While at first glance it seems strange to have this naming scheme, it actually allows us to figure out the hierarchy just by looking at the attribute name."}),"\n",(0,s.jsx)(e.h2,{id:"a-step-by-step-example",children:"A step-by-step example"}),"\n",(0,s.jsx)(e.p,{children:"The block we'll be creating as an example will be a block which we can use for some sort of comparison or listing pros and cons. To create it, we will need the following:"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsxs)(e.li,{children:["two ",(0,s.jsx)(e.code,{children:"Heading"})," components"]}),"\n",(0,s.jsxs)(e.li,{children:["two ",(0,s.jsx)(e.code,{children:"List"})," components"]}),"\n"]}),"\n",(0,s.jsx)(e.p,{children:"The easiest way to create a new block is by using the boilerplate command"}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.code,{children:"wp boilerplate blocks use-block --name=example"})}),"\n",(0,s.jsx)(e.p,{children:"Once the new block is added to your project, rename it. Also, don\u2019t forget to update all file names and imports in JS."}),"\n",(0,s.jsxs)(e.p,{children:["We should start with ",(0,s.jsx)(e.code,{children:"manifest.json"}),", where we define the components we'll use and set the default attributes. For now, just define the components and their keys:"]}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-json",children:'"components": {\n\t"heading": "heading",\n\t"lists": "lists",\n\t"secondaryHeading": "heading",\n\t"secondaryLists": "lists"\n}\n'})}),"\n",(0,s.jsx)(e.p,{children:'The first section has the default key names, while the "duplicates" have different key names.'}),"\n",(0,s.jsxs)(e.p,{children:["After manifest, we can move to the JS part. As this is a fairly simple block without any advanced options or layouts, we need to add two ",(0,s.jsx)(e.code,{children:"HeadingEditor"})," components and two ",(0,s.jsx)(e.code,{children:"ListsEditor"})," components. To make styling easier, we can separate them in two ",(0,s.jsx)(e.code,{children:"div"})," elements. When you\u2019re finished, your code should look like this:"]}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-jsx",children:"import React from 'react';\nimport { __ } from '@wordpress/i18n';\nimport { HeadingEditor } from '../../../components/heading/components/heading-editor';\nimport { ListsEditor } from '../../../components/lists/components/lists-editor';\n\nimport { props, selector } from '@eightshift/frontend-libs/scripts';\n\nexport const ComparisonEditor = ({ attributes, setAttributes }) => {\n\tconst {\n\t\tblockClass,\n\t} = attributes;\n\n\tconst comparisonPrimaryClass = selector(blockClass, blockClass, 'primary');\n\n\tconst comparisonSecondaryClass = selector(blockClass, blockClass, 'secondary');\n\n\treturn (\n\t\t<div className={blockClass}>\n\t\t\t<div className={comparisonPrimaryClass}>\n\t\t\t\t<HeadingEditor\n\t\t\t\t\t{...props('heading', attributes, {\n\t\t\t\t\t\tblockClass: blockClass,\n\t\t\t\t\t\tsetAttributes: setAttributes,\n\t\t\t\t\t})}\n\t\t\t\t/>\n\n\t\t\t\t<ListsEditor\n\t\t\t\t\t{...props('lists', attributes, {\n\t\t\t\t\t\tblockClass: blockClass,\n\t\t\t\t\t\tsetAttributes: setAttributes,\n\t\t\t\t\t})}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div className={comparisonSecondaryClass}>\n\t\t\t\t<HeadingEditor\n\t\t\t\t\t{...props('secondaryHeading', attributes, {\n\t\t\t\t\t\tselectorClass: 'secondary-heading',\n\t\t\t\t\t\tblockClass: blockClass,\n\t\t\t\t\t\tsetAttributes: setAttributes,\n\t\t\t\t\t})}\n\t\t\t\t/>\n\n\t\t\t\t<ListsEditor\n\t\t\t\t\t{...props('secondaryLists', attributes, {\n\t\t\t\t\t\tselectorClass: 'secondary-lists',\n\t\t\t\t\t\tblockClass: blockClass,\n\t\t\t\t\t\tsetAttributes: setAttributes,\n\t\t\t\t\t})}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n"})}),"\n",(0,s.jsxs)(e.p,{children:["Note how we defined the different names with the ",(0,s.jsx)(e.code,{children:"props"})," helper. Additionally, we set the selector class for easier targeting of components when styling."]}),"\n",(0,s.jsxs)(e.p,{children:["Next, we can add the options. Again, the ",(0,s.jsx)(e.code,{children:"props"})," helper does all the heavy lifting for us. This is how the code should look after adding all component options:"]}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-jsx",children:"import React from 'react';\nimport { __ } from '@wordpress/i18n';\nimport { props, getOptions } from '@eightshift/frontend-libs/scripts';\nimport { HeadingOptions } from '../../../components/heading/components/heading-options';\nimport { ListsOptions } from '../../../components/lists/components/lists-options';\nimport { PanelBody } from '@wordpress/components';\nimport manifest from '../manifest.json';\n\nexport const ComparisonOptions = ({ attributes, setAttributes }) => {\n\treturn (\n\t\t<PanelBody title={__('Comparison', 'eightshift')}>\n\t\t\t<HeadingOptions\n\t\t\t\t{...props('heading', attributes, {\n\t\t\t\t\tsetAttributes,\n\t\t\t\t\toptions: getOptions(attributes, manifest)\n\t\t\t\t})}\n\t\t\t\treducedBottomSpacing\n\t\t\t/>\n\n\t\t\t<ListsOptions\n\t\t\t\t{...props('lists', attributes, {\n\t\t\t\t\tsetAttributes,\n\t\t\t\t\toptions: getOptions(attributes, manifest)\n\t\t\t\t})}\n\t\t\t\treducedBottomSpacing\n\t\t\t/>\n\n\t\t\t<HeadingOptions\n\t\t\t\t{...props('secondaryHeading', attributes, {\n\t\t\t\t\tsetAttributes,\n\t\t\t\t\toptions: getOptions(attributes, manifest)\n\t\t\t\t})}\n\t\t\t\tlabel={__('Secondary Heading', 'eightshift')}\n\t\t\t\treducedBottomSpacing\n\t\t\t/>\n\n\t\t\t<ListsOptions\n\t\t\t\t{...props('secondaryLists', attributes, {\n\t\t\t\t\tsetAttributes,\n\t\t\t\t\toptions: getOptions(attributes, manifest)\n\t\t\t\t})}\n\t\t\t\tlabel={__('Secondary Lists', 'eightshift')}\n\t\t\t\treducedBottomSpacing\n\t\t\t/>\n\t\t</PanelBody>\n\t);\n};\n"})}),"\n",(0,s.jsx)(e.p,{children:"Adding the PHP part should be simple, but here is the code for reference:"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-php",children:"<?php\n\n/**\n * Template for the Comparison Block view.\n *\n * @package Eightshift\n */\n\nuse EightshiftVendor\\EightshiftLibs\\Helpers\\Components;\n\n$globalManifest = Components::getManifest(dirname(__DIR__, 2));\n$manifest = Components::getManifest(__DIR__);\n\n$blockClass = $attributes['blockClass'] ?? '';\n\n$comparisonPrimaryClass = Components::selector($blockClass, $blockClass, 'primary');\n\n$comparisonSecondaryClass = Components::selector($blockClass, $blockClass, 'secondary');\n\n$unique = Components::getUnique();\n\n?>\n\n<div class=\"<?php echo esc_attr($blockClass); ?>\">\n\t<?php echo Components::outputCssVariables($attributes, $manifest, $unique, $globalManifest); ?>\n\t<div class=\"<?php echo esc_attr($comparisonPrimaryClass); ?>\">\n\t\t<?php\n\t\t\techo Components::render('heading', Components::props('heading', $attributes)),\n\t\t\tComponents::render('lists', Components::props('lists', $attributes));\n\t\t?>\n\t</div>\n\t<div class=\"<?php echo esc_attr($comparisonSecondaryClass); ?>\">\n\t\t<?php\n\t\t\techo Components::render('heading', Components::props('secondaryHeading', $attributes)),\n\t\t\tComponents::render('lists', Components::props('secondaryLists', $attributes));\n\t\t?>\n\t</div>\n</div>\n"})}),"\n",(0,s.jsx)(e.p,{children:"The block should work properly now, but the two lists look the same. To make a difference between the two, we can change the default list colors in the manifest. If we don\u2019t have the colors we want already available in the project, first we need to add them to the global manifest."}),"\n",(0,s.jsxs)(e.p,{children:["For a detailed explanation on how to add new colors to your project, you can read a previous blog post about ",(0,s.jsx)(e.a,{href:"/blog/modifying-blocks-color-theme#adding-new-colors-to-your-project",children:"modifying blocks"}),"."]}),"\n",(0,s.jsxs)(e.p,{children:["Now we have to add these new colors to the Lists component ",(0,s.jsx)(e.code,{children:"manifest.json"}),". In ",(0,s.jsx)(e.code,{children:"options"})," key, find the ",(0,s.jsx)(e.code,{children:"listsColor"})," and add your new colors."]}),"\n",(0,s.jsxs)(e.p,{children:["When the new colors are added to the Lists component, we can set these new colors as defaults by adding the following attributes in ",(0,s.jsx)(e.code,{children:"manifest.json"})," of our Comparison block:"]}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-json",children:'"comparisonListsColor": {\n\t"type": "string",\n\t"default": "green-haze"\n},\n"comparisonSecondaryListsColor": {\n\t"type": "string",\n\t"default": "milano-red"\n}\n'})}),"\n",(0,s.jsx)(e.p,{children:"The first list will now have green bullet points, and the second one will have red bullet points."}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.img,{alt:"Comparison block",src:n(31224).A+"",width:"1406",height:"346"})}),"\n",(0,s.jsxs)(e.p,{children:["Notice again how the attribute name is structured - current block name (",(0,s.jsx)(e.strong,{children:"comparison"}),"), component name (",(0,s.jsx)(e.strong,{children:"Lists"})," or ",(0,s.jsx)(e.strong,{children:"SecondaryLists"}),"), attribute (",(0,s.jsx)(e.strong,{children:"Color"}),")."]}),"\n",(0,s.jsxs)(e.p,{children:["If you\u2019re ever in doubt of what is the exact attribute name, you can always ",(0,s.jsx)(e.code,{children:"var_dump"})," the ",(0,s.jsx)(e.code,{children:"props"})," helper for that component and you will see the full attribute names as the keys."]}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{children:"Array\n(\n [prefix] => comparisonSecondaryLists\n // ...\n [comparisonSecondaryListsOrdered] => ul\n [comparisonSecondaryListsSize] => body:regular\n [comparisonSecondaryListsColor] => milano-red\n [comparisonSecondaryListsColorOnlyMarker] =>\n [comparisonSecondaryListsUse] => 1\n // ...\n)\n"})}),"\n",(0,s.jsx)(e.h3,{id:"conclusion",children:"Conclusion"}),"\n",(0,s.jsxs)(e.p,{children:["Although this was a simple example, we covered the most important things to have in mind when using multiple same components in a block. For additional practice, you can add some more attributes or go through some of our pre-made blocks which use multiple same components. Some components/blocks you can look into are ",(0,s.jsx)(e.code,{children:"Card"})," and ",(0,s.jsx)(e.code,{children:"Quote"}),"."]})]})}function p(t={}){const{wrapper:e}={...(0,o.R)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(d,{...t})}):d(t)}},31224:(t,e,n)=>{n.d(e,{A:()=>s});const s=n.p+"assets/images/comparison-block-0abb53656f82a74375e23dc8334eb266.webp"},28453:(t,e,n)=>{n.d(e,{R:()=>a,x:()=>r});var s=n(96540);const o={},i=s.createContext(o);function a(t){const e=s.useContext(i);return s.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(o):t.components||o:a(t.components),s.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/ce19f7d3.09d7cf00.js b/assets/js/ce19f7d3.09d7cf00.js deleted file mode 100644 index 408e1eafa..000000000 --- a/assets/js/ce19f7d3.09d7cf00.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[49163],{56805:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/boilerplate/page/2","page":2,"postsPerPage":9,"totalPages":2,"totalCount":17,"previousPage":"/blog/tags/boilerplate","blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/cfb00690.e279c4b2.js b/assets/js/cfb00690.e279c4b2.js new file mode 100644 index 000000000..9ac03e307 --- /dev/null +++ b/assets/js/cfb00690.e279c4b2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[96015],{99290:t=>{t.exports=JSON.parse('{"tag":{"label":"blocks","permalink":"/blog/tags/blocks","allTagsPath":"/blog/tags","count":5,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/blocks","page":1,"postsPerPage":9,"totalPages":1,"totalCount":5,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/d0c63040.aee7d308.js b/assets/js/d0c63040.aee7d308.js new file mode 100644 index 000000000..8c5d13cbf --- /dev/null +++ b/assets/js/d0c63040.aee7d308.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[125],{66755:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>g,frontMatter:()=>n,metadata:()=>r,toc:()=>l});var o=s(74848),i=s(28453);const n={title:"Working with custom queries",description:"Explains the process of registering a new service class, adding a custom query and using it in a block.",slug:"working-with-custom-queries",authors:"obradovic",date:new Date("2023-08-01T00:00:00.000Z"),tags:["eightshift","boilerplate","service","class","query"],hide_table_of_contents:!1},a=void 0,r={permalink:"/blog/working-with-custom-queries",source:"@site/blog/2023-08-03-adding-custom-query.md",title:"Working with custom queries",description:"Explains the process of registering a new service class, adding a custom query and using it in a block.",date:"2023-08-01T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"service",permalink:"/blog/tags/service"},{label:"class",permalink:"/blog/tags/class"},{label:"query",permalink:"/blog/tags/query"}],readingTime:3.995,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Working with custom queries",description:"Explains the process of registering a new service class, adding a custom query and using it in a block.",slug:"working-with-custom-queries",authors:"obradovic",date:"2023-08-01T00:00:00.000Z",tags:["eightshift","boilerplate","service","class","query"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"How to use the Wrapper as a standalone component",permalink:"/blog/wrapper-as-a-standalone-component"},nextItem:{title:"Using multiple same components",permalink:"/blog/multiple-same-components"}},c={authorsImageUrls:[void 0]},l=[];function u(e){const t={p:"p",...(0,i.R)(),...e.components};return(0,o.jsx)(t.p,{children:"Eightshift DevKit offers some blocks with query logic out of the box, but what is the best approach when you need to add a custom query to a block you\u2019ve been working on?"})}function g(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},28453:(e,t,s)=>{s.d(t,{R:()=>a,x:()=>r});var o=s(96540);const i={},n=o.createContext(i);function a(e){const t=o.useContext(n);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(i):e.components||i:a(e.components),o.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d0c63040.d073050d.js b/assets/js/d0c63040.d073050d.js deleted file mode 100644 index 9a45dda3f..000000000 --- a/assets/js/d0c63040.d073050d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[125],{66755:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>g,frontMatter:()=>n,metadata:()=>r,toc:()=>l});var o=s(74848),i=s(28453);const n={title:"Working with custom queries",description:"Explains the process of registering a new service class, adding a custom query and using it in a block.",slug:"working-with-custom-queries",authors:"obradovic",date:new Date("2023-08-01T00:00:00.000Z"),tags:["eightshift","boilerplate","service","class","query"],hide_table_of_contents:!1},a=void 0,r={permalink:"/blog/working-with-custom-queries",source:"@site/blog/2023-08-03-adding-custom-query.md",title:"Working with custom queries",description:"Explains the process of registering a new service class, adding a custom query and using it in a block.",date:"2023-08-01T00:00:00.000Z",formattedDate:"August 1, 2023",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"service",permalink:"/blog/tags/service"},{label:"class",permalink:"/blog/tags/class"},{label:"query",permalink:"/blog/tags/query"}],readingTime:3.995,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Working with custom queries",description:"Explains the process of registering a new service class, adding a custom query and using it in a block.",slug:"working-with-custom-queries",authors:"obradovic",date:"2023-08-01T00:00:00.000Z",tags:["eightshift","boilerplate","service","class","query"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"How to use the Wrapper as a standalone component",permalink:"/blog/wrapper-as-a-standalone-component"},nextItem:{title:"Using multiple same components",permalink:"/blog/multiple-same-components"}},c={authorsImageUrls:[void 0]},l=[];function u(e){const t={p:"p",...(0,i.R)(),...e.components};return(0,o.jsx)(t.p,{children:"Eightshift DevKit offers some blocks with query logic out of the box, but what is the best approach when you need to add a custom query to a block you\u2019ve been working on?"})}function g(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},28453:(e,t,s)=>{s.d(t,{R:()=>a,x:()=>r});var o=s(96540);const i={},n=o.createContext(i);function a(e){const t=o.useContext(n);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(i):e.components||i:a(e.components),o.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d0e59ab5.703a83fd.js b/assets/js/d0e59ab5.703a83fd.js deleted file mode 100644 index 8a4150b24..000000000 --- a/assets/js/d0e59ab5.703a83fd.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[90072],{82750:e=>{e.exports=JSON.parse('{"label":"boilerplate","permalink":"/blog/tags/boilerplate","allTagsPath":"/blog/tags","count":17,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/d2dc1d28.96ade4d2.js b/assets/js/d2dc1d28.96ade4d2.js deleted file mode 100644 index 34073e34e..000000000 --- a/assets/js/d2dc1d28.96ade4d2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[39535],{78204:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/block","page":1,"postsPerPage":9,"totalPages":1,"totalCount":2,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/d9cc83f8.9d95e193.js b/assets/js/d9cc83f8.9d95e193.js deleted file mode 100644 index 8b89dd45d..000000000 --- a/assets/js/d9cc83f8.9d95e193.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[80081],{73390:l=>{l.exports=JSON.parse('{"label":"multilingual","permalink":"/blog/tags/multilingual","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/daf8bbf9.6beaa5eb.js b/assets/js/daf8bbf9.6beaa5eb.js deleted file mode 100644 index f264bea65..000000000 --- a/assets/js/daf8bbf9.6beaa5eb.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[35175],{80529:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>l,contentTitle:()=>s,default:()=>u,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var a=o(74848),n=o(28453);const i={title:"Block Variations",description:"Intro to block variations and examples of how to use them",slug:"block-variations",authors:"obradovic",date:new Date("2022-09-07T00:00:00.000Z"),tags:["eightshift","boilerplate","block","variations"],hide_table_of_contents:!1},s=void 0,r={permalink:"/blog/block-variations",source:"@site/blog/2022-09-07-block-variations.md",title:"Block Variations",description:"Intro to block variations and examples of how to use them",date:"2022-09-07T00:00:00.000Z",formattedDate:"September 7, 2022",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"block",permalink:"/blog/tags/block"},{label:"variations",permalink:"/blog/tags/variations"}],readingTime:3.035,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Block Variations",description:"Intro to block variations and examples of how to use them",slug:"block-variations",authors:"obradovic",date:"2022-09-07T00:00:00.000Z",tags:["eightshift","boilerplate","block","variations"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Using Custom Post Types and Taxonomies",permalink:"/blog/using-cpts-and-taxonomies"},nextItem:{title:"How to use ACF in your project",permalink:"/blog/acf-in-a-project"}},l={authorsImageUrls:[void 0]},c=[];function p(t){const e={p:"p",...(0,n.R)(),...t.components};return(0,a.jsx)(e.p,{children:"Let's picture the following scenario: You just created a block with many options and now you want multiple versions of that block available with pre-set options. That's where variations come in handy!"})}function u(t={}){const{wrapper:e}={...(0,n.R)(),...t.components};return e?(0,a.jsx)(e,{...t,children:(0,a.jsx)(p,{...t})}):p(t)}},28453:(t,e,o)=>{o.d(e,{R:()=>s,x:()=>r});var a=o(96540);const n={},i=a.createContext(n);function s(t){const e=a.useContext(i);return a.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(n):t.components||n:s(t.components),a.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/daf8bbf9.8edbe8af.js b/assets/js/daf8bbf9.8edbe8af.js new file mode 100644 index 000000000..bbbe6890c --- /dev/null +++ b/assets/js/daf8bbf9.8edbe8af.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[35175],{80529:(t,o,e)=>{e.r(o),e.d(o,{assets:()=>l,contentTitle:()=>s,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var a=e(74848),n=e(28453);const i={title:"Block Variations",description:"Intro to block variations and examples of how to use them",slug:"block-variations",authors:"obradovic",date:new Date("2022-09-07T00:00:00.000Z"),tags:["eightshift","boilerplate","block","variations"],hide_table_of_contents:!1},s=void 0,r={permalink:"/blog/block-variations",source:"@site/blog/2022-09-07-block-variations.md",title:"Block Variations",description:"Intro to block variations and examples of how to use them",date:"2022-09-07T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"block",permalink:"/blog/tags/block"},{label:"variations",permalink:"/blog/tags/variations"}],readingTime:3.035,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Block Variations",description:"Intro to block variations and examples of how to use them",slug:"block-variations",authors:"obradovic",date:"2022-09-07T00:00:00.000Z",tags:["eightshift","boilerplate","block","variations"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Using Custom Post Types and Taxonomies",permalink:"/blog/using-cpts-and-taxonomies"},nextItem:{title:"How to use ACF in your project",permalink:"/blog/acf-in-a-project"}},l={authorsImageUrls:[void 0]},c=[];function u(t){const o={p:"p",...(0,n.R)(),...t.components};return(0,a.jsx)(o.p,{children:"Let's picture the following scenario: You just created a block with many options and now you want multiple versions of that block available with pre-set options. That's where variations come in handy!"})}function p(t={}){const{wrapper:o}={...(0,n.R)(),...t.components};return o?(0,a.jsx)(o,{...t,children:(0,a.jsx)(u,{...t})}):u(t)}},28453:(t,o,e)=>{e.d(o,{R:()=>s,x:()=>r});var a=e(96540);const n={},i=a.createContext(n);function s(t){const o=a.useContext(i);return a.useMemo((function(){return"function"==typeof t?t(o):{...o,...t}}),[o,t])}function r(t){let o;return o=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:s(t.components),a.createElement(i.Provider,{value:o},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/dba7b2ae.fb37df1d.js b/assets/js/dba7b2ae.fb37df1d.js new file mode 100644 index 000000000..5af683f64 --- /dev/null +++ b/assets/js/dba7b2ae.fb37df1d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[59483],{54855:t=>{t.exports=JSON.parse('{"tag":{"label":"taxonomies","permalink":"/blog/tags/taxonomies","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/taxonomies","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/dc5b4777.8d6d8fab.js b/assets/js/dc5b4777.8d6d8fab.js new file mode 100644 index 000000000..eb491a6af --- /dev/null +++ b/assets/js/dc5b4777.8d6d8fab.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[22864],{99680:(e,t,i)=>{i.r(t),i.d(t,{default:()=>p});var s=i(96540),a=i(44586),n=i(86025),l=i(49641),r=i(23271),o=i(74848);function p(){const e=(0,a.A)(),{siteConfig:t={}}=e,[i,p]=(0,s.useState)(!0),[c,d]=(0,s.useState)("Initializing"),[h,u]=(0,s.useState)(null);(0,s.useEffect)((()=>{(async()=>{const e=await(0,r.QH)({iframe:m.current,remoteUrl:"https://playground.wordpress.net/remote.html",blueprint:{preferredVersions:{php:"8.3",wp:"6.4"},phpExtensionBundles:["kitchen-sink"],features:{networking:!0},landingPage:"/wp-admin",steps:[{step:"login",username:"admin",password:"password"}]},sapiName:"cli"});d("Loading theme"),u(25);const t="devkit-components.zip",i=await fetch(`/${t}`,{headers:{"Content-Type":"application/octet-stream"},credentials:"include"});u(33),d("Unpacking theme");const s=await i.blob(),a=new File([s],t);u(50),d("Installing theme"),await(0,r.XT)(e,{themeZipFile:a,options:{activate:!0}}),u(60),d("Setting up WP-CLI");const n="/wordpress/wp-cli.phar",l=await fetch("https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar"),o=await l.arrayBuffer();await e.writeFile(n,new Uint8Array(o)),d("Initializing block"),u(80);const{text:c}=await(0,r.gT)(e,{command:"wp post create --post_title='Welcome to Eightshift DevKit!' --post_content='\x3c!-- wp:eightshift-boilerplate/devkit-components /--\x3e' --post_status='publish'",wpCliPath:n}),h=c.substring(c.indexOf("Created post ")+13,c.lastIndexOf(".")).trim();d("Finalizing"),u(92),await e.goTo(`/wp-admin/post.php?post=${h}&action=edit`),u(100),await new Promise((e=>setTimeout(e,1500))),p(!1)})()}),[]);const m=(0,s.useRef)(null);return(0,o.jsxs)(l.A,{title:"Playground",description:t.tagline,keywords:t.customFields.keywords,metaImage:(0,n.A)(`img/${t.customFields.image}`),wrapperClassName:"es-single-full-screen-child es-has-t-border",children:[(0,o.jsx)("iframe",{className:"es-full-size",allow:"clipboard-read; clipboard-write",ref:m,style:{visibility:i?"hidden":"visible"}}),i&&(0,o.jsxs)("div",{className:"es-full-size flex flex-col items-center justify-center gap-1.5 esd-full-fixed",children:[(0,o.jsx)("progress",{value:h,max:100}),(0,o.jsx)("h3",{children:"Preparing component docs"}),(0,o.jsx)("span",{className:"text-12",children:c})]})]})}}}]); \ No newline at end of file diff --git a/assets/js/dc5b4777.9e4aa68f.js b/assets/js/dc5b4777.9e4aa68f.js deleted file mode 100644 index a19cc9623..000000000 --- a/assets/js/dc5b4777.9e4aa68f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[22864],{99680:(e,s,i)=>{i.r(s),i.d(s,{default:()=>o});var t=i(96540),a=i(44586),c=i(86025),l=i(49641),n=i(23271),r=i(74848);function o(){const e=(0,a.A)(),{siteConfig:s={}}=e,[i,o]=(0,t.useState)(!0);(0,t.useEffect)((()=>{(async()=>{const e=await(0,n.QH)({iframe:p.current,remoteUrl:"https://playground.wordpress.net/remote.html",blueprint:{preferredVersions:{php:"8.3",wp:"6.4"},phpExtensionBundles:["kitchen-sink"],features:{networking:!0},landingPage:"/wp-admin",steps:[{step:"login",username:"admin",password:"password"}]},sapiName:"cli"}),s="devkit-components.zip",i=await fetch(`/${s}`,{headers:{"Content-Type":"application/octet-stream"},credentials:"include"}),t=await i.blob(),a=new File([t],s);await(0,n.XT)(e,{themeZipFile:a,options:{activate:!0}});const c="/wordpress/wp-cli.phar",l=await fetch("https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar"),r=await l.arrayBuffer();await e.writeFile(c,new Uint8Array(r));const{text:d}=await(0,n.gT)(e,{command:"wp post create --post_title='Welcome to Eightshift DevKit!' --post_content='\x3c!-- wp:eightshift-boilerplate/devkit-components /--\x3e' --post_status='publish'",wpCliPath:c}),u=d.substring(d.indexOf("Created post ")+13,d.lastIndexOf(".")).trim();await e.goTo(`/wp-admin/post.php?post=${u}&action=edit`),await new Promise((e=>setTimeout(e,1500))),o(!1)})()}),[]);const p=(0,t.useRef)(null);return(0,r.jsxs)(l.A,{title:"Playground",description:s.tagline,keywords:s.customFields.keywords,metaImage:(0,c.A)(`img/${s.customFields.image}`),wrapperClassName:"es-single-full-screen-child es-has-t-border",children:[(0,r.jsx)("iframe",{className:"es-full-size",allow:"clipboard-read; clipboard-write",ref:p,style:{visibility:i?"hidden":"visible"}}),i&&(0,r.jsx)("div",{style:{position:"fixed",top:0,left:0,display:"grid",placeItems:"center",blockSize:"100%",inlineSize:"100%"},children:(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"1rem"},children:[(0,r.jsxs)("div",{class:"sk-cube-grid",children:[(0,r.jsx)("div",{class:"sk-cube sk-cube1"}),(0,r.jsx)("div",{class:"sk-cube sk-cube2"}),(0,r.jsx)("div",{class:"sk-cube sk-cube3"}),(0,r.jsx)("div",{class:"sk-cube sk-cube4"}),(0,r.jsx)("div",{class:"sk-cube sk-cube5"}),(0,r.jsx)("div",{class:"sk-cube sk-cube6"}),(0,r.jsx)("div",{class:"sk-cube sk-cube7"}),(0,r.jsx)("div",{class:"sk-cube sk-cube8"}),(0,r.jsx)("div",{class:"sk-cube sk-cube9"})]}),(0,r.jsx)("h3",{children:"Preparing docs, please wait"})]})})]})}}}]); \ No newline at end of file diff --git a/assets/js/e00f1d66.80c381d2.js b/assets/js/e00f1d66.80c381d2.js deleted file mode 100644 index be738adf2..000000000 --- a/assets/js/e00f1d66.80c381d2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[32173],{30041:(t,o,e)=>{e.r(o),e.d(o,{assets:()=>r,contentTitle:()=>l,default:()=>p,frontMatter:()=>s,metadata:()=>a,toc:()=>c});var n=e(74848),i=e(28453);const s={title:"Modifying blocks - Color Theme",description:"Step-by-step guide on how to modify and expand the functionality of existing blocks.",slug:"modifying-blocks-color-theme",authors:"obradovic",date:new Date("2022-03-22T00:00:00.000Z"),tags:["eightshift","boilerplate","components","blocks"],hide_table_of_contents:!1},l=void 0,a={permalink:"/blog/modifying-blocks-color-theme",source:"@site/blog/2022-03-04-modifying-blocks.md",title:"Modifying blocks - Color Theme",description:"Step-by-step guide on how to modify and expand the functionality of existing blocks.",date:"2022-03-22T00:00:00.000Z",formattedDate:"March 22, 2022",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"components",permalink:"/blog/tags/components"},{label:"blocks",permalink:"/blog/tags/blocks"}],readingTime:8.465,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Modifying blocks - Color Theme",description:"Step-by-step guide on how to modify and expand the functionality of existing blocks.",slug:"modifying-blocks-color-theme",authors:"obradovic",date:"2022-03-22T00:00:00.000Z",tags:["eightshift","boilerplate","components","blocks"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Adding fonts",permalink:"/blog/adding-fonts"},nextItem:{title:"Adding components and blocks with WP-CLI",permalink:"/blog/adding-blocks-wpcli"}},r={authorsImageUrls:[void 0]},c=[];function d(t){const o={p:"p",...(0,i.R)(),...t.components};return(0,n.jsx)(o.p,{children:"In our previous post, we covered how to use Storybook and WP-CLI to add additional blocks to your project. This post will walk you through modifying an existing block step-by-step."})}function p(t={}){const{wrapper:o}={...(0,i.R)(),...t.components};return o?(0,n.jsx)(o,{...t,children:(0,n.jsx)(d,{...t})}):d(t)}},28453:(t,o,e)=>{e.d(o,{R:()=>l,x:()=>a});var n=e(96540);const i={},s=n.createContext(i);function l(t){const o=n.useContext(s);return n.useMemo((function(){return"function"==typeof t?t(o):{...o,...t}}),[o,t])}function a(t){let o;return o=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:l(t.components),n.createElement(s.Provider,{value:o},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/e00f1d66.dd9938d1.js b/assets/js/e00f1d66.dd9938d1.js new file mode 100644 index 000000000..1625824cb --- /dev/null +++ b/assets/js/e00f1d66.dd9938d1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[32173],{30041:(t,o,e)=>{e.r(o),e.d(o,{assets:()=>r,contentTitle:()=>l,default:()=>p,frontMatter:()=>s,metadata:()=>a,toc:()=>c});var n=e(74848),i=e(28453);const s={title:"Modifying blocks - Color Theme",description:"Step-by-step guide on how to modify and expand the functionality of existing blocks.",slug:"modifying-blocks-color-theme",authors:"obradovic",date:new Date("2022-03-22T00:00:00.000Z"),tags:["eightshift","boilerplate","components","blocks"],hide_table_of_contents:!1},l=void 0,a={permalink:"/blog/modifying-blocks-color-theme",source:"@site/blog/2022-03-04-modifying-blocks.md",title:"Modifying blocks - Color Theme",description:"Step-by-step guide on how to modify and expand the functionality of existing blocks.",date:"2022-03-22T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"components",permalink:"/blog/tags/components"},{label:"blocks",permalink:"/blog/tags/blocks"}],readingTime:8.465,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Modifying blocks - Color Theme",description:"Step-by-step guide on how to modify and expand the functionality of existing blocks.",slug:"modifying-blocks-color-theme",authors:"obradovic",date:"2022-03-22T00:00:00.000Z",tags:["eightshift","boilerplate","components","blocks"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Adding fonts",permalink:"/blog/adding-fonts"},nextItem:{title:"Adding components and blocks with WP-CLI",permalink:"/blog/adding-blocks-wpcli"}},r={authorsImageUrls:[void 0]},c=[];function d(t){const o={p:"p",...(0,i.R)(),...t.components};return(0,n.jsx)(o.p,{children:"In our previous post, we covered how to use Storybook and WP-CLI to add additional blocks to your project. This post will walk you through modifying an existing block step-by-step."})}function p(t={}){const{wrapper:o}={...(0,i.R)(),...t.components};return o?(0,n.jsx)(o,{...t,children:(0,n.jsx)(d,{...t})}):d(t)}},28453:(t,o,e)=>{e.d(o,{R:()=>l,x:()=>a});var n=e(96540);const i={},s=n.createContext(i);function l(t){const o=n.useContext(s);return n.useMemo((function(){return"function"==typeof t?t(o):{...o,...t}}),[o,t])}function a(t){let o;return o=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:l(t.components),n.createElement(s.Provider,{value:o},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/e0d892c2.d7e32b95.js b/assets/js/e0d892c2.d7e32b95.js deleted file mode 100644 index 10725e27c..000000000 --- a/assets/js/e0d892c2.d7e32b95.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[28766],{99387:s=>{s.exports=JSON.parse('{"label":"wrapper","permalink":"/blog/tags/wrapper","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/e2bba919.075d6df9.js b/assets/js/e2bba919.075d6df9.js deleted file mode 100644 index 59113e70e..000000000 --- a/assets/js/e2bba919.075d6df9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[71266],{54883:s=>{s.exports=JSON.parse('{"label":"blocks","permalink":"/blog/tags/blocks","allTagsPath":"/blog/tags","count":5,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/e4af6a2d.b3929043.js b/assets/js/e4af6a2d.b3929043.js deleted file mode 100644 index c7fc2aaaa..000000000 --- a/assets/js/e4af6a2d.b3929043.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[57388],{19029:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/multilingual","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/e4e082a8.1c36b2d4.js b/assets/js/e4e082a8.1c36b2d4.js new file mode 100644 index 000000000..9b8799d18 --- /dev/null +++ b/assets/js/e4e082a8.1c36b2d4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[83990],{53747:t=>{t.exports=JSON.parse('{"tag":{"label":"advanced custom fields","permalink":"/blog/tags/advanced-custom-fields","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/advanced-custom-fields","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/e801e723.1f119a39.js b/assets/js/e801e723.1f119a39.js new file mode 100644 index 000000000..c6f03a00e --- /dev/null +++ b/assets/js/e801e723.1f119a39.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[70652],{14193:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>c});var a=n(74848),s=n(28453);const r={title:"Block Patterns",description:"Intro to block patterns and examples how to use them",slug:"block-patterns",authors:"obradovic",date:new Date("2023-03-01T00:00:00.000Z"),tags:["eightshift","boilerplate","block","patterns"],hide_table_of_contents:!1},o=void 0,i={permalink:"/blog/block-patterns",source:"@site/blog/2022-12-22-block-patterns.md",title:"Block Patterns",description:"Intro to block patterns and examples how to use them",date:"2023-03-01T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"block",permalink:"/blog/tags/block"},{label:"patterns",permalink:"/blog/tags/patterns"}],readingTime:3.95,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Block Patterns",description:"Intro to block patterns and examples how to use them",slug:"block-patterns",authors:"obradovic",date:"2023-03-01T00:00:00.000Z",tags:["eightshift","boilerplate","block","patterns"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Using multiple same components",permalink:"/blog/multiple-same-components"},nextItem:{title:"Using Custom Post Types and Taxonomies",permalink:"/blog/using-cpts-and-taxonomies"}},l={authorsImageUrls:[void 0]},c=[{value:"What are Block Patterns and why use them?",id:"what-are-block-patterns-and-why-use-them",level:2},{value:"Technical differences",id:"technical-differences",level:2},{value:"Registering Block Patterns",id:"registering-block-patterns",level:2},{value:"Managing Pattern Categories",id:"managing-pattern-categories",level:3},{value:"Things to keep in mind",id:"things-to-keep-in-mind",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.p,{children:"Although Block Patterns may be similar to Block Variations, there are some differences between the two. This blog post will cover what Block Patterns are and how to use them."}),"\n",(0,a.jsx)(t.h2,{id:"what-are-block-patterns-and-why-use-them",children:"What are Block Patterns and why use them?"}),"\n",(0,a.jsx)(t.p,{children:"Block Patterns are predefined block layouts which allow you to add content faster and make it look more consistent. The basic idea is to have a ready-made template which consists of multiple blocks, that have options predefined, and all you have to do is add content to these blocks."}),"\n",(0,a.jsx)(t.p,{children:"They can be used in multiple ways. You can create sections composed of few blocks which you can then easily insert anywhere on the site. You can also create complex page layouts which could be used for writing blog posts, for example."}),"\n",(0,a.jsx)(t.h2,{id:"technical-differences",children:"Technical differences"}),"\n",(0,a.jsxs)(t.p,{children:["As explained in the ",(0,a.jsx)(t.a,{href:"https://eightshift.com/docs/basics/blocks-patterns",children:"Eightshift Development kit documentation"}),", the main difference between variations and patterns are:"]}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsxs)(t.li,{children:["variations provide data using ",(0,a.jsx)(t.code,{children:"manifest.json"}),", while patterns are registered using PHP"]}),"\n",(0,a.jsx)(t.li,{children:"variations appear in the editor in the same tab as blocks, while patterns appear in their own tab"}),"\n"]}),"\n",(0,a.jsx)(t.h2,{id:"registering-block-patterns",children:"Registering Block Patterns"}),"\n",(0,a.jsxs)(t.p,{children:["To make registering new block patterns easier, there is a WP-CLI command which will help you create a new block pattern. For this example, the block pattern we're making is called ",(0,a.jsx)(t.strong,{children:"Intro"}),". To get started, run this WP-CLI command:"]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-shell",children:"wp boilerplate blocks create-block-pattern --title=intro\n"})}),"\n",(0,a.jsx)(t.p,{children:"After generating the block pattern class, there are a few more adjustments you should make to it. For starters, you should update these methods:"}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.code,{children:"getName()"})," - change the return value to ",(0,a.jsx)(t.code,{children:"eightshift-boilerplate/intro-pattern"})]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.code,{children:"getDescription()"})," - add any description you like"]}),"\n"]}),"\n",(0,a.jsxs)(t.p,{children:["Once these values are updated, you can make the layout you'll use as a Block Pattern. The easiest way to do it is to build your layout in the editor, switch to ",(0,a.jsx)(t.code,{children:"Code Editor"}),", copy the code and paste in inside your ",(0,a.jsx)(t.code,{children:"getContent()"})," method. Your pattern should now be available to use. For this example, we can create a simple pattern which consists of a Heading block and a Paragraph block."]}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Option to switch to Code Editor",src:n(23254).A+"",width:"364",height:"422"})}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-php",children:'protected function getContent(): string\n{\n\treturn \'\x3c!-- wp:eightshift-boilerplate/heading {"headingHeadingContent":"Post title goes here","headingHeadingSize":"big"} /--\x3e\n\t\x3c!-- wp:eightshift-boilerplate/paragraph {"paragraphParagraphContent":"\\u003cem\\u003ePost intro goes here\\u003c/em\\u003e"} /--\x3e\';\n}\n'})}),"\n",(0,a.jsx)(t.h3,{id:"managing-pattern-categories",children:"Managing Pattern Categories"}),"\n",(0,a.jsx)(t.p,{children:"To make managing block patterns easier, we can group them into categories. To start, we need a service class. This class will be used to register our custom categories and remove core categories. The fastest way to add it to our project is by using the following WP-CLI command:"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-shell",children:"wp boilerplate create service-example --folder=BlockPatterns --file_name=ManagePatternCategories\n"})}),"\n",(0,a.jsx)(t.p,{children:"Now that we have our service class, we'll add methods for removing core patterns and pattern categories. First, the method for removing core categories."}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-php",children:"/**\n * Unregisters core block pattern categories.\n *\n * @return void\n */\npublic function removeCoreCategories()\n{\n\t\\unregister_block_pattern_category('buttons');\n\t\\unregister_block_pattern_category('columns');\n\t\\unregister_block_pattern_category('gallery');\n\t\\unregister_block_pattern_category('header');\n\t\\unregister_block_pattern_category('text');\n}\n"})}),"\n",(0,a.jsx)(t.p,{children:"The second method will remove all core patterns"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-php",children:"/**\n * Removes support for core block patterns.\n *\n * @return void\n */\npublic function removeBlockPatternsCore()\n{\n\t\\remove_theme_support('core-block-patterns');\n}\n"})}),"\n",(0,a.jsxs)(t.p,{children:["For these methods to work, we need to add them to the ",(0,a.jsx)(t.code,{children:"register()"})," method of our service class. Add the following actions:"]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-php",children:"\\add_action('init', [$this, 'removeCoreCategories'], 40);\n\\add_action('after_setup_theme', [$this, 'removeBlockPatternsCore'], 20);\n"})}),"\n",(0,a.jsxs)(t.p,{children:["If you try searching for patterns in your editor, you'll notice they are no longer available. Now we can move on to adding our block pattern categories. The best approach is to define the pattern category names as constants inside your class. In this example, we will add two categories: ",(0,a.jsx)(t.strong,{children:"Templates"})," and ",(0,a.jsx)(t.strong,{children:"Sections"}),". We can add the following code inside our class:"]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-php",children:"class ManagePatternCategories implements ServiceInterface\n{\n\tpublic const TEMPLATES_CATEGORY = 'templates-category';\n\tpublic const SECTIONS_CATEGORY = 'sections-category';\n\n\t// Removed parts of code for better readability.\n\n\t/**\n\t * Registers new pattern categories.\n\t *\n\t * @return void\n\t */\n\tpublic function addCategories()\n\t{\n\t\t\\register_block_pattern_category(self::TEMPLATES_CATEGORY, [\n\t\t\t'label' => \\esc_html__('Templates', 'es-blog'),\n\t\t]);\n\n\t\t\\register_block_pattern_category(self::SECTIONS_CATEGORY, [\n\t\t\t'label' => \\esc_html__('Sections', 'es-blog'),\n\t\t]);\n\t}\n}\n"})}),"\n",(0,a.jsxs)(t.p,{children:["Finally, return to your Intro Pattern class and update the ",(0,a.jsx)(t.code,{children:"getCategories()"})," method:"]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-php",children:"protected function getCategories(): array\n{\n\treturn [\n\t\tManagePatternCategories::SECTIONS_CATEGORY\n\t];\n}\n"})}),"\n",(0,a.jsx)(t.p,{children:"In editor, in the Pattern tab, you should now see your new pattern category and the Intro Pattern."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"New pattern category and block pattern",src:n(77514).A+"",width:"349",height:"323"})}),"\n",(0,a.jsx)(t.h2,{id:"things-to-keep-in-mind",children:"Things to keep in mind"}),"\n",(0,a.jsx)(t.p,{children:"Block patterns add layout and content which you can then modify at will per instance. These instances are not synchronised with the codebase so it becomes an issue if you've already used a pattern on multiple places on the site and then notice you've missed something in the pattern configuration phase. Fixing the pattern in the codebase will apply the changes on all newly added instances, but you will have to fix the misconfigured instances manually."})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},77514:(e,t,n)=>{n.d(t,{A:()=>a});const a="data:image/webp;base64,UklGRgwTAABXRUJQVlA4IAATAACwZwCdASpdAUMBPjEYikQiIaEQWq0QIAMEtLd///b634z9Cned1QmEa1fkY1ZvoP6APEg6QHmA/UP9sfZG/oHsA9AD9cOsa/nP+S9gD+Af1n0sP28+CP9mf2h9pb/06zn4Z/nn4nd8v9H/FD93PWf8M+H/mP46f1j/r+8o+R/Gvp39D/H3+5/tn8K/2/8ePM34A/xfqBfh38Q/pv44/lByRYAPyH+L/3b+3fsR/cv3T9ar+I/Lv3G+p3+F9wH+G/xf+zfkn/jP/f9M99d4B/nfcA/jn84/xX+P/bv/Kf//7TP1T/H/3v9x/8////d3+Qf2H/U/5z9zv8T///wD/j38r/v/9u/yf/C/wf/+/8f22+tj9oP//7lP6mf+8SJAK3LLKSrj2agx/VpfQJFfYNI8+iizRuRtUFzEfrdPFIvBMW+XRGQPdyCE2D4pM5eAqAGO3HsyklTxpq0+JmpyOezifQ98VJXY7zsVtuMiBOYcBqoAcFtsXJ8EC2yXnS3iGaOMvcQqvVDqvaSgW/2lKXrmN++IQbfy6RS3UCb7rdpP1roFCl1AYyqYl7fRkksuWFNg6P9P6q9AdTT+qvQHMLo0NevFP6q9AdTT+qvQAcTX6cfToAcfpZpxc+ny6fmVsV10xqQkxdvsmDRu18avJ9vEu5DGECRMPy6HlR7NANE+W+GNnD3E3G/iKf1V30Q1mbInS0+KzB7TN6sltl90/MnJ5gX4fkdyEAddmNwLGH5ahDGCDlUr5uIW0MICnxsxkEr0qlygVsCfmVsT6YLvPYn8RTsXON/F2FhYWFhYWFhYWGbjuwcMhJXpBICmkBTSAak5jj7BG+eREQBx77hbRknbdFgcxdcMWSOA2xZ9qgKVAxBggVti8LMrYw9rtm4hyd2AboLcwApoeR4qIyuk4M7T1VIQX57mTmoLqJtVUaypVZUqsqUpnXL8KVdY3VzszMYUJPs6p+ZWxh+XUCRMPy05C3CjHuVl1PZ/Z+wNT7PtfpW9VegOpp/VXoA7qLs+06zlAjEU/qr0B1NP6q3KhZ8dQJEw/FGNp87OvGEC1MqlnowgSJh+XUCRMPy6gSJh+XUCRMPy6gSJh+XUCRMPy6gSJh+XUCMgAP7AhU8UBjlq2tG0/3JJpnU6lwxWxIfm4S/urPbnNfFcjPAZju5ilN08I6+/8FGBPDDwDLEDDtcmuyhY/Ty9pDFbysHJillWpcZz8lLXb7//3+G4KdVb83EmP98vy7MfsdzCwSL/r4Cxu93Zt/3TF8Vysd7EM+/g6sTuiiAnwtdL2MO16Nm910Gzvy/mIKbJ4ISheAY76rsCo3BQ6Zr6C5/QGeaf4gRQp/wxaTvDnlqY7F7hWRTjiS68cVHL0eA7mL+G1TQcIzIdVn5fOtfe8WyqppWzzMhN3znCZpYRNU6IZf4hX+1n4WTevLqiCnGYqBxpusw/ApfNr+TsJzCAQHoxA0b0OlFUM1oYoXgwNen2ThlBZ0DmcBwrbiJ9r3tZ+rsP7S3KxYoZdHWmuh7C1/zOenmNtl3neuy1C/ZZTh8lvUpmEZPu33qG9Udyp6hrqtpLj6z0SP83se3qm1ptH3d6YdlNtg5S+ksIGqx1QMrUCxQTDvCZVeUOxZtrFkANkAklLVPRx7zMYUxVeC8tq5L6fKRzzjowF8ianGZVbe0plHAX/jW9xY5OrKD/Tol05qWdHZdsc2tKEf8yLkehDDXZjMRMpO+pLRQb2E99/19lP0GeL8Pz/NE3sxQNtcE/mYCwIKX/vcZIu6Vh6P31h3RwMrKQ8r5QQeItXXIPkS2CKeJxfNrxvoW5Ur92WztprauwYPJuXpgKiWi/6KM2N7/Jm4fIuargY36sv7re1fmkJU8DaBfnrwcn/nwim1PPkU2nmlEQ7kn65eC5xRpZTkcvBcz3/6ODpbo5gyXLYKtrLCkV46uNQ1QWPQ4E4isbNEwfwWI4dh7CqD2n0yI2N/7BGGKEXEef4uaSPhViR//mOf/Mvbkb1zKveieThUD2mU0LvmKpHU5CsZ1MtR3D1wArmXfqOvt6b6MWwASns5iTdxbysq85d7sDGU72zH9t1ypgWeot3SbMwmqEmGfxrDP0/gKOFuHZhlbDhTGFxd+MutxmkBJ9mr0cMT8gDYvF3pp/VfPxgEL1QRDjkxQBuQ9m/l9T9VhR3CSLG9hxH5vAi8HU6w1DZVUfH5gdnEVoClLgBl0WXKS1dJbwP9nTWAQ2HtwMyzf1bVwW9/RXjfzqlZnbImE2rK8WBSYJoDpUP9avytQJ110N3rMDwb9r33Ysbwlj5kuc/j7xbYu73zpWrIk95Eh99O+VXlO9JnjxkDE8TUvm2p5m4z0FLVquVj8sd1Ti64A1KbFxliK64e0qn0EvI7rG+PfTZFMxSpFC+XErkbtqxtGh3hKR3S05zZ//42SnUefBWBcr2NLZdpis8k5p3kuzXjIR2qvXcOPOqGtDulpH0nHbSHj8QFVIBGIqs0Dn8dLlxCy5S9hBFniqaFxGt9pLW8H4BErxJGCzZz4I/CFUU6EgnyHdXdg1KO6lyMAM2dDN0n6P8jdVtUbKAaW7MS2UP8bvuHdpc+JXqFi9veFeUk4SIHbBRvYGY70TXcu6Tm4tbAS8wA/hR/Ih//7IKF0wE4iHcOzQJIC9FOFL54Xn2iGxJ93NnMZQn0oZSJ9avH74hvYwIW6ybhUqJ4qbX2HtRZIgdhYrDjGGWj/Rs+fVn7x4qIb8prt1wIvGMtozoEhhmOuSBFkn/NiLa8UHKPIX4uOcuAPpSZFNjxX5ws1FAFp0uiA7Ihqi4AqkkOEbIGyBsgbIGyBsgbIGyBncACDicgwM4xQAaI+HXwpY7oZPhWgqYLt77wbvWgkwqZY5VH2CxGYBzyiZfQONYT9YstfFfvUKIdt1DCZr2+2hqNtWoidboAR951PG4p1zXcGT1ifbBMq0b2ZdrVQsVWdWxgsRaexCt5tCa5bUvas0/1J0QI8RVT1TIUmuqHh4lw3y0gHLXtmmvrjtPv6INPs93IZq+E8DGJnm6+dO5XL35tNjsTHVm8GWuavvh1FsM1Apr9Kpdaj1Vuys4QApzQ2yYu6Xvq3aOFwAKO5NmtABk3wx20RSSiuTe8n5ElbOH7/exV7w1sEtUkRhxS//7dqRcFMCRLynvr4adAqHgrYXC6GjdUFrFESZMil6KdpYNv296xgwvF9BvhaUu+A2/zWlte2pzF6ryef7kkt6fqBg1jRz0RZTvh4/WEe4PljM7kTLD3fT7YejUElUirIfS9GLZstx38YyvQbE+GxGzyS481C3GSyzmhK5FfcJrl6Hrg/p0v62iEabJT4ACBL3RhC3QIBevgB+MJQCsw9njyV+ofmeYxBv7tq/FDLlJKeRYMf0OQpe2FbFjTcNmDaoPQB+1CUBH709/yRZU/Gz9Jcj05qS2nYSpPMuzm9b4n/6YqFVilEXXcxwlMxFD7bM2b1UdWWnfCQetMBAaS26jTdl1ZdIwqd24xgDrcoPaPamE6XMMeZbq2oL+WYrmRkDr0R2PUX1dYfUnWQUHPngweQKlPhHfkCMLfRwzkNKaiQzna5CEHXQfv4EvIotfKFkECBYDvlwRqTvdwjUJKR3GYOVrbvzd+AH9830SP7LTCvcJwvL7Qfd6IqXwACDTJc00AeNaGheyoJBBi5eboRYrswEnSB1ypFWi0v5+Zxmie78z5mfA4GZhninOdAxGluxHh98QC9xxhot6lRQZ8DVd566XjKpxByGvh0maV5TovcrLDLEka2fkNPASjzXQ3CZmDjzgG83Ccq7WVUyLbsgs3B6lLOzD8isXXiBV0zSXmO5pWI4swg6sx2VufnQPgWZE4YxLpfertfbkpO+VJ+kWFIU9yA5t05+OhKU6m0QXyYnzCDNAZBteQXjLEKzwQ3xLXXPl9N75YpDOk84CsRC11IFe3P0cNU26HHoDTI3KbDI3TJLGhwni3d2mPgkd4K5JVzzRftPEt/yFd/desrIf5PWVtIN0QAoifCcjRNNH1aGZ42lELBAX8Ywg5wnCGw37anVOGCkxTfac68HXgc4e9i+f/A6xb/nY7iI3aUcpRGq40Op6Ki/mN/XLL1nEbT3Y8wCKFFZ/BXqaxv55h+19WHr0i66DO4BU1cBcqovg8lhzUQELoZttsN8ji1R0WkHGQ5VPWTaT/Fn36hHSb0hwyzgG84TBriAOY3zaVNXNrIt5eq3M5LVdqJcjkSfSGWoR3/8mi3/5qmh/M5r/+nLdf/VbBTfnJNHY6o2WQZzDbJzDbJzDbJzDbJzDSzJZ93QC0kEMdJXl8u6nvCEKEHJb9e/VPYxZu+gyJbuI5rsQJA7rAtNnOCtx+FJKhmtQA/BKwPcIB3+z/z9vKLdL8Aj1l/mz7e+px6df17O/G/qN4UWaGy48ADBB0PUXFNhxwpTZN/gvg52eolxBpVxhNsvRGEAuOFInMfrGPrxYqSKzw2k9nAhqbSBFs++M/SokjgTFXjyYe5NZiBXIPAmcVx2U0XZ0CtBzWgQUlPUfrrX9Iix9nmQYy/IrZQIDCRUGMTLvoe0mjcfPYYiU1mfaQgC29iyUi3uYWIN08wPY/iWOZu687Ma4Mj3tvCy/i1RHt+62WzK30/FYCkkF68yp1Muv2Bm1v1bBTFZs0GyDOBVhaYdwj1NdpwWcYU4W+so5WOPzSyS4g5d3t99L2659M54e9x1M+Q9ncCwx0iwZEtGZxkgnWBQVnyVXObsGi19IKJZ+2TG/cz4RCGBwgyX8HRNSie/2Hm2m701GFiXkiQ1u2i19p21ilK88+gxAH0JI7dye0IYdmxB4GGB5VnQMi1h8bXdaPV0+VbGPiQmj7KzJ+7jeuMxd91nD4eML71mO08f5pdzOu4oelK99fohaY3Xa/uarpCfzLx+sJ2zPHNXL5ZG+o56f7xCZbm11Wtsog30ux5UZ5sXpKhJGyAdMKhB9nqzbVk3gIWMZwA+fMT9pu8yz7RteDMQRr4rjDwio7MYGbOIfQL/lgQZfnP4UvMv+/y64tUVLn4fdaKSmsR0CZpRHc14De6woFgS9UQXzZ/Bogg2KASyjnJX+mTfvpr8YWZT6gbOBiJJsH7OXLT9X7IunaFGvKpGZ50fsZwHrPHdHA3l+SwilTD4XLjhL0bH/0u/NeThw3vqvHwMsuUoGDRJZ77uYOxQpZR6GntQ4X+fxVATrXZeH9vw1DhXKIHJkDPDeUYioAsN20t2J92v96ix5j28BMhCcBhrg7AK1gaZ/r8k2rkKB7vkbcSVjNJNb3fL688UKfSouEPB8nDSb72HXDfv1a2TwIoszc6Cf0yuCl9SEARRINNzrVcimXIaFyvP2j55PHDQQjYukk0UFURqlHPe0Ff6YAVQCpOqkieXXmtqZHkaKYunc74Vn793jOc/COaMROGtbpyuvuV0XTTD4V6PQ0wLJ00XeUwFKc7RP2V7HR2Q+gGGxeiw4/7vsqSTGi8ZGmraJYGP+0qNE2iSF/9KRdhAMAknh/xYucyq3O9eig/mwVwzMZU3Z+VIIU4abDljzHfeY6InU91H/+HGZ5NmhRs1Ux307tvzbZSWOQOsIaLhT7oULovjp0Fxi2RfHi79tcc0usGYsDHkkX/Wwtwkemnhl/vSLAqhIToz2Z1QpJV0hvJSNUQzmJp77YkRG8H8STPktB8qxz7/+tj9L36VVY3uim1Jobde/E7kVcv2or/PRPS2mIAmKyIBdMx7k43kyrXAg2Fw5KB86BJlGOvEKKlzQWSKF7pnLt+pQ69Yc+e9ueHqAsOSZrzwQVXykYjEF0rqB8EzZgDxwHmjstO0ZkjAMNNlFDFy4I1duiWudlNlg+UAY+Q/RWHpP/UdD+fH1RucBP//g19Z1Mj20Izeg+Q0QA2CAGpsAYtADCwZVS2S8JKpiv0keCUAPuDKaiN0vSJkmMqvUG/Z74nUOpUNqzeACYnFqvTBMytD9LY6RJy0C/ELnZEvhGAzsl+DlBRJEHn34kwSUNOdSoV4XuRvqgID97FLx4KMuFbWdbE1Hc/bw9UPFe1LyhXA33JJNe2gb0fBSMeTbH4SRMmvbE63Qtkvo0IIx4X7AJ3mm5egfnrXUpLP8FnwJIMKRoGO+v1qy63XWXr24e2dbTnlyUTz6hSvAJnovOUKWgyBy+2ZHRilaFCE0NkkfGAIBTgLhb5IusbpfaXYXpu1iD5vhT1IQmQVUcoiXyFFDCHAYkj0bvr1CtygF+316+SAxOq3Jx/QzlZD/iARs2JdBg0HjYjLuBPfGZrlO9G3GYsvpL1C7M0q42gG8Ikowyz62zPB8FWAgj85B/lCMU0H1c69G+XEUctrK/psmrqsG8u3vVM0wnpxTUn5PZVE881nzoqye4mpB6WndaOVtIyOMasiLkCyofedFkSWYZz5KQknasZu92q/YrjR74F37ZwYJCLatHDBvCOqfKPgL5YJRI+HGTpnaP3R4V/WMp005WAyd2yqwAAAAAAA"},23254:(e,t,n)=>{n.d(t,{A:()=>a});const a=n.p+"assets/images/code-editor-0f0cd8e07f7d3262475ca4cc8b7b2176.webp"},28453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>i});var a=n(96540);const s={},r=a.createContext(s);function o(e){const t=a.useContext(r);return a.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(s):e.components||s:o(e.components),a.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e801e723.7c5d025a.js b/assets/js/e801e723.7c5d025a.js deleted file mode 100644 index 9a9069d09..000000000 --- a/assets/js/e801e723.7c5d025a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[70652],{14193:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>c});var a=n(74848),s=n(28453);const r={title:"Block Patterns",description:"Intro to block patterns and examples how to use them",slug:"block-patterns",authors:"obradovic",date:new Date("2023-03-01T00:00:00.000Z"),tags:["eightshift","boilerplate","block","patterns"],hide_table_of_contents:!1},o=void 0,i={permalink:"/blog/block-patterns",source:"@site/blog/2022-12-22-block-patterns.md",title:"Block Patterns",description:"Intro to block patterns and examples how to use them",date:"2023-03-01T00:00:00.000Z",formattedDate:"March 1, 2023",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"block",permalink:"/blog/tags/block"},{label:"patterns",permalink:"/blog/tags/patterns"}],readingTime:3.95,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Block Patterns",description:"Intro to block patterns and examples how to use them",slug:"block-patterns",authors:"obradovic",date:"2023-03-01T00:00:00.000Z",tags:["eightshift","boilerplate","block","patterns"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Using multiple same components",permalink:"/blog/multiple-same-components"},nextItem:{title:"Using Custom Post Types and Taxonomies",permalink:"/blog/using-cpts-and-taxonomies"}},l={authorsImageUrls:[void 0]},c=[{value:"What are Block Patterns and why use them?",id:"what-are-block-patterns-and-why-use-them",level:2},{value:"Technical differences",id:"technical-differences",level:2},{value:"Registering Block Patterns",id:"registering-block-patterns",level:2},{value:"Managing Pattern Categories",id:"managing-pattern-categories",level:3},{value:"Things to keep in mind",id:"things-to-keep-in-mind",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.p,{children:"Although Block Patterns may be similar to Block Variations, there are some differences between the two. This blog post will cover what Block Patterns are and how to use them."}),"\n",(0,a.jsx)(t.h2,{id:"what-are-block-patterns-and-why-use-them",children:"What are Block Patterns and why use them?"}),"\n",(0,a.jsx)(t.p,{children:"Block Patterns are predefined block layouts which allow you to add content faster and make it look more consistent. The basic idea is to have a ready-made template which consists of multiple blocks, that have options predefined, and all you have to do is add content to these blocks."}),"\n",(0,a.jsx)(t.p,{children:"They can be used in multiple ways. You can create sections composed of few blocks which you can then easily insert anywhere on the site. You can also create complex page layouts which could be used for writing blog posts, for example."}),"\n",(0,a.jsx)(t.h2,{id:"technical-differences",children:"Technical differences"}),"\n",(0,a.jsxs)(t.p,{children:["As explained in the ",(0,a.jsx)(t.a,{href:"https://eightshift.com/docs/basics/blocks-patterns",children:"Eightshift Development kit documentation"}),", the main difference between variations and patterns are:"]}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsxs)(t.li,{children:["variations provide data using ",(0,a.jsx)(t.code,{children:"manifest.json"}),", while patterns are registered using PHP"]}),"\n",(0,a.jsx)(t.li,{children:"variations appear in the editor in the same tab as blocks, while patterns appear in their own tab"}),"\n"]}),"\n",(0,a.jsx)(t.h2,{id:"registering-block-patterns",children:"Registering Block Patterns"}),"\n",(0,a.jsxs)(t.p,{children:["To make registering new block patterns easier, there is a WP-CLI command which will help you create a new block pattern. For this example, the block pattern we're making is called ",(0,a.jsx)(t.strong,{children:"Intro"}),". To get started, run this WP-CLI command:"]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-shell",children:"wp boilerplate blocks create-block-pattern --title=intro\n"})}),"\n",(0,a.jsx)(t.p,{children:"After generating the block pattern class, there are a few more adjustments you should make to it. For starters, you should update these methods:"}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.code,{children:"getName()"})," - change the return value to ",(0,a.jsx)(t.code,{children:"eightshift-boilerplate/intro-pattern"})]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.code,{children:"getDescription()"})," - add any description you like"]}),"\n"]}),"\n",(0,a.jsxs)(t.p,{children:["Once these values are updated, you can make the layout you'll use as a Block Pattern. The easiest way to do it is to build your layout in the editor, switch to ",(0,a.jsx)(t.code,{children:"Code Editor"}),", copy the code and paste in inside your ",(0,a.jsx)(t.code,{children:"getContent()"})," method. Your pattern should now be available to use. For this example, we can create a simple pattern which consists of a Heading block and a Paragraph block."]}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Option to switch to Code Editor",src:n(23254).A+"",width:"364",height:"422"})}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-php",children:'protected function getContent(): string\n{\n\treturn \'\x3c!-- wp:eightshift-boilerplate/heading {"headingHeadingContent":"Post title goes here","headingHeadingSize":"big"} /--\x3e\n\t\x3c!-- wp:eightshift-boilerplate/paragraph {"paragraphParagraphContent":"\\u003cem\\u003ePost intro goes here\\u003c/em\\u003e"} /--\x3e\';\n}\n'})}),"\n",(0,a.jsx)(t.h3,{id:"managing-pattern-categories",children:"Managing Pattern Categories"}),"\n",(0,a.jsx)(t.p,{children:"To make managing block patterns easier, we can group them into categories. To start, we need a service class. This class will be used to register our custom categories and remove core categories. The fastest way to add it to our project is by using the following WP-CLI command:"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-shell",children:"wp boilerplate create service-example --folder=BlockPatterns --file_name=ManagePatternCategories\n"})}),"\n",(0,a.jsx)(t.p,{children:"Now that we have our service class, we'll add methods for removing core patterns and pattern categories. First, the method for removing core categories."}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-php",children:"/**\n * Unregisters core block pattern categories.\n *\n * @return void\n */\npublic function removeCoreCategories()\n{\n\t\\unregister_block_pattern_category('buttons');\n\t\\unregister_block_pattern_category('columns');\n\t\\unregister_block_pattern_category('gallery');\n\t\\unregister_block_pattern_category('header');\n\t\\unregister_block_pattern_category('text');\n}\n"})}),"\n",(0,a.jsx)(t.p,{children:"The second method will remove all core patterns"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-php",children:"/**\n * Removes support for core block patterns.\n *\n * @return void\n */\npublic function removeBlockPatternsCore()\n{\n\t\\remove_theme_support('core-block-patterns');\n}\n"})}),"\n",(0,a.jsxs)(t.p,{children:["For these methods to work, we need to add them to the ",(0,a.jsx)(t.code,{children:"register()"})," method of our service class. Add the following actions:"]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-php",children:"\\add_action('init', [$this, 'removeCoreCategories'], 40);\n\\add_action('after_setup_theme', [$this, 'removeBlockPatternsCore'], 20);\n"})}),"\n",(0,a.jsxs)(t.p,{children:["If you try searching for patterns in your editor, you'll notice they are no longer available. Now we can move on to adding our block pattern categories. The best approach is to define the pattern category names as constants inside your class. In this example, we will add two categories: ",(0,a.jsx)(t.strong,{children:"Templates"})," and ",(0,a.jsx)(t.strong,{children:"Sections"}),". We can add the following code inside our class:"]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-php",children:"class ManagePatternCategories implements ServiceInterface\n{\n\tpublic const TEMPLATES_CATEGORY = 'templates-category';\n\tpublic const SECTIONS_CATEGORY = 'sections-category';\n\n\t// Removed parts of code for better readability.\n\n\t/**\n\t * Registers new pattern categories.\n\t *\n\t * @return void\n\t */\n\tpublic function addCategories()\n\t{\n\t\t\\register_block_pattern_category(self::TEMPLATES_CATEGORY, [\n\t\t\t'label' => \\esc_html__('Templates', 'es-blog'),\n\t\t]);\n\n\t\t\\register_block_pattern_category(self::SECTIONS_CATEGORY, [\n\t\t\t'label' => \\esc_html__('Sections', 'es-blog'),\n\t\t]);\n\t}\n}\n"})}),"\n",(0,a.jsxs)(t.p,{children:["Finally, return to your Intro Pattern class and update the ",(0,a.jsx)(t.code,{children:"getCategories()"})," method:"]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-php",children:"protected function getCategories(): array\n{\n\treturn [\n\t\tManagePatternCategories::SECTIONS_CATEGORY\n\t];\n}\n"})}),"\n",(0,a.jsx)(t.p,{children:"In editor, in the Pattern tab, you should now see your new pattern category and the Intro Pattern."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"New pattern category and block pattern",src:n(77514).A+"",width:"349",height:"323"})}),"\n",(0,a.jsx)(t.h2,{id:"things-to-keep-in-mind",children:"Things to keep in mind"}),"\n",(0,a.jsx)(t.p,{children:"Block patterns add layout and content which you can then modify at will per instance. These instances are not synchronised with the codebase so it becomes an issue if you've already used a pattern on multiple places on the site and then notice you've missed something in the pattern configuration phase. Fixing the pattern in the codebase will apply the changes on all newly added instances, but you will have to fix the misconfigured instances manually."})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},77514:(e,t,n)=>{n.d(t,{A:()=>a});const a="data:image/webp;base64,UklGRgwTAABXRUJQVlA4IAATAACwZwCdASpdAUMBPjEYikQiIaEQWq0QIAMEtLd///b634z9Cned1QmEa1fkY1ZvoP6APEg6QHmA/UP9sfZG/oHsA9AD9cOsa/nP+S9gD+Af1n0sP28+CP9mf2h9pb/06zn4Z/nn4nd8v9H/FD93PWf8M+H/mP46f1j/r+8o+R/Gvp39D/H3+5/tn8K/2/8ePM34A/xfqBfh38Q/pv44/lByRYAPyH+L/3b+3fsR/cv3T9ar+I/Lv3G+p3+F9wH+G/xf+zfkn/jP/f9M99d4B/nfcA/jn84/xX+P/bv/Kf//7TP1T/H/3v9x/8////d3+Qf2H/U/5z9zv8T///wD/j38r/v/9u/yf/C/wf/+/8f22+tj9oP//7lP6mf+8SJAK3LLKSrj2agx/VpfQJFfYNI8+iizRuRtUFzEfrdPFIvBMW+XRGQPdyCE2D4pM5eAqAGO3HsyklTxpq0+JmpyOezifQ98VJXY7zsVtuMiBOYcBqoAcFtsXJ8EC2yXnS3iGaOMvcQqvVDqvaSgW/2lKXrmN++IQbfy6RS3UCb7rdpP1roFCl1AYyqYl7fRkksuWFNg6P9P6q9AdTT+qvQHMLo0NevFP6q9AdTT+qvQAcTX6cfToAcfpZpxc+ny6fmVsV10xqQkxdvsmDRu18avJ9vEu5DGECRMPy6HlR7NANE+W+GNnD3E3G/iKf1V30Q1mbInS0+KzB7TN6sltl90/MnJ5gX4fkdyEAddmNwLGH5ahDGCDlUr5uIW0MICnxsxkEr0qlygVsCfmVsT6YLvPYn8RTsXON/F2FhYWFhYWFhYWGbjuwcMhJXpBICmkBTSAak5jj7BG+eREQBx77hbRknbdFgcxdcMWSOA2xZ9qgKVAxBggVti8LMrYw9rtm4hyd2AboLcwApoeR4qIyuk4M7T1VIQX57mTmoLqJtVUaypVZUqsqUpnXL8KVdY3VzszMYUJPs6p+ZWxh+XUCRMPy05C3CjHuVl1PZ/Z+wNT7PtfpW9VegOpp/VXoA7qLs+06zlAjEU/qr0B1NP6q3KhZ8dQJEw/FGNp87OvGEC1MqlnowgSJh+XUCRMPy6gSJh+XUCRMPy6gSJh+XUCRMPy6gSJh+XUCMgAP7AhU8UBjlq2tG0/3JJpnU6lwxWxIfm4S/urPbnNfFcjPAZju5ilN08I6+/8FGBPDDwDLEDDtcmuyhY/Ty9pDFbysHJillWpcZz8lLXb7//3+G4KdVb83EmP98vy7MfsdzCwSL/r4Cxu93Zt/3TF8Vysd7EM+/g6sTuiiAnwtdL2MO16Nm910Gzvy/mIKbJ4ISheAY76rsCo3BQ6Zr6C5/QGeaf4gRQp/wxaTvDnlqY7F7hWRTjiS68cVHL0eA7mL+G1TQcIzIdVn5fOtfe8WyqppWzzMhN3znCZpYRNU6IZf4hX+1n4WTevLqiCnGYqBxpusw/ApfNr+TsJzCAQHoxA0b0OlFUM1oYoXgwNen2ThlBZ0DmcBwrbiJ9r3tZ+rsP7S3KxYoZdHWmuh7C1/zOenmNtl3neuy1C/ZZTh8lvUpmEZPu33qG9Udyp6hrqtpLj6z0SP83se3qm1ptH3d6YdlNtg5S+ksIGqx1QMrUCxQTDvCZVeUOxZtrFkANkAklLVPRx7zMYUxVeC8tq5L6fKRzzjowF8ianGZVbe0plHAX/jW9xY5OrKD/Tol05qWdHZdsc2tKEf8yLkehDDXZjMRMpO+pLRQb2E99/19lP0GeL8Pz/NE3sxQNtcE/mYCwIKX/vcZIu6Vh6P31h3RwMrKQ8r5QQeItXXIPkS2CKeJxfNrxvoW5Ur92WztprauwYPJuXpgKiWi/6KM2N7/Jm4fIuargY36sv7re1fmkJU8DaBfnrwcn/nwim1PPkU2nmlEQ7kn65eC5xRpZTkcvBcz3/6ODpbo5gyXLYKtrLCkV46uNQ1QWPQ4E4isbNEwfwWI4dh7CqD2n0yI2N/7BGGKEXEef4uaSPhViR//mOf/Mvbkb1zKveieThUD2mU0LvmKpHU5CsZ1MtR3D1wArmXfqOvt6b6MWwASns5iTdxbysq85d7sDGU72zH9t1ypgWeot3SbMwmqEmGfxrDP0/gKOFuHZhlbDhTGFxd+MutxmkBJ9mr0cMT8gDYvF3pp/VfPxgEL1QRDjkxQBuQ9m/l9T9VhR3CSLG9hxH5vAi8HU6w1DZVUfH5gdnEVoClLgBl0WXKS1dJbwP9nTWAQ2HtwMyzf1bVwW9/RXjfzqlZnbImE2rK8WBSYJoDpUP9avytQJ110N3rMDwb9r33Ysbwlj5kuc/j7xbYu73zpWrIk95Eh99O+VXlO9JnjxkDE8TUvm2p5m4z0FLVquVj8sd1Ti64A1KbFxliK64e0qn0EvI7rG+PfTZFMxSpFC+XErkbtqxtGh3hKR3S05zZ//42SnUefBWBcr2NLZdpis8k5p3kuzXjIR2qvXcOPOqGtDulpH0nHbSHj8QFVIBGIqs0Dn8dLlxCy5S9hBFniqaFxGt9pLW8H4BErxJGCzZz4I/CFUU6EgnyHdXdg1KO6lyMAM2dDN0n6P8jdVtUbKAaW7MS2UP8bvuHdpc+JXqFi9veFeUk4SIHbBRvYGY70TXcu6Tm4tbAS8wA/hR/Ih//7IKF0wE4iHcOzQJIC9FOFL54Xn2iGxJ93NnMZQn0oZSJ9avH74hvYwIW6ybhUqJ4qbX2HtRZIgdhYrDjGGWj/Rs+fVn7x4qIb8prt1wIvGMtozoEhhmOuSBFkn/NiLa8UHKPIX4uOcuAPpSZFNjxX5ws1FAFp0uiA7Ihqi4AqkkOEbIGyBsgbIGyBsgbIGyBncACDicgwM4xQAaI+HXwpY7oZPhWgqYLt77wbvWgkwqZY5VH2CxGYBzyiZfQONYT9YstfFfvUKIdt1DCZr2+2hqNtWoidboAR951PG4p1zXcGT1ifbBMq0b2ZdrVQsVWdWxgsRaexCt5tCa5bUvas0/1J0QI8RVT1TIUmuqHh4lw3y0gHLXtmmvrjtPv6INPs93IZq+E8DGJnm6+dO5XL35tNjsTHVm8GWuavvh1FsM1Apr9Kpdaj1Vuys4QApzQ2yYu6Xvq3aOFwAKO5NmtABk3wx20RSSiuTe8n5ElbOH7/exV7w1sEtUkRhxS//7dqRcFMCRLynvr4adAqHgrYXC6GjdUFrFESZMil6KdpYNv296xgwvF9BvhaUu+A2/zWlte2pzF6ryef7kkt6fqBg1jRz0RZTvh4/WEe4PljM7kTLD3fT7YejUElUirIfS9GLZstx38YyvQbE+GxGzyS481C3GSyzmhK5FfcJrl6Hrg/p0v62iEabJT4ACBL3RhC3QIBevgB+MJQCsw9njyV+ofmeYxBv7tq/FDLlJKeRYMf0OQpe2FbFjTcNmDaoPQB+1CUBH709/yRZU/Gz9Jcj05qS2nYSpPMuzm9b4n/6YqFVilEXXcxwlMxFD7bM2b1UdWWnfCQetMBAaS26jTdl1ZdIwqd24xgDrcoPaPamE6XMMeZbq2oL+WYrmRkDr0R2PUX1dYfUnWQUHPngweQKlPhHfkCMLfRwzkNKaiQzna5CEHXQfv4EvIotfKFkECBYDvlwRqTvdwjUJKR3GYOVrbvzd+AH9830SP7LTCvcJwvL7Qfd6IqXwACDTJc00AeNaGheyoJBBi5eboRYrswEnSB1ypFWi0v5+Zxmie78z5mfA4GZhninOdAxGluxHh98QC9xxhot6lRQZ8DVd566XjKpxByGvh0maV5TovcrLDLEka2fkNPASjzXQ3CZmDjzgG83Ccq7WVUyLbsgs3B6lLOzD8isXXiBV0zSXmO5pWI4swg6sx2VufnQPgWZE4YxLpfertfbkpO+VJ+kWFIU9yA5t05+OhKU6m0QXyYnzCDNAZBteQXjLEKzwQ3xLXXPl9N75YpDOk84CsRC11IFe3P0cNU26HHoDTI3KbDI3TJLGhwni3d2mPgkd4K5JVzzRftPEt/yFd/desrIf5PWVtIN0QAoifCcjRNNH1aGZ42lELBAX8Ywg5wnCGw37anVOGCkxTfac68HXgc4e9i+f/A6xb/nY7iI3aUcpRGq40Op6Ki/mN/XLL1nEbT3Y8wCKFFZ/BXqaxv55h+19WHr0i66DO4BU1cBcqovg8lhzUQELoZttsN8ji1R0WkHGQ5VPWTaT/Fn36hHSb0hwyzgG84TBriAOY3zaVNXNrIt5eq3M5LVdqJcjkSfSGWoR3/8mi3/5qmh/M5r/+nLdf/VbBTfnJNHY6o2WQZzDbJzDbJzDbJzDbJzDSzJZ93QC0kEMdJXl8u6nvCEKEHJb9e/VPYxZu+gyJbuI5rsQJA7rAtNnOCtx+FJKhmtQA/BKwPcIB3+z/z9vKLdL8Aj1l/mz7e+px6df17O/G/qN4UWaGy48ADBB0PUXFNhxwpTZN/gvg52eolxBpVxhNsvRGEAuOFInMfrGPrxYqSKzw2k9nAhqbSBFs++M/SokjgTFXjyYe5NZiBXIPAmcVx2U0XZ0CtBzWgQUlPUfrrX9Iix9nmQYy/IrZQIDCRUGMTLvoe0mjcfPYYiU1mfaQgC29iyUi3uYWIN08wPY/iWOZu687Ma4Mj3tvCy/i1RHt+62WzK30/FYCkkF68yp1Muv2Bm1v1bBTFZs0GyDOBVhaYdwj1NdpwWcYU4W+so5WOPzSyS4g5d3t99L2659M54e9x1M+Q9ncCwx0iwZEtGZxkgnWBQVnyVXObsGi19IKJZ+2TG/cz4RCGBwgyX8HRNSie/2Hm2m701GFiXkiQ1u2i19p21ilK88+gxAH0JI7dye0IYdmxB4GGB5VnQMi1h8bXdaPV0+VbGPiQmj7KzJ+7jeuMxd91nD4eML71mO08f5pdzOu4oelK99fohaY3Xa/uarpCfzLx+sJ2zPHNXL5ZG+o56f7xCZbm11Wtsog30ux5UZ5sXpKhJGyAdMKhB9nqzbVk3gIWMZwA+fMT9pu8yz7RteDMQRr4rjDwio7MYGbOIfQL/lgQZfnP4UvMv+/y64tUVLn4fdaKSmsR0CZpRHc14De6woFgS9UQXzZ/Bogg2KASyjnJX+mTfvpr8YWZT6gbOBiJJsH7OXLT9X7IunaFGvKpGZ50fsZwHrPHdHA3l+SwilTD4XLjhL0bH/0u/NeThw3vqvHwMsuUoGDRJZ77uYOxQpZR6GntQ4X+fxVATrXZeH9vw1DhXKIHJkDPDeUYioAsN20t2J92v96ix5j28BMhCcBhrg7AK1gaZ/r8k2rkKB7vkbcSVjNJNb3fL688UKfSouEPB8nDSb72HXDfv1a2TwIoszc6Cf0yuCl9SEARRINNzrVcimXIaFyvP2j55PHDQQjYukk0UFURqlHPe0Ff6YAVQCpOqkieXXmtqZHkaKYunc74Vn793jOc/COaMROGtbpyuvuV0XTTD4V6PQ0wLJ00XeUwFKc7RP2V7HR2Q+gGGxeiw4/7vsqSTGi8ZGmraJYGP+0qNE2iSF/9KRdhAMAknh/xYucyq3O9eig/mwVwzMZU3Z+VIIU4abDljzHfeY6InU91H/+HGZ5NmhRs1Ux307tvzbZSWOQOsIaLhT7oULovjp0Fxi2RfHi79tcc0usGYsDHkkX/Wwtwkemnhl/vSLAqhIToz2Z1QpJV0hvJSNUQzmJp77YkRG8H8STPktB8qxz7/+tj9L36VVY3uim1Jobde/E7kVcv2or/PRPS2mIAmKyIBdMx7k43kyrXAg2Fw5KB86BJlGOvEKKlzQWSKF7pnLt+pQ69Yc+e9ueHqAsOSZrzwQVXykYjEF0rqB8EzZgDxwHmjstO0ZkjAMNNlFDFy4I1duiWudlNlg+UAY+Q/RWHpP/UdD+fH1RucBP//g19Z1Mj20Izeg+Q0QA2CAGpsAYtADCwZVS2S8JKpiv0keCUAPuDKaiN0vSJkmMqvUG/Z74nUOpUNqzeACYnFqvTBMytD9LY6RJy0C/ELnZEvhGAzsl+DlBRJEHn34kwSUNOdSoV4XuRvqgID97FLx4KMuFbWdbE1Hc/bw9UPFe1LyhXA33JJNe2gb0fBSMeTbH4SRMmvbE63Qtkvo0IIx4X7AJ3mm5egfnrXUpLP8FnwJIMKRoGO+v1qy63XWXr24e2dbTnlyUTz6hSvAJnovOUKWgyBy+2ZHRilaFCE0NkkfGAIBTgLhb5IusbpfaXYXpu1iD5vhT1IQmQVUcoiXyFFDCHAYkj0bvr1CtygF+316+SAxOq3Jx/QzlZD/iARs2JdBg0HjYjLuBPfGZrlO9G3GYsvpL1C7M0q42gG8Ikowyz62zPB8FWAgj85B/lCMU0H1c69G+XEUctrK/psmrqsG8u3vVM0wnpxTUn5PZVE881nzoqye4mpB6WndaOVtIyOMasiLkCyofedFkSWYZz5KQknasZu92q/YrjR74F37ZwYJCLatHDBvCOqfKPgL5YJRI+HGTpnaP3R4V/WMp005WAyd2yqwAAAAAAA"},23254:(e,t,n)=>{n.d(t,{A:()=>a});const a=n.p+"assets/images/code-editor-0f0cd8e07f7d3262475ca4cc8b7b2176.webp"},28453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>i});var a=n(96540);const s={},r=a.createContext(s);function o(e){const t=a.useContext(r);return a.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(s):e.components||s:o(e.components),a.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e8a4c7be.fbee7b8a.js b/assets/js/e8a4c7be.18f9aab7.js similarity index 99% rename from assets/js/e8a4c7be.fbee7b8a.js rename to assets/js/e8a4c7be.18f9aab7.js index 155310390..490cad555 100644 --- a/assets/js/e8a4c7be.fbee7b8a.js +++ b/assets/js/e8a4c7be.18f9aab7.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[23738],{82614:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>p});var s=n(74848),o=n(28453);const r={id:"5-6",title:"Version 5 to 6"},i=void 0,l={id:"migrations/5-6",title:"Version 5 to 6",description:"This migration guide is represents migration for:",source:"@site/docs/migrations/5-6.md",sourceDirName:"migrations",slug:"/migrations/5-6",permalink:"/docs/migrations/5-6",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"5-6",title:"Version 5 to 6"},sidebar:"docs",previous:{title:"Version 6 to 7",permalink:"/docs/migrations/6-7"},next:{title:"Eightshift Boilerplate",permalink:"/docs/additional-libraries/boilerplate"}},c={},p=[{value:"JavaScript changes",id:"javascript-changes",level:2},{value:"getOptionColors helper",id:"getoptioncolors-helper",level:4},{value:"getOptions changed to getOption and properties changed",id:"getoptions-changed-to-getoption-and-properties-changed",level:4},{value:"getOptions new helper",id:"getoptions-new-helper",level:4},{value:"getOptions for color",id:"getoptions-for-color",level:4},{value:"props helper properties changed",id:"props-helper-properties-changed",level:4},{value:"setAttributes now must use getAttrKey helper",id:"setattributes-now-must-use-getattrkey-helper",level:4},{value:"checkAttr | checkAttrResponsive no longer supports componentName parameter",id:"checkattr--checkattrresponsive-no-longer-supports-componentname-parameter",level:4},{value:"move checkAttr from hte attributes spread",id:"move-checkattr-from-hte-attributes-spread",level:4},{value:"Included keys in props helper.",id:"included-keys-in-props-helper",level:4},{value:"PHP changes",id:"php-changes",level:2},{value:"props helper removed from Block.php",id:"props-helper-removed-from-blockphp",level:4},{value:"props helper properties changed",id:"props-helper-properties-changed-1",level:4},{value:"Help",id:"help",level:2}];function a(e){const t={a:"a",code:"code",em:"em",h2:"h2",h4:"h4",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"This migration guide is represents migration for:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate/releases/tag/6.0.0",children:"eightshift/boilerplate"})," - ",(0,s.jsx)(t.strong,{children:"5+ --\x3e 6.0.0"})]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/releases/tag/5.0.0",children:"eightshift/frontend-libs"})," - ",(0,s.jsx)(t.strong,{children:"4+ --\x3e 5.0.0"})]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/releases/tag/4.0.0",children:"eightshift/libs"})," - ",(0,s.jsx)(t.strong,{children:"3+ --\x3e 4.0.0"})]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"javascript-changes",children:"JavaScript changes"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Migration time: ~30min."})}),"\n",(0,s.jsx)(t.h4,{id:"getoptioncolors-helper",children:"getOptionColors helper"}),"\n",(0,s.jsxs)(t.p,{children:["Moved from ",(0,s.jsx)(t.code,{children:"get-option-colors.js"})," file to ",(0,s.jsx)(t.code,{children:"get-options.js"}),". Import remained the same."]}),"\n",(0,s.jsx)(t.h4,{id:"getoptions-changed-to-getoption-and-properties-changed",children:"getOptions changed to getOption and properties changed"}),"\n",(0,s.jsxs)(t.p,{children:["Example: ",(0,s.jsx)(t.code,{children:"buttonSize"}),"."]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Old usage: ",(0,s.jsx)(t.code,{children:"getOptions(manifest, componentName, 'size', options);"})]}),"\n",(0,s.jsxs)(t.li,{children:["New usage: ",(0,s.jsx)(t.code,{children:"getOption('buttonSize', attributes, manifest);"})]}),"\n"]}),"\n",(0,s.jsx)(t.h4,{id:"getoptions-new-helper",children:"getOptions new helper"}),"\n",(0,s.jsx)(t.p,{children:"A new helper was created for easier merging of component options and attributes passed from the parent component."}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Old usage: ",(0,s.jsx)(t.code,{children:"const options = {...manifestOptions, ...attributes.options};"})]}),"\n",(0,s.jsxs)(t.li,{children:["New usage: ",(0,s.jsx)(t.code,{children:"options={getOptions(attributes, manifest)}"})]}),"\n"]}),"\n",(0,s.jsx)(t.h4,{id:"getoptions-for-color",children:"getOptions for color"}),"\n",(0,s.jsx)(t.p,{children:"getOptions helper now supports color returns."}),"\n",(0,s.jsxs)(t.p,{children:["Example: ",(0,s.jsx)(t.code,{children:"buttonColor"})]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Old usage: ",(0,s.jsx)(t.code,{children:"getOptionColors(getOptions(manifest, componentName, 'color', options);"})]}),"\n",(0,s.jsxs)(t.li,{children:["New usage: ",(0,s.jsx)(t.code,{children:"getOption('buttonColor', attributes, manifest, true);"})]}),"\n"]}),"\n",(0,s.jsx)(t.h4,{id:"props-helper-properties-changed",children:"props helper properties changed"}),"\n",(0,s.jsx)(t.p,{children:"Now it only supports 2 properties (earlier it was 4)\nSecond property is the component name you are passing into, if the component name was changed, that name should be passed. It supports camelCase and kebab-case as a component name. It should be the same as defined in the manifest.json.\nAlso keys was swiped."}),"\n",(0,s.jsx)(t.p,{children:"Example 1:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Old usage: ",(0,s.jsx)(t.code,{children:"{...props(attributes, 'image')}"})]}),"\n",(0,s.jsxs)(t.li,{children:["New usage: ",(0,s.jsx)(t.code,{children:"{...props('image', attributes)}"})]}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"Example 2:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Old usage: ",(0,s.jsx)(t.code,{children:"{...props(attributes, 'heading', 'intro')}"})]}),"\n",(0,s.jsxs)(t.li,{children:["New usage: ",(0,s.jsx)(t.code,{children:"{...props('intro', attributes)}"})]}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"Example 3:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Old usage: ",(0,s.jsx)(t.code,{children:"{...props(attributes, 'button', '', true)}"})]}),"\n",(0,s.jsxs)(t.li,{children:["New usage: ",(0,s.jsx)(t.code,{children:"{...props('button', attributes)}"})]}),"\n"]}),"\n",(0,s.jsx)(t.h4,{id:"setattributes-now-must-use-getattrkey-helper",children:"setAttributes now must use getAttrKey helper"}),"\n",(0,s.jsxs)(t.p,{children:["In order to use full flexibility of components each ",(0,s.jsx)(t.code,{children:"setAttributes"})," function must have ",(0,s.jsx)(t.code,{children:"getAttrKey"})," helper used to get the correct attribute name."]}),"\n",(0,s.jsxs)(t.p,{children:["Example: ",(0,s.jsx)(t.code,{children:"buttonColor"})]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Old usage: ",(0,s.jsx)(t.code,{children:"onChange={(value) => setAttributes({ [`${componentName}Color`]: value })}"})]}),"\n",(0,s.jsxs)(t.li,{children:["New usage: ",(0,s.jsx)(t.code,{children:"onChange={(value) => setAttributes({ [getAttrKey('buttonColor', attributes, manifest)]: value })}"})]}),"\n"]}),"\n",(0,s.jsx)(t.h4,{id:"checkattr--checkattrresponsive-no-longer-supports-componentname-parameter",children:"checkAttr | checkAttrResponsive no longer supports componentName parameter"}),"\n",(0,s.jsxs)(t.p,{children:["Example: ",(0,s.jsx)(t.code,{children:"buttonContent"})]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Old usage: ",(0,s.jsx)(t.code,{children:"checkAttr('buttonContent', attributes, manifest, componentName);"})]}),"\n",(0,s.jsxs)(t.li,{children:["New usage: ",(0,s.jsx)(t.code,{children:"checkAttr('buttonContent', attributes, manifest);"})]}),"\n"]}),"\n",(0,s.jsx)(t.h4,{id:"move-checkattr-from-hte-attributes-spread",children:"move checkAttr from hte attributes spread"}),"\n",(0,s.jsx)(t.p,{children:"Old usage:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\tconst {\n\t\tsetAttributes,\n\t\tcomponentClass = manifestComponentClass,\n\t\tselectorClass = componentClass,\n\t\tadditionalClass,\n\t\tblockClass,\n\n\t\tbuttonUse = checkAttr('buttonUse', attributes, manifest),\n\n\t\tbuttonType = checkAttr('buttonType', attributes, manifest),\n\t\tbuttonIconPosition = checkAttr('buttonIconPosition', attributes, manifest),\n\t\tbuttonIconUse = checkAttr('buttonIconUse', attributes, manifest),\n\t\tbuttonIsLink = checkAttr('buttonIsLink', attributes, manifest),\n\t} = attributes;\n"})}),"\n",(0,s.jsx)(t.p,{children:"New usage:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\tconst {\n\t\tsetAttributes,\n\t\tcomponentClass = manifestComponentClass,\n\t\tselectorClass = componentClass,\n\t\tadditionalClass,\n\t\tblockClass,\n\t} = attributes;\n\n\tconst buttonUse = checkAttr('buttonUse', attributes, manifest);\n\tconst buttonType = checkAttr('buttonType', attributes, manifest);\n\tconst buttonIconPosition = checkAttr('buttonIconPosition', attributes, manifest);\n\tconst buttonIconUse = checkAttr('buttonIconUse', attributes, manifest);\n\tconst buttonIsLink = checkAttr('buttonIsLink', attributes, manifest);\n"})}),"\n",(0,s.jsx)(t.h4,{id:"included-keys-in-props-helper",children:"Included keys in props helper."}),"\n",(0,s.jsxs)(t.p,{children:["You don't need to pass this helpers if you don't want to override them because they are passed using props helper.\nThis is true only for the passing inside the components. For the block you need to pass them manually.\nExample:\nBlock \u2192 Component - need to pass ",(0,s.jsx)(t.code,{children:"setAttributes"}),"\nComponent \u2192 Component - no need to pass ",(0,s.jsx)(t.code,{children:"setAttributes"})," or anything that you're not overriding."]}),"\n",(0,s.jsx)(t.h2,{id:"php-changes",children:"PHP changes"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Migration time: ~30min."})}),"\n",(0,s.jsx)(t.h4,{id:"props-helper-removed-from-blockphp",children:"props helper removed from Block.php"}),"\n",(0,s.jsx)(t.p,{children:"Remove props function from Blocks.php class and the accommodating use call on the top of the file."}),"\n",(0,s.jsx)(t.h4,{id:"props-helper-properties-changed-1",children:"props helper properties changed"}),"\n",(0,s.jsx)(t.p,{children:"The same as in JS, and replace Block with Component method."}),"\n",(0,s.jsx)(t.p,{children:"Example 1:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Old usage: ",(0,s.jsx)(t.code,{children:"Blocks::props($attributes, 'button', '', true)"})]}),"\n",(0,s.jsxs)(t.li,{children:["New usage: ",(0,s.jsx)(t.code,{children:"Components::props('button', $attributes)"})]}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"Example 2:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Old usage: ",(0,s.jsx)(t.code,{children:"Blocks::props($attributes, 'button')"})]}),"\n",(0,s.jsxs)(t.li,{children:["New usage: ",(0,s.jsx)(t.code,{children:"Components::props('button', $attributes)"})]}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"Example 3:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Old usage: ",(0,s.jsx)(t.code,{children:"Blocks::props($attributes, 'button', 'new')"})]}),"\n",(0,s.jsxs)(t.li,{children:["New usage: ",(0,s.jsx)(t.code,{children:"Components::props('new', $attributes)"})]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"help",children:"Help"}),"\n",(0,s.jsxs)(t.p,{children:["We prepared a couple of regular expressions (",(0,s.jsx)(t.em,{children:"regexes"}),") to help with the migrations."]}),"\n",(0,s.jsx)(t.p,{children:"Swipe props helper in JS:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"\\{...props\\(attributes, (['\"]{1}[a-zA-Z\\-]+['\"]{1})\\)\\} to {...props($1, attributes)}\n"})}),"\n",(0,s.jsx)(t.p,{children:"Swipe props helper in PHP:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"Components::props\\(\\$attributes, ('[a-zA-Z\\-]+')\\) to Components::props($1, $attributes)\n"})})]})}function h(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},28453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>l});var s=n(96540);const o={},r=s.createContext(o);function i(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[23738],{60233:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>p});var s=n(74848),o=n(28453);const r={id:"5-6",title:"Version 5 to 6"},i=void 0,l={id:"migrations/5-6",title:"Version 5 to 6",description:"This migration guide is represents migration for:",source:"@site/docs/migrations/5-6.md",sourceDirName:"migrations",slug:"/migrations/5-6",permalink:"/docs/migrations/5-6",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"5-6",title:"Version 5 to 6"},sidebar:"docs",previous:{title:"Version 6 to 7",permalink:"/docs/migrations/6-7"},next:{title:"Eightshift Boilerplate",permalink:"/docs/additional-libraries/boilerplate"}},c={},p=[{value:"JavaScript changes",id:"javascript-changes",level:2},{value:"getOptionColors helper",id:"getoptioncolors-helper",level:4},{value:"getOptions changed to getOption and properties changed",id:"getoptions-changed-to-getoption-and-properties-changed",level:4},{value:"getOptions new helper",id:"getoptions-new-helper",level:4},{value:"getOptions for color",id:"getoptions-for-color",level:4},{value:"props helper properties changed",id:"props-helper-properties-changed",level:4},{value:"setAttributes now must use getAttrKey helper",id:"setattributes-now-must-use-getattrkey-helper",level:4},{value:"checkAttr | checkAttrResponsive no longer supports componentName parameter",id:"checkattr--checkattrresponsive-no-longer-supports-componentname-parameter",level:4},{value:"move checkAttr from hte attributes spread",id:"move-checkattr-from-hte-attributes-spread",level:4},{value:"Included keys in props helper.",id:"included-keys-in-props-helper",level:4},{value:"PHP changes",id:"php-changes",level:2},{value:"props helper removed from Block.php",id:"props-helper-removed-from-blockphp",level:4},{value:"props helper properties changed",id:"props-helper-properties-changed-1",level:4},{value:"Help",id:"help",level:2}];function a(e){const t={a:"a",code:"code",em:"em",h2:"h2",h4:"h4",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"This migration guide is represents migration for:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-boilerplate/releases/tag/6.0.0",children:"eightshift/boilerplate"})," - ",(0,s.jsx)(t.strong,{children:"5+ --\x3e 6.0.0"})]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-frontend-libs/releases/tag/5.0.0",children:"eightshift/frontend-libs"})," - ",(0,s.jsx)(t.strong,{children:"4+ --\x3e 5.0.0"})]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.a,{href:"https://github.com/infinum/eightshift-libs/releases/tag/4.0.0",children:"eightshift/libs"})," - ",(0,s.jsx)(t.strong,{children:"3+ --\x3e 4.0.0"})]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"javascript-changes",children:"JavaScript changes"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Migration time: ~30min."})}),"\n",(0,s.jsx)(t.h4,{id:"getoptioncolors-helper",children:"getOptionColors helper"}),"\n",(0,s.jsxs)(t.p,{children:["Moved from ",(0,s.jsx)(t.code,{children:"get-option-colors.js"})," file to ",(0,s.jsx)(t.code,{children:"get-options.js"}),". Import remained the same."]}),"\n",(0,s.jsx)(t.h4,{id:"getoptions-changed-to-getoption-and-properties-changed",children:"getOptions changed to getOption and properties changed"}),"\n",(0,s.jsxs)(t.p,{children:["Example: ",(0,s.jsx)(t.code,{children:"buttonSize"}),"."]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Old usage: ",(0,s.jsx)(t.code,{children:"getOptions(manifest, componentName, 'size', options);"})]}),"\n",(0,s.jsxs)(t.li,{children:["New usage: ",(0,s.jsx)(t.code,{children:"getOption('buttonSize', attributes, manifest);"})]}),"\n"]}),"\n",(0,s.jsx)(t.h4,{id:"getoptions-new-helper",children:"getOptions new helper"}),"\n",(0,s.jsx)(t.p,{children:"A new helper was created for easier merging of component options and attributes passed from the parent component."}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Old usage: ",(0,s.jsx)(t.code,{children:"const options = {...manifestOptions, ...attributes.options};"})]}),"\n",(0,s.jsxs)(t.li,{children:["New usage: ",(0,s.jsx)(t.code,{children:"options={getOptions(attributes, manifest)}"})]}),"\n"]}),"\n",(0,s.jsx)(t.h4,{id:"getoptions-for-color",children:"getOptions for color"}),"\n",(0,s.jsx)(t.p,{children:"getOptions helper now supports color returns."}),"\n",(0,s.jsxs)(t.p,{children:["Example: ",(0,s.jsx)(t.code,{children:"buttonColor"})]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Old usage: ",(0,s.jsx)(t.code,{children:"getOptionColors(getOptions(manifest, componentName, 'color', options);"})]}),"\n",(0,s.jsxs)(t.li,{children:["New usage: ",(0,s.jsx)(t.code,{children:"getOption('buttonColor', attributes, manifest, true);"})]}),"\n"]}),"\n",(0,s.jsx)(t.h4,{id:"props-helper-properties-changed",children:"props helper properties changed"}),"\n",(0,s.jsx)(t.p,{children:"Now it only supports 2 properties (earlier it was 4)\nSecond property is the component name you are passing into, if the component name was changed, that name should be passed. It supports camelCase and kebab-case as a component name. It should be the same as defined in the manifest.json.\nAlso keys was swiped."}),"\n",(0,s.jsx)(t.p,{children:"Example 1:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Old usage: ",(0,s.jsx)(t.code,{children:"{...props(attributes, 'image')}"})]}),"\n",(0,s.jsxs)(t.li,{children:["New usage: ",(0,s.jsx)(t.code,{children:"{...props('image', attributes)}"})]}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"Example 2:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Old usage: ",(0,s.jsx)(t.code,{children:"{...props(attributes, 'heading', 'intro')}"})]}),"\n",(0,s.jsxs)(t.li,{children:["New usage: ",(0,s.jsx)(t.code,{children:"{...props('intro', attributes)}"})]}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"Example 3:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Old usage: ",(0,s.jsx)(t.code,{children:"{...props(attributes, 'button', '', true)}"})]}),"\n",(0,s.jsxs)(t.li,{children:["New usage: ",(0,s.jsx)(t.code,{children:"{...props('button', attributes)}"})]}),"\n"]}),"\n",(0,s.jsx)(t.h4,{id:"setattributes-now-must-use-getattrkey-helper",children:"setAttributes now must use getAttrKey helper"}),"\n",(0,s.jsxs)(t.p,{children:["In order to use full flexibility of components each ",(0,s.jsx)(t.code,{children:"setAttributes"})," function must have ",(0,s.jsx)(t.code,{children:"getAttrKey"})," helper used to get the correct attribute name."]}),"\n",(0,s.jsxs)(t.p,{children:["Example: ",(0,s.jsx)(t.code,{children:"buttonColor"})]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Old usage: ",(0,s.jsx)(t.code,{children:"onChange={(value) => setAttributes({ [`${componentName}Color`]: value })}"})]}),"\n",(0,s.jsxs)(t.li,{children:["New usage: ",(0,s.jsx)(t.code,{children:"onChange={(value) => setAttributes({ [getAttrKey('buttonColor', attributes, manifest)]: value })}"})]}),"\n"]}),"\n",(0,s.jsx)(t.h4,{id:"checkattr--checkattrresponsive-no-longer-supports-componentname-parameter",children:"checkAttr | checkAttrResponsive no longer supports componentName parameter"}),"\n",(0,s.jsxs)(t.p,{children:["Example: ",(0,s.jsx)(t.code,{children:"buttonContent"})]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Old usage: ",(0,s.jsx)(t.code,{children:"checkAttr('buttonContent', attributes, manifest, componentName);"})]}),"\n",(0,s.jsxs)(t.li,{children:["New usage: ",(0,s.jsx)(t.code,{children:"checkAttr('buttonContent', attributes, manifest);"})]}),"\n"]}),"\n",(0,s.jsx)(t.h4,{id:"move-checkattr-from-hte-attributes-spread",children:"move checkAttr from hte attributes spread"}),"\n",(0,s.jsx)(t.p,{children:"Old usage:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\tconst {\n\t\tsetAttributes,\n\t\tcomponentClass = manifestComponentClass,\n\t\tselectorClass = componentClass,\n\t\tadditionalClass,\n\t\tblockClass,\n\n\t\tbuttonUse = checkAttr('buttonUse', attributes, manifest),\n\n\t\tbuttonType = checkAttr('buttonType', attributes, manifest),\n\t\tbuttonIconPosition = checkAttr('buttonIconPosition', attributes, manifest),\n\t\tbuttonIconUse = checkAttr('buttonIconUse', attributes, manifest),\n\t\tbuttonIsLink = checkAttr('buttonIsLink', attributes, manifest),\n\t} = attributes;\n"})}),"\n",(0,s.jsx)(t.p,{children:"New usage:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"\tconst {\n\t\tsetAttributes,\n\t\tcomponentClass = manifestComponentClass,\n\t\tselectorClass = componentClass,\n\t\tadditionalClass,\n\t\tblockClass,\n\t} = attributes;\n\n\tconst buttonUse = checkAttr('buttonUse', attributes, manifest);\n\tconst buttonType = checkAttr('buttonType', attributes, manifest);\n\tconst buttonIconPosition = checkAttr('buttonIconPosition', attributes, manifest);\n\tconst buttonIconUse = checkAttr('buttonIconUse', attributes, manifest);\n\tconst buttonIsLink = checkAttr('buttonIsLink', attributes, manifest);\n"})}),"\n",(0,s.jsx)(t.h4,{id:"included-keys-in-props-helper",children:"Included keys in props helper."}),"\n",(0,s.jsxs)(t.p,{children:["You don't need to pass this helpers if you don't want to override them because they are passed using props helper.\nThis is true only for the passing inside the components. For the block you need to pass them manually.\nExample:\nBlock \u2192 Component - need to pass ",(0,s.jsx)(t.code,{children:"setAttributes"}),"\nComponent \u2192 Component - no need to pass ",(0,s.jsx)(t.code,{children:"setAttributes"})," or anything that you're not overriding."]}),"\n",(0,s.jsx)(t.h2,{id:"php-changes",children:"PHP changes"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Migration time: ~30min."})}),"\n",(0,s.jsx)(t.h4,{id:"props-helper-removed-from-blockphp",children:"props helper removed from Block.php"}),"\n",(0,s.jsx)(t.p,{children:"Remove props function from Blocks.php class and the accommodating use call on the top of the file."}),"\n",(0,s.jsx)(t.h4,{id:"props-helper-properties-changed-1",children:"props helper properties changed"}),"\n",(0,s.jsx)(t.p,{children:"The same as in JS, and replace Block with Component method."}),"\n",(0,s.jsx)(t.p,{children:"Example 1:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Old usage: ",(0,s.jsx)(t.code,{children:"Blocks::props($attributes, 'button', '', true)"})]}),"\n",(0,s.jsxs)(t.li,{children:["New usage: ",(0,s.jsx)(t.code,{children:"Components::props('button', $attributes)"})]}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"Example 2:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Old usage: ",(0,s.jsx)(t.code,{children:"Blocks::props($attributes, 'button')"})]}),"\n",(0,s.jsxs)(t.li,{children:["New usage: ",(0,s.jsx)(t.code,{children:"Components::props('button', $attributes)"})]}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"Example 3:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Old usage: ",(0,s.jsx)(t.code,{children:"Blocks::props($attributes, 'button', 'new')"})]}),"\n",(0,s.jsxs)(t.li,{children:["New usage: ",(0,s.jsx)(t.code,{children:"Components::props('new', $attributes)"})]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"help",children:"Help"}),"\n",(0,s.jsxs)(t.p,{children:["We prepared a couple of regular expressions (",(0,s.jsx)(t.em,{children:"regexes"}),") to help with the migrations."]}),"\n",(0,s.jsx)(t.p,{children:"Swipe props helper in JS:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"\\{...props\\(attributes, (['\"]{1}[a-zA-Z\\-]+['\"]{1})\\)\\} to {...props($1, attributes)}\n"})}),"\n",(0,s.jsx)(t.p,{children:"Swipe props helper in PHP:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"Components::props\\(\\$attributes, ('[a-zA-Z\\-]+')\\) to Components::props($1, $attributes)\n"})})]})}function h(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},28453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>l});var s=n(96540);const o={},r=s.createContext(o);function i(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e8ce9e6f.cccdb810.js b/assets/js/e8ce9e6f.cccdb810.js new file mode 100644 index 000000000..96d2c3171 --- /dev/null +++ b/assets/js/e8ce9e6f.cccdb810.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[76718],{24197:t=>{t.exports=JSON.parse('{"tag":{"label":"classes","permalink":"/blog/tags/classes","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/classes","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/e97e5233.a75deb19.js b/assets/js/e97e5233.a75deb19.js new file mode 100644 index 000000000..1119099d1 --- /dev/null +++ b/assets/js/e97e5233.a75deb19.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[57594],{11574:t=>{t.exports=JSON.parse('{"tag":{"label":"eightshift","permalink":"/blog/tags/eightshift","allTagsPath":"/blog/tags","count":17,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/eightshift/page/2","page":2,"postsPerPage":9,"totalPages":2,"totalCount":17,"previousPage":"/blog/tags/eightshift","blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}}')}}]); \ No newline at end of file diff --git a/assets/js/ed133f89.4884b168.js b/assets/js/ed133f89.4884b168.js deleted file mode 100644 index 37f8084c8..000000000 --- a/assets/js/ed133f89.4884b168.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[25186],{20354:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/blocks","page":1,"postsPerPage":9,"totalPages":1,"totalCount":5,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/ee4eba04.facb6445.js b/assets/js/ee4eba04.facb6445.js deleted file mode 100644 index 47ad5f748..000000000 --- a/assets/js/ee4eba04.facb6445.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[67743],{97328:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/eightshift/page/2","page":2,"postsPerPage":9,"totalPages":2,"totalCount":17,"previousPage":"/blog/tags/eightshift","blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/ee85e3b6.593d95cf.js b/assets/js/ee85e3b6.593d95cf.js deleted file mode 100644 index d645c1da0..000000000 --- a/assets/js/ee85e3b6.593d95cf.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[17668],{35291:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/eightshift","page":1,"postsPerPage":9,"totalPages":2,"totalCount":17,"nextPage":"/blog/tags/eightshift/page/2","blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/efbb6268.541b9db7.js b/assets/js/efbb6268.541b9db7.js new file mode 100644 index 000000000..9ac97270d --- /dev/null +++ b/assets/js/efbb6268.541b9db7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[8264],{12382:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>n,metadata:()=>a,toc:()=>c});var s=o(74848),i=o(28453);const n={title:"Initial setup and first steps",description:"This blog post describes how to set up Eightshift Boilerplate theme, and covers some of the most common issues that may occur",slug:"initial-setup",authors:"obradovic",tags:["eightshift","boilerplate","setup"],hide_table_of_contents:!1},r=void 0,a={permalink:"/blog/initial-setup",source:"@site/blog/2022-01-20-initial-setup.md",title:"Initial setup and first steps",description:"This blog post describes how to set up Eightshift Boilerplate theme, and covers some of the most common issues that may occur",date:"2022-01-20T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"setup",permalink:"/blog/tags/setup"}],readingTime:2.595,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Initial setup and first steps",description:"This blog post describes how to set up Eightshift Boilerplate theme, and covers some of the most common issues that may occur",slug:"initial-setup",authors:"obradovic",tags:["eightshift","boilerplate","setup"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Components and blocks",permalink:"/blog/components-and-blocks"}},l={authorsImageUrls:[void 0]},c=[];function u(t){const e={p:"p",...(0,i.R)(),...t.components};return(0,s.jsx)(e.p,{children:"As is often the case when trying out something new, you might encounter some hiccups. You're trying out our Eightshift Boilerplate, but can't get it to work? Worry not, we'll go through the setup and the most common issues that may occur."})}function h(t={}){const{wrapper:e}={...(0,i.R)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(u,{...t})}):u(t)}},28453:(t,e,o)=>{o.d(e,{R:()=>r,x:()=>a});var s=o(96540);const i={},n=s.createContext(i);function r(t){const e=s.useContext(n);return s.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function a(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:r(t.components),s.createElement(n.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/efbb6268.57905df0.js b/assets/js/efbb6268.57905df0.js deleted file mode 100644 index 8997d5fa1..000000000 --- a/assets/js/efbb6268.57905df0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[8264],{12382:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>n,metadata:()=>r,toc:()=>c});var s=o(74848),i=o(28453);const n={title:"Initial setup and first steps",description:"This blog post describes how to set up Eightshift Boilerplate theme, and covers some of the most common issues that may occur",slug:"initial-setup",authors:"obradovic",tags:["eightshift","boilerplate","setup"],hide_table_of_contents:!1},a=void 0,r={permalink:"/blog/initial-setup",source:"@site/blog/2022-01-20-initial-setup.md",title:"Initial setup and first steps",description:"This blog post describes how to set up Eightshift Boilerplate theme, and covers some of the most common issues that may occur",date:"2022-01-20T00:00:00.000Z",formattedDate:"January 20, 2022",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"setup",permalink:"/blog/tags/setup"}],readingTime:2.595,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Initial setup and first steps",description:"This blog post describes how to set up Eightshift Boilerplate theme, and covers some of the most common issues that may occur",slug:"initial-setup",authors:"obradovic",tags:["eightshift","boilerplate","setup"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Components and blocks",permalink:"/blog/components-and-blocks"}},l={authorsImageUrls:[void 0]},c=[];function u(t){const e={p:"p",...(0,i.R)(),...t.components};return(0,s.jsx)(e.p,{children:"As is often the case when trying out something new, you might encounter some hiccups. You're trying out our Eightshift Boilerplate, but can't get it to work? Worry not, we'll go through the setup and the most common issues that may occur."})}function h(t={}){const{wrapper:e}={...(0,i.R)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(u,{...t})}):u(t)}},28453:(t,e,o)=>{o.d(e,{R:()=>a,x:()=>r});var s=o(96540);const i={},n=s.createContext(i);function a(t){const e=s.useContext(n);return s.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:a(t.components),s.createElement(n.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/f162eb70.ea847cf4.js b/assets/js/f162eb70.ea847cf4.js deleted file mode 100644 index d63fba534..000000000 --- a/assets/js/f162eb70.ea847cf4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[26984],{55261:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/boilerplate","page":1,"postsPerPage":9,"totalPages":2,"totalCount":17,"nextPage":"/blog/tags/boilerplate/page/2","blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/f6aef24f.b70ca5d0.js b/assets/js/f6aef24f.b70ca5d0.js deleted file mode 100644 index 6a22ea460..000000000 --- a/assets/js/f6aef24f.b70ca5d0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[27879],{69221:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/cpt","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/f7aec19e.606d4612.js b/assets/js/f7aec19e.606d4612.js deleted file mode 100644 index e77600d14..000000000 --- a/assets/js/f7aec19e.606d4612.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[72530],{49017:s=>{s.exports=JSON.parse('{"label":"terms","permalink":"/blog/tags/terms","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/f7b99134.356303ad.js b/assets/js/f7b99134.356303ad.js deleted file mode 100644 index cddf95a13..000000000 --- a/assets/js/f7b99134.356303ad.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[44574],{52182:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/query","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/f880b41b.16403589.js b/assets/js/f880b41b.16403589.js new file mode 100644 index 000000000..ea15c1a1b --- /dev/null +++ b/assets/js/f880b41b.16403589.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[56142],{74943:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>l,contentTitle:()=>s,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>c});var i=n(74848),a=n(28453);const o={title:"Block Variations",description:"Intro to block variations and examples of how to use them",slug:"block-variations",authors:"obradovic",date:new Date("2022-09-07T00:00:00.000Z"),tags:["eightshift","boilerplate","block","variations"],hide_table_of_contents:!1},s=void 0,r={permalink:"/blog/block-variations",source:"@site/blog/2022-09-07-block-variations.md",title:"Block Variations",description:"Intro to block variations and examples of how to use them",date:"2022-09-07T00:00:00.000Z",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"block",permalink:"/blog/tags/block"},{label:"variations",permalink:"/blog/tags/variations"}],readingTime:3.035,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Block Variations",description:"Intro to block variations and examples of how to use them",slug:"block-variations",authors:"obradovic",date:"2022-09-07T00:00:00.000Z",tags:["eightshift","boilerplate","block","variations"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Using Custom Post Types and Taxonomies",permalink:"/blog/using-cpts-and-taxonomies"},nextItem:{title:"How to use ACF in your project",permalink:"/blog/acf-in-a-project"}},l={authorsImageUrls:[void 0]},c=[{value:"What are variations?",id:"what-are-variations",level:2},{value:"How to register a block variation?",id:"how-to-register-a-block-variation",level:2},{value:"Providing inner block data",id:"providing-inner-block-data",level:2}];function d(t){const e={admonition:"admonition",code:"code",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.R)(),...t.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.p,{children:"Let's picture the following scenario: You just created a block with many options and now you want multiple versions of that block available with pre-set options. That's where variations come in handy!"}),"\n",(0,i.jsx)(e.h2,{id:"what-are-variations",children:"What are variations?"}),"\n",(0,i.jsx)(e.p,{children:"Block variations allow us to override default block attributes. We can select a variation from the block list with all preset options instead of manually setting them."}),"\n",(0,i.jsx)(e.admonition,{type:"note",children:(0,i.jsx)(e.p,{children:"You cannot add new attributes in variations. Only attributes that exist in the parent block can be used."})}),"\n",(0,i.jsxs)(e.p,{children:["For example, we have a ",(0,i.jsx)(e.code,{children:"Card"})," block. If we want to use it for something like downloading PDF files, we may not need image or paragraph components. A simple text that describes type of the file, title of the file and a download button are all we need in this case."]}),"\n",(0,i.jsx)(e.p,{children:"Our new card should consist of the following components:"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsx)(e.li,{children:"intro"}),"\n",(0,i.jsx)(e.li,{children:"heading"}),"\n",(0,i.jsx)(e.li,{children:"button"}),"\n"]}),"\n",(0,i.jsx)(e.h2,{id:"how-to-register-a-block-variation",children:"How to register a block variation?"}),"\n",(0,i.jsxs)(e.p,{children:["The process of registering block variations is fairly simple. In order to register a block variation, go to ",(0,i.jsx)(e.strong,{children:"src/Blocks/variations"}),", add a new folder, and let's call it ",(0,i.jsx)(e.code,{children:"card-resource"}),". Inside that folder, all you need to do is add a ",(0,i.jsx)(e.code,{children:"manifest.json"})," file. It is also recommended to add a ",(0,i.jsx)(e.code,{children:"docs"})," folder in which you can add a readme file and storybook file."]}),"\n",(0,i.jsxs)(e.p,{children:["Inside your ",(0,i.jsx)(e.code,{children:"manifest.json"})," file, add the attributes to define the new default attributes for this variation. Here is an example:"]}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-json",children:'{\n\t"$schema": "https://raw.githubusercontent.com/infinum/eightshift-frontend-libs/develop/schemas/variation.json",\n\t"parentName": "card",\n\t"name": "card-resource",\n\t"title": "Card Resource",\n\t"description" : "Card variation without image and paragraph",\n\t"icon": {\n\t\t"src": "es-card"\n\t},\n\t"attributes": {\n\t\t"cardCardImageUse": false,\n\t\t"cardCardParagraphUse": false,\n\t\t"cardCardHeadingSize": "regular",\n\t\t"cardCardButtonColor": "blue"\n\t},\n\t"scope": [\n\t\t"inserter"\n\t]\n}\n'})}),"\n",(0,i.jsx)(e.p,{children:"After adding this code, your new block variation should now be visible in the block list. It's that easy!"}),"\n",(0,i.jsx)(e.p,{children:(0,i.jsx)(e.img,{alt:"Variation of the Card block",src:n(49414).A+"",width:"252",height:"125"})}),"\n",(0,i.jsx)(e.h2,{id:"providing-inner-block-data",children:"Providing inner block data"}),"\n",(0,i.jsx)(e.p,{children:"Other than overriding default attributes with variations, you can do much more with Eightshift Development kit. If you have a block that uses inner blocks, you can even provide inner block data."}),"\n",(0,i.jsxs)(e.p,{children:["The following example is very basic, but it will give you an idea of how to provide inner block data. It can easily be reproduced with our ",(0,i.jsx)(e.code,{children:"Carousel"})," block if you want to try it yourself."]}),"\n",(0,i.jsx)(e.admonition,{type:"note",children:(0,i.jsxs)(e.p,{children:["If you don't have Carousel block in your project yet, you can add it with the following WP-CLI command: ",(0,i.jsx)(e.code,{children:'wp boilerplate blocks use-block --name="carousel"'})]})}),"\n",(0,i.jsxs)(e.p,{children:["Once you have the ",(0,i.jsx)(e.code,{children:"Carousel"})," block up and running, create a variation called ",(0,i.jsx)(e.code,{children:"Carousel Loop"}),". For this variation, we want the following:"]}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsx)(e.li,{children:"loop"}),"\n",(0,i.jsx)(e.li,{children:"pagination"}),"\n",(0,i.jsx)(e.li,{children:"two images per slide"}),"\n"]}),"\n",(0,i.jsxs)(e.p,{children:["We will also add some placeholder images so you can immediately test the Carousel block variation. Here is the code you can add to the ",(0,i.jsx)(e.code,{children:"manifest.json"})," file for that variation."]}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-json",children:'{\n\t"$schema": "https://raw.githubusercontent.com/infinum/eightshift-frontend-libs/develop/schemas/variation.json",\n\t"parentName": "carousel",\n\t"name": "carousel-loop",\n\t"title": "Carousel Loop",\n\t"description" : "Carousel block variation with loop and pagination enabled, along with multiple image blocks with placeholders. Displays two images per slide.",\n\t"icon": {\n\t\t"src": "es-card"\n\t},\n\t"attributes": {\n\t\t"carouselIsLoop": true,\n\t\t"carouselShowPagination": true,\n\t\t"carouselShowItems": 2\n\t},\n\t"innerBlocks": [\n\t\t{\n\t\t\t"name": "eightshift-boilerplate/image",\n\t\t\t"attributes": {\n\t\t\t\t"imageImageFull":true,\n\t\t\t\t"imageImageUrl": "https://loremflickr.com/400/400"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t"name": "eightshift-boilerplate/image",\n\t\t\t"attributes": {\n\t\t\t\t"imageImageFull":true,\n\t\t\t\t"imageImageUrl": "https://loremflickr.com/400/400"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t"name": "eightshift-boilerplate/image",\n\t\t\t"attributes": {\n\t\t\t\t"imageImageFull":true,\n\t\t\t\t"imageImageUrl": "https://loremflickr.com/400/400"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t"name": "eightshift-boilerplate/image",\n\t\t\t"attributes": {\n\t\t\t\t"imageImageFull":true,\n\t\t\t\t"imageImageUrl": "https://loremflickr.com/400/400"\n\t\t\t}\n\t\t}\n\t],\n\t"scope": [\n\t\t"inserter"\n\t]\n}\n'})}),"\n",(0,i.jsxs)(e.p,{children:["After adding this code, you should see the ",(0,i.jsx)(e.code,{children:"Carousel Loop"})," variation in your block list. After adding it in the editor, the ",(0,i.jsx)(e.code,{children:"Carousel"})," attributes will be already set to the ones you provided, as well as two images that are added as inner blocks."]}),"\n",(0,i.jsx)(e.p,{children:(0,i.jsx)(e.img,{alt:"Block list with variations",src:n(98934).A+"",width:"321",height:"257"})})]})}function h(t={}){const{wrapper:e}={...(0,a.R)(),...t.components};return e?(0,i.jsx)(e,{...t,children:(0,i.jsx)(d,{...t})}):d(t)}},98934:(t,e,n)=>{n.d(e,{A:()=>i});const i="data:image/webp;base64,UklGRooVAABXRUJQVlA4IH4VAABQaQCdASpBAQEBPjEYikQiIaEQmKzQIAMEtLd06CwYMAo/2Rfo/7xgD263I/zAcAB+pv6edh/9mfUB/Hv63+uHvO+g39YPYA/mH+M6zv9sfYA/hn9i9Lz9vfgr/a79p/gL/mP95/++tV+Nv7L2af1D8bf3X9ae9r3j9aP7F/x/Ug8bXRH839Cv4x9PvqP9Q/XP8vfj7+v/iX6K+oD8gPgC/FP4h/SvyR/sf7VcgPKr6gXqD8U/qH5Nf439yvYl/VfxA92fqL/Xvy8+gD+F/xr+w/kD/dP/z0oPhPsBfx/+Y/23/AftV/eP//9rP71/jv8f+43+R///vQ/Mf7Z/pv8H+537//gL/Gv5X/g/7j/m/+F/e////4fuI9hP7d+xH+tn37CD6zaN3WYCK94x0az6G6UL9zUjOWlgklkvRFlTNJKnnUGYjfXkBoZ7AFsMX3JittGEt3kQyYzlGXj9+ws9GFJU89PvWVVM2izSSp56fesRss36Ls2ds0Q2u/6blLbUes2wzHV03veYQviFobIGckh7f9v/q+CpcizwlLZ039QqJsPRDp2WjHNv5h+yXARDUv6LAcx/tAYZIN7QBfgOhwAo4qobMkvjg5eKUyZng5I/j+U7VwMcyuHEmK804Ik0IKZe0SbXKMwcYRdsCpmUwrEQraiesDjFRwmN4Qn6EjvisWpMGEyt3iPHmx23rphTazeNNF4DqmoONAwVwFtqrQn/Ft8LO7uCffl2TasebfGnZ9oP/RLI3coklT0jxbDSH61LKLH6smu1IlmmnDgJxh5HpzazwcXdSL94DQW4qKDaInLj1cK6y7BnA8Z55SzIffLgVFhawGJkk8BYQNMbo2iMImEqUr4w7LfNigcvcUaqRutghCtha64mOV5bdgWlxh5hec89gktre67hPI6Yp0JKA7Hk4XAVDK0KWXbvhrJ5zwfD8mVe1a6smXppD4flDwLtPoRTehWDirJAUMCHmhp1jMZQDxrePUAQRctjQd+2bpsLbIcGbiRDD+sXQ+ACx4ZXafuoMG/xeyfzp1MDTlQuYingbWZvv9eA0EG5t8gmNf44vvZOs1gZPp96ymNOXrd99VKxefe4Us+BEDgVP4WVM0kqeen3rKmaSVPPT71jgAD+/8eeuvaAeIRnbqxU1zLnZhk96Rag4lpofeDfMAgSOwu2FFKvmh5bRB1yHaptsCInR3QiBIUtXKv/d1ewKg0C0M6+zU6xMaDTJvx9i7X55/cdAHeTGxM385cwot1gr7h6UqzZ/LtePbUKeh7s78bkAW1CCdUd6ynU4CtRIejZuoDxtVb49tMN22EmAZ1MyjNw/rbLJyqwSeN8NBloYxTH/HcqAjWH4/iWfE7V+YvArnVnBoHMZ/TPoovRjMIhoRd71mKwPZA2zuf/LWxkP1gI3jd/77MPDLQMP3M3L/sSMvJu/dFUKHCWiY0bix8M2xzvG5kJz5ZX3xQ4o/EiPT3F1bO39LAZrEO//sb3EmasiWjDnspiqWXCUjlx75+nLoGpAAegrkSvyYb6dKyhHb9X/6jqlOMBaCDL1kgv7/ZD0/Lgd+6JyQMWQmbYC//efYPfgq6QkU9gvAMLzi7hmziuMDzdrjQqIP77d/s9riwOcbI/BLgM8qtPSJdq1JMB12wQgrUKeLPtm9OK6yk+C2INFpRNYbFMPZYA7R4D898V3HMod4Vp1JP7X7vYhZVK8qEd1hpIdu9RmmQ9TCBfnAUBYoByn4TIRQbWQzHg9zLWBxXQMK8JouRZCM7Kv2yQJwfX27ry8CYa8Y19uBsJzDPh451i5/bl/yrJ4RX4qzIXowrszZ292jUTcULLCZfrds0TKLwzK5aQKFbx2N/324LlYYa0npiPKqQKY/QQJr/g+AP1JTESD9chbbed7UGQABNqHzWFf11qyZJ7O9W64iUShjkSHYsiX8kzU4/577zkUx0+kdRpfxvyTZCqZEe6gR69T+eWXUxQT5n9wAsoGd0bo5mbi1VIhl2f+dVjy4YYjmTKii/MzOP5Z0JVL2cTMHX0/RUk3rul+nbyU7qC6jS8BIScbLnKLxY2AGbOnfwx2F5V1hhTVZJZotGj9ziRFJwt/xRXm636uGbxBUmeD3feazg+JiNA7z52hmV8N/yv//Mc39BxZWJBXRfDUATmtF2aa3E6yJH+Zu98if2QWmtUJ9U4G9/XqfHh0M8RdS/cH1+nuuRFWaMLBVg+VXb7nqhSq5F28DmhtR0XLE0kmer/OdEO3ISht/xR+lC13KXJUoytOONBtP2O6p4CsYDlIQ/sKyWQYHWGVu9P02HmsBsDwwAm8MW1bXDeZu422P3QSUzitds2Ul+1OUsPfiUM9PW5He63FbCIEWclwgpExM3R2NAvyUr0GdUyq5uVGku5GAU44fZNiZIy2GXAUj/zswikN0ckyNy74DN0EQGxkT3Pl6nz1v4BXfsY40KyUuoN0Kk37fS4rhKGqdze1e9rVcaQdP3rZA7KX76Vw8DLyuQapxmi7SvpkAML8tS+A5IU+h9veS/SEVk5RZa0lFAfWOLnJESnB+WHsq6SezP0pAZpJO7rMuSDiLOpQT47q5xboxX2n94Ums7UuRHVUraMjqUDn5bzr7IZI2N8ycA4Floc8VYTIn5Yulr71pXN7rHzsuQPFr4+rI+57fOhrpIbLQEF6ByYYa9OjMaym2PAmuYG1DDVjU2oQcRYetMOg5K9MmbAVPTdoQnHt5z9vIFKw6woHejY0otbhfxfZvchaP3Q84Ph3GXEHYqtHgeX7CINkYpT2UzGdkWvqPe78LeqgdH2icJGNhV3zKowRpcR5zy8p8VoSu7VqQaUxzYlG80jivkI2+cwjtnFzJ5RKOWb8k43am+U8rJXwEIxixDrken78QHACucqdvJPRWtQ8VJutCF/D2AOyMkT6wknUli1XJuxUpDPoluuf7SfOmXWNejKFHs3yDOQOm4SM+b6Q0OIQ7YG7ApbTqNt2Xixx9tZ9d3tiC08uQlur4E32JQNEt9bXZ7esg+uBo+FWQkP/+IB+F9eV9BGft+PPZqNwClCss9wJqdAF7wEq4Mq34Sy7uV5OnGfRPi/bmpHfupIOsEAPnZKW4aYxAQu2NSMk1/jRZtRXbnCbv3Tvjn1YxckBFLiKK5I+WOJP+WQZ1jwh0yCXOkXJSlds1BTuAaE6Z2rCSOjmCAzHRADz7z5IhBY2U+Dcgh+P53SYcREWHqzpCof9YEmeBx47j2GzlOdVyuJrtqQ0Egq4L9dVS0qpaVeu5N06gG1Rbx3sk8G4QetOCRiMSqQEmKa3DWEZoY/o74yBrERr3d71X0Ub3zr/1O4TY66sIFl/2ihwBaNqtjQRKN1xv2ibHpltkyGfbj2w0SieNktv7/1YvKNcmWZvYe9JF495gax5hS3+7aLeIAt6MsuDBZwVF7fbr2sFUIOL4UoeMe5md571ws3Jdo7hGP/bjOGXP7wWSFAktmFKCIkJWvij7RdAyzABJkaTVhgACfxsB3JrbnFoUvzcaDli3lfOCBSyRfyibg8p9sg//SQeQdMRzPyirsKFNKajcz8FfkmPZpf197BZPYT6v2dsKurDILjkGIuET2922QSjxZYaD+kZqol8ngRr9yk28u79AZKh01ykMVUaAZGjSNaUZwHMVNnjQZuFC9Mz4xSHYYe7RIFCMwWz4G4xa6VE9grv09upo3uPqjKvr2MLP0e1LDl+6GlIS9gZJQSZlozvD4gajkgkfz3AlREjlVcDAlfGU6/qTUj5EGOYJlbL8Fvu1tS3syPt8DCKXEwH7URfadB6V5QsOqPFxsLz/0tubojN4XWS/eZcRpGABg4QHI4TBKa//pXZPcE3nSF2tPNm2Rh3De8i3BjeKi3b88WPjD5fuEcIwadx5UxQ9lB01okI5t6Gn5h6xrDJcbblXtpBQEwszmZte82fc+DWFJdxIJ65R6GiNeRNOznb23LSo9Hnt342er/4rFPJi0aO2qV7RSpJvA9LjWrDmJMdsymNVfvApRvcL4QLgAO557mqte7iIXFbiPn8g8XUvW8r8hu+vYYZHupO3smrlusXbGdOQOxmqv5kWI2tLfHd5d30iNLhY/2/mF709ururaM/JtGKMeIXnY5/T0K+WEtCR0AfR+033/78CI/17pZDmnDhc/sZfqy20sNYXDH55byxVMRfCvXK2qwGex/vdCTty+W2Uo2ymu7Ik+EanmOiWieLOXRpQnTS+vKSCwC+yDmccSZleJKrhJ4JjlcxoGfn0tWTKeu9aaB5s6AnNkHL2zslGolB08kJnbvf516yN6IO2UQ2Ah2LB63AomG8j1GqZs2BpEfmXAjSWJBsnJavZOR3iRo8bDAn08sPsG6vHmqsitp1FA6vql+r8nqL5xeaqcz7OO9xjIjy3f2H7AX+nDdT60xAV3xmtx9xPJy4BbhJ1kBxqEdMhjmFc6XG/J/xsu7CSYOF+bRnVDeQVa9MutDA1rtaAr2cOkF87y0mcWOoYDKtSfx/+cIcf5OeOzG1oP4ym7hRo2eXCOitlhdUF2v2SqRBfH1AGxUBA+jOBctJBxK9hXkp+LRt/NbJ7mMnVHIDjBVrAFG6p0+Kig2R+PgJAFN6HaFKw/+3XbNlJfsnW2TVkJCc3veJUXcgrxxHHp5k592YGqlTGUbQtl1Ug2a49lvT9NI3hiy6KJ+YX5nYd9g2rQh1pSNtDSpyocnPfQUU4R2qFf+uH5ZIA2dfq3Rvawf70HlwNXXqXnPw3BpPLispsQKpjcr1VtK3BqTYFG+plnQWussEv3AHd1GW8GU7EtVBYKsebobzgj9/8+euC7Hgdka3Rzy6OPbamMnO36P871pSuq2fM5qhhFOaj80hGW4Vz9MZa7BHji/bX/9PI2VAqls3fPrp1JE1IJFOJAFtTupu4gjx6LAaS3L/NpeS2pWIYcB9Vm1f4oA6eaXjxKZC0mQnmMzyX8lZGuCVqkbH9C+jX1j4a4EfKGwr+YYmGpZGE20a4Wn5sd/ShHkipCBFTOoQlFOOPFbunZbTeuJy3a4rA3CSIbg36cF/rbMZzjmccftfprGxfgdHvlmJz/zOHIIRp4sqUz2Hx30D1GdVZfMCWtiMeX1q2fUXpc6OdEbwM7/zF+rLycn79em+wWn/kFEa5eXsrcC5XIARwl3cjAuS9kAR5vCxmsa/wOj/U6kKb0r13tYPuXhoC/Zu/noOCO8k67KnSV0fi5329hOpQyQdE7AMWoaiqc1kpysUzEW5b//R7MfsP72m4CoZbiHnSYvd6jeI3Nfg3Oa12AVhvPi4KxjDRUOao0KIQj0fB9hLhV/nmJ6lDY9VqFOjAQvlTbG6oJWbqLSLXyrahTMFNj9M603nhQvMqne7y8BBT31b2xNnvwZ3R97j0a3ao8TUu4rGSgmTobxnKbPl9ALSOsSErqEde+acKHtngMQm/CvGKhw+re2gEbq92qS28+MfTDjIktrc/4c7ti5jwZe507uZzkmus3dkLqNxRVYxK45Zu78U+UsKO9YKy2lPw3NRwe4K/RouF8MupeekYjjeBXRL3NQoeSecYQuqvnl6LEB0HBabBip+OSnqGpZlU9lHdhNcBfTw3X/OvqWK3bJtz1i5ki4UczAkcnivcReOb967kJNDULroIBmgBO2beSl4Fh01quU2iOf8bIjndPkJXP7EzKMxr35+oQ4eyFgPcgOt37J5QM5RKhlRQ/+voOhWkKtj/CFUhIBCMfEm4ZphBuGg6NDZ8VNEX8syp7AFqXXRIWHIiPOohZ/WKjI/JHmynQ9AHDnZa2hWyEWaATY+BF807ZbktWiN8/0kJBi8kB7+MkMo/pHCHScUMDwdQtFqOV9vaftE6IOYY+I7scMs0Vu8wSalQ5XCCpVpywgpWH2YyC2l9qMPvDtl6adJZeYaX0AUIjvlbjU1mQ5vJcl0azrSe5qsn0OFeXWuIAX1Zoi0WOACY27jWU3m23yIraiXEO54216qq0n2TAblFgNXBmbU1945TgnWoverTpcnTwZnZAwY5BO5rge4V0YG6Sv2EjBvN1WKEJOVpoAkclAFF5LoD43XNX8HlKMQGdwgwBmIcq4SLke1Nz2Kj3+8bw4Whnl1r375GCiC6gcTD85554oeQm2g4YfRXeMnnCV05YgyNBaV9X4+Ca35u/RuLVfued5RCpkj3hi2kKuMPfe1Oe5LD9+CJTJgdvDsBkd6DlBZoFGj3J8QiaZZy83JQaM9YZcoJ/qvA0kei1y17bf+DgOS/GSue7cCho9Fxay3CK/G06rdTuop0yGXqnfOxYE3Fo+bodoW9upOxRK5YUvdPh9HXMY1CzOVqLxXMZez3uqP+DSFt/iS+3hKMa1ocvmPCZYvzOdobLIrPom8YZKg5G4w9xmCwsmdb4upie7EMBbA0c/z+Q0Qzj4iy033V1tgRasO4gL9aK/5tetXekKT8ch56X+uvrwMIV4+NzE0qyVhPH1ABk95eOzybwT4LNbnAa6ZMNQVkMwmQ+CH06bOO0EPgCojea2UAhgsWZTgL+OwHl57DW2UlQEHDv2uwBEem/hBK7tIWBD9f5GeRexx33cvyNXPhfwgDbsh7MbSlKFP7gxnfert1lQb6KQF4Oeb0JU2+qh0Fv2UWSr0bz7HCIcY9Ue085SRNeASM7ouvP/6ZBNQhNiXK3lPnQ6/zgHfPN35VkGiHuOb8gcAPkopDuxh5si7sQfYG3FhDW0KHbuEhf/z+YPJXsUo3uXoP6kb4qG41l03+sVGnid7h1zwW7oc0k04Ee3MlLXDNsRa+SsmoDYtgP97qUXZF8Tz9SDcZvap76GMrUliHjolLseP07OqiJ+T7q6leFlSlosxuqXv1MDs21b/HZxtF12mb7IfOCDyu+nWgxzZ9gi6+cs9W4gHL5v6qPLBVQuLibw5iozo+26waw+BPKXpdQ5oxD2n9ud38m2e7FTTBPtFtCbqVerCFWnXfz3GZKEqNDx+e6Okik9/BUGZ/ELmIZ6HqDVhdPDLQdVMoC24g4TqLhg0oZiDRzR4mFLCCP954CUlO6cb6X+VJ3UZ+dfRoPGXW5m5A+lmCgD9vnfAe2AUzFlMYAxLUUDeix3+b1f2ZRYWTToYOI+OO4ALU2c7Qy0sV3HkN5zCiyyQmZ1XZ1tb8MNG9TU8NcxDvbUp51/Oels2zcdC3DpuPZ6pt53s0BF72PcbXUZUCd/NSoEMV3gOuWOGVR2IHdak4BxZTev1D8hz6yXB1Re5sAvyrnbXRVGGhLABgbNPOPgBHfaKhdYAhjwVVMXhqHCravv8SbeqMqCzJ08rlqMqE5Ltf7FmDGxpT905TqjLssP7iqPbQz9AAAAAAA="},49414:(t,e,n)=>{n.d(e,{A:()=>i});const i="data:image/webp;base64,UklGRvgNAABXRUJQVlA4IOwNAADQRACdASr8AH0APjEYikOiIaETKZ0gIAMEsbdwuaMgDU1wE6f+lfkR+3f+76prk/wN+zPRXlZ7Fv1H3FdonzAP0q/zv9E6y/mA/jP9t/a73h/Q3+qX4gfIB/Mv7L6RnsAfrX7AH6gemV+2HwV/tN+z/wHfr1/6NaB8L/z38UO9b+o/j55y+Ejwz7Uf1v1+P2bvA83/5b0H/iv1Q+3fk//bP3c9/vtV88/Ub6gX41/Fv7D+TP5i+1XspKx/5D1AvW759/e/zO/w3oRf13on9UP9d7gH8j/l3+Y/Mb+t/IH+X8IT6P/pP8l7gH83/r/+9/wX9y/a76R/3D/o/4H/Oftp7O/zT+yf87/G/kl9gv8p/pH+1/uv+a/8n+c///iI/bT2Vf2Y/+pUvnY58P2CVXVqVan1L5MGTVueHHjiiUA48TlWpEgDn+XvafxdbnW8z08gpLZBDWw2a4Nj7QCYfHs2vY203U8zNDY5ekOhnYB5+V1AF7u/Pbp56bZVBbUkafv1Ru8tQL4uFplSIGXX+zmfDRCLOzacIxJV3rfeO25GSp6nm+P/xTTMxdmrZLFm8JuRe5wVlIZaY8iUSEYEGFOYeNgHxbzMrlJjbc3iGma+AMWdG3uGvcQvWGEInnCAT5RPZs2m2nc2IYQQRDVrbqUBJs12fvaE6Tw68smpF7iM6rah+SPC0kVhd/ua8AiwIJnXqbU2uZd6TS+FcR6ZF3gn8WNdSWpEgDovQp7Nr2KAAP7/1oZvr3EF/oc7iojIs2XWpt5rGdTYYo7NDEFTDjOV6spDdBSpjcaGvPn0WxOy1f5YexN4vUI2v+dT3mKSLT7O/9C8dnsCiHnkFsP/qwh3t1jOf0fr+b6naHM2DGfVZtUdXyH86zjJ93Q+UUqRn5iUuV51NVaG+FKQTEgxxm2KAi3ZTSE50ezRnuiq+V6xG6MAAZRFgPIyzUfluaQ7X6KkMPagrdh+0sVelglBhF73wj3o29apRF+zqG+Xts8ad/1zRBDY3Ckb5VfdOeZbM6gEetroKb75c4xXw2cEvlYbbTFwnNvNIvSKcIlP/Lu0l/K5bn0DCvYtBcfoW/2nDeOSi7NfhzYg9Iw58TZJbkfx27BfWiGczJ6eZXIpi8/FY/UhBl2rNxWnV7xF/92VxnjtXhWsb2stmyLU89XqtKxS3iWUIVSOg3VF/yEdRmjbYgHrEcD69gXW+MV2y93tV8DhwCwU9mTYWc5tjtWiC572Vi9Y4Gt9Z6GXd4U9dvb6wBhTgr5n4w0os8bxikjrvR0gJAsb6ZebIt+jjyL0Cbug4jIZ+cJyIhBLoheHhm/Bhs8CHgI8aMvJfaok0zJTryefQL1F724n2bBBv/IvZJ7O9dptl+WA483ZU9TtPWQQEw8aPFYi75QFp+IV+frxkhrmMlMA4hEwNDDjnhHPIfjqAbP8FPHixu3dMt+ik1b8fyztdn2bW3ep82OESU+0G/5UDQiOHrDUeN/WUd1nfjJJFm2lzIekVehf+EFdcC63XYPQ1Na8iFaNpsB8H3LB8BtmIfP7fydU/Ibipoult8a1tNpf5CC5UcVYhlC4qqjwlIiCTCUY2ZiKRKiZqb5LZgQtcxdkRdj0TSDdEIL2v0AM7IkE+B8Ax2fS+joHjwF8n4ISDhFEVG5Sj2fDQ1PbH1hmRbReiBOW9Zfj9s7upN1r2olwTTDtE8DHs/U3J8yyERzITZqCb2rIbiApSDHj4E7l021coFgqwZD3ipv8b6bpo9ax8QkOFD1Mi+NkF0E6oowvEUpsRP5ZVD1J6WO9XeWpZ7QbJdoIqRyC/e+sPVyVrYlUF76QaZate33X7AAvT2ybyVajW79pFv9+Nzno1h9uZmgNNLrsRDvzqajTZM4VzJDhS35mramLVC4x+qf/3j2cK8E2swNNwLXNQgC4bV3dA3k6361cFuW5J0uoWkV+9beZV3QnVW+Gt6/fk7T/ob5bwn+b4asuzf6pi9PR+zR5FelrDMhUW8cHtaTU3sdVcdphgoxXX4KFliimzsIZPx7QJSfHSmuEQ1nN0Shh6tjfs0LBWoKGUsyJmJyI00SJvG4QNo0+eWkzUZ51mQNoIBZiN1HvzFfz7NJs6mbuMT6X9u4VlNb6IfGfnAWSvfmKVPlEIo3tBZLOVFI0ykqBMVqJOKBCh5TtL6G8b/F7SdwlXZlnaVvK+7nzDgZXEBnqv3ypzp1m5QFpa5kWVj2Aek/6lRTzix/scMXNt9UivZoJLzU4Js7Eq7LiElSSHnWeznow9ULbzWjUzRppzUixk/rlmfsf5wezX8zZ6jFMGw9TFgzuv21pPilavjD7oAp/+AojdbgrRk43592Yga/uqXIhhHcRZgoDHUL4QRKqOlVx1BxZ+PtC3E/H+LG7CdHKCnIMWliZG5EXrKGRqV+h9SbB7PudNuCp/DTaJ+R0U2tY7DJgUI6hpeal1CF+A0dXaSKA1L+HlksjHcdJGnZSCsTr+ORlmRECIZFCRBaSi8dWAJVu+JeKTmqHIchYjcaMG0Wyp1u3kzNzGumX9TtA6WyVLyeFBQV07AnM0OVY2TPVoe48F0beBS2aLe9Nh73yhspIVaAVANF+wqQvvEWCzeeD+/JieeojP2PAfazZY/RBCc9Nfc4ttCIl0rJt5s0O1iJkMCTnVaRSpfDzCEBZFyEEeUcQY7nd8m6GfEsj9Fr31FErYf2a8ZVRPrnbIaPjRA89OGt+mB9yAjmwUDmB0i45HPa2FhAq+QYNmsRgBheMU4kZz21VXdQl69v/HxZ5kqwlsjtaNyGukZV4I/ad2TNuIiVEFRDo7yQgVNt9FW4Y+l6hOsulnFVUUFyqCX3mbyusozruT+d/VbUl4NfSNk9Yhz1jQ0GHASsa9rnXBPMkxbIkboOX4IQchymzwhI0Ijritloog55C+GlL0vAWACkdYLeMfkTdUVfF6Ztw5eneZt0b4eFfCLOW7txbbqEXkvpKrNmnRU5ARuwONbuqA5hXkWDtBqMEU0U4pC5FNb+1+7oOjLyEHYz0dx39LKdENXqehTyPiP1hAjn/pwz+sf4QIQrZ2biJVZit8HWwj3BQUdwRKZm7Sz3vBp95/TRlqQDAo8soOkKw+7oLyE/Vfg5WUaB+340CMvFGiTAWkpnFTbm03lk/9+TAtJ0oq4spsHNESwk4gLb6sFk0os0YaGT3zYKZVhvw+va1y6OmiqbmjvE783o/dDolELlRoLShjTDueqZsyhalgnbt8vz7XJdWBPD6zCvibK5WumPxwq34Fifld86thMeQn2E6xBTuh9PwRROqm3/lhBnKzYnptY1BZW3uAR56ZmTqAXHIL5LfqQqWHyjVHPlSRjBLSD8+dpU1vfh5rD6RcEE2ACbX6bnwng5/Spl/bxAWf7KTw4xPVCqtYdyR0aeGuZmm2XkIUMVXkAhdSW54dsdTjhQoKLIp4rEBMKp8NNrlH8EH74nLK84/WTMKEM7OlRA/gETylg+pX1l+OP1OcJGLbLGejJntJKUJdCmjJ/izi5bVOb0HK1uz+oPxpkK9bbHeoH1gZgfHoST1ckkrXBOOx+rh2vwwIjwMAYBXogZ7fjAM1ntH5nkYayblVpUS1EJJ13sVm8E74RmMVof+48FwoyZgnmMNKpyp3LJsA4jOE5CtVXWJDXJb3Wq2M7RkgLVqUeeil6CzED6PsMUMWTVDECAmk/0/HgeArR5lcAJcWO3rAcJut6+oARtTeiNbP6hFkAK2kYqlupFAeG5d4HVvQv7cwRHSYay34NIEEIV7y2KRDudzCE5WfrW/N8Q5u+hWf+8Xh1aF2RjOnVyZ/09Yb0haLuaDhxpZF9q7JbrGEmh2oTvWmPTHqyG0CHeUiHC7/0zp9B5rMZ4paBV/0MnMzKgV2/011SAdFmgMbrJW6sNeI/y4+J+Aov1R0P95nLYCvngfaTT3JlpuF0dg0rFCamQ2SFXLjnRUr/YaUDXF0VDFPzyKTOpypE3RSTbn4yJ5/cLd4tXz1NKSEVxC4EHWu5AkyBVwtrALKbJ5ALTBFtsYg8muwsJEkmcIKs30hpBFWWruWJrewqJY+gHxH6AqPz8qsOJ0MOTZessnjiqOlCadrCdzpPZ4Uym5Fx7Y4Xkj/EB4w0vxbSK/FcLDGLkWBDTEQmK9prlD+eRt5Xz29KiNG8SPK61wv7iX/1StVXTovhx5OaWv+SK8h/QERqHc+IndYQt3wQ6f/K//bU0oCTxWp4VaIF9No0dP4Z+ex5nP+Or7Z0Z8c2z8aSteoeZpceyuVU/S/apftf97LgH8LBp5Yjm9TO9t6mptvT7SEz0m8YG29S/RI4kcAGlGDyjg1qWCzDYFCDkPvyoOMeRui3MVOBI9FjRlUaVbAmkiuHN/697kW/+OKQfZcjxaXs0Vo6CGBggLptEkaqPVYYuOlyZIgqtop6ydTgmTv0uOJBUkMgTruWiMFBUtY4s4sh7q/fri+gQwqpmRayXX3rVQzky0wRVrZzUJxinblW/pwU4gUXvB4W0kBaRjDZuCBY8zRjFjH0luAvwwHEgabM+v1cDabOP1qZQcyRfHbybsrcvOT26hV4qB/pkOilDC3+xwx//8pORkelS4/7j9P/E745R/D73A/sjdfuqGRoyPts8zhf8FlGPpVTBmZg17nJD8UgvpAnTV/C9nAcnlzu1YSUTDM5PihkpLpg2d5ocl3TmAvGUAQYOKEMY/A+7X1iDs5TN+p0R3f+7qzyn269XZ7U9LF0EKnsKmMn5LYAAAAAA="},28453:(t,e,n)=>{n.d(e,{R:()=>s,x:()=>r});var i=n(96540);const a={},o=i.createContext(a);function s(t){const e=i.useContext(o);return i.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(a):t.components||a:s(t.components),i.createElement(o.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/f880b41b.2af81a44.js b/assets/js/f880b41b.2af81a44.js deleted file mode 100644 index 0968a811a..000000000 --- a/assets/js/f880b41b.2af81a44.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[56142],{74943:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>l,contentTitle:()=>s,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>c});var i=n(74848),a=n(28453);const o={title:"Block Variations",description:"Intro to block variations and examples of how to use them",slug:"block-variations",authors:"obradovic",date:new Date("2022-09-07T00:00:00.000Z"),tags:["eightshift","boilerplate","block","variations"],hide_table_of_contents:!1},s=void 0,r={permalink:"/blog/block-variations",source:"@site/blog/2022-09-07-block-variations.md",title:"Block Variations",description:"Intro to block variations and examples of how to use them",date:"2022-09-07T00:00:00.000Z",formattedDate:"September 7, 2022",tags:[{label:"eightshift",permalink:"/blog/tags/eightshift"},{label:"boilerplate",permalink:"/blog/tags/boilerplate"},{label:"block",permalink:"/blog/tags/block"},{label:"variations",permalink:"/blog/tags/variations"}],readingTime:3.035,hasTruncateMarker:!0,authors:[{name:"Igor Obradovi\u0107",title:"WordPress Engineer",url:"https://github.com/iobrado",imageURL:"https://avatars.githubusercontent.com/u/23059501?v=4",key:"obradovic"}],frontMatter:{title:"Block Variations",description:"Intro to block variations and examples of how to use them",slug:"block-variations",authors:"obradovic",date:"2022-09-07T00:00:00.000Z",tags:["eightshift","boilerplate","block","variations"],hide_table_of_contents:!1},unlisted:!1,prevItem:{title:"Using Custom Post Types and Taxonomies",permalink:"/blog/using-cpts-and-taxonomies"},nextItem:{title:"How to use ACF in your project",permalink:"/blog/acf-in-a-project"}},l={authorsImageUrls:[void 0]},c=[{value:"What are variations?",id:"what-are-variations",level:2},{value:"How to register a block variation?",id:"how-to-register-a-block-variation",level:2},{value:"Providing inner block data",id:"providing-inner-block-data",level:2}];function d(t){const e={admonition:"admonition",code:"code",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.R)(),...t.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.p,{children:"Let's picture the following scenario: You just created a block with many options and now you want multiple versions of that block available with pre-set options. That's where variations come in handy!"}),"\n",(0,i.jsx)(e.h2,{id:"what-are-variations",children:"What are variations?"}),"\n",(0,i.jsx)(e.p,{children:"Block variations allow us to override default block attributes. We can select a variation from the block list with all preset options instead of manually setting them."}),"\n",(0,i.jsx)(e.admonition,{type:"note",children:(0,i.jsx)(e.p,{children:"You cannot add new attributes in variations. Only attributes that exist in the parent block can be used."})}),"\n",(0,i.jsxs)(e.p,{children:["For example, we have a ",(0,i.jsx)(e.code,{children:"Card"})," block. If we want to use it for something like downloading PDF files, we may not need image or paragraph components. A simple text that describes type of the file, title of the file and a download button are all we need in this case."]}),"\n",(0,i.jsx)(e.p,{children:"Our new card should consist of the following components:"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsx)(e.li,{children:"intro"}),"\n",(0,i.jsx)(e.li,{children:"heading"}),"\n",(0,i.jsx)(e.li,{children:"button"}),"\n"]}),"\n",(0,i.jsx)(e.h2,{id:"how-to-register-a-block-variation",children:"How to register a block variation?"}),"\n",(0,i.jsxs)(e.p,{children:["The process of registering block variations is fairly simple. In order to register a block variation, go to ",(0,i.jsx)(e.strong,{children:"src/Blocks/variations"}),", add a new folder, and let's call it ",(0,i.jsx)(e.code,{children:"card-resource"}),". Inside that folder, all you need to do is add a ",(0,i.jsx)(e.code,{children:"manifest.json"})," file. It is also recommended to add a ",(0,i.jsx)(e.code,{children:"docs"})," folder in which you can add a readme file and storybook file."]}),"\n",(0,i.jsxs)(e.p,{children:["Inside your ",(0,i.jsx)(e.code,{children:"manifest.json"})," file, add the attributes to define the new default attributes for this variation. Here is an example:"]}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-json",children:'{\n\t"$schema": "https://raw.githubusercontent.com/infinum/eightshift-frontend-libs/develop/schemas/variation.json",\n\t"parentName": "card",\n\t"name": "card-resource",\n\t"title": "Card Resource",\n\t"description" : "Card variation without image and paragraph",\n\t"icon": {\n\t\t"src": "es-card"\n\t},\n\t"attributes": {\n\t\t"cardCardImageUse": false,\n\t\t"cardCardParagraphUse": false,\n\t\t"cardCardHeadingSize": "regular",\n\t\t"cardCardButtonColor": "blue"\n\t},\n\t"scope": [\n\t\t"inserter"\n\t]\n}\n'})}),"\n",(0,i.jsx)(e.p,{children:"After adding this code, your new block variation should now be visible in the block list. It's that easy!"}),"\n",(0,i.jsx)(e.p,{children:(0,i.jsx)(e.img,{alt:"Variation of the Card block",src:n(49414).A+"",width:"252",height:"125"})}),"\n",(0,i.jsx)(e.h2,{id:"providing-inner-block-data",children:"Providing inner block data"}),"\n",(0,i.jsx)(e.p,{children:"Other than overriding default attributes with variations, you can do much more with Eightshift Development kit. If you have a block that uses inner blocks, you can even provide inner block data."}),"\n",(0,i.jsxs)(e.p,{children:["The following example is very basic, but it will give you an idea of how to provide inner block data. It can easily be reproduced with our ",(0,i.jsx)(e.code,{children:"Carousel"})," block if you want to try it yourself."]}),"\n",(0,i.jsx)(e.admonition,{type:"note",children:(0,i.jsxs)(e.p,{children:["If you don't have Carousel block in your project yet, you can add it with the following WP-CLI command: ",(0,i.jsx)(e.code,{children:'wp boilerplate blocks use-block --name="carousel"'})]})}),"\n",(0,i.jsxs)(e.p,{children:["Once you have the ",(0,i.jsx)(e.code,{children:"Carousel"})," block up and running, create a variation called ",(0,i.jsx)(e.code,{children:"Carousel Loop"}),". For this variation, we want the following:"]}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsx)(e.li,{children:"loop"}),"\n",(0,i.jsx)(e.li,{children:"pagination"}),"\n",(0,i.jsx)(e.li,{children:"two images per slide"}),"\n"]}),"\n",(0,i.jsxs)(e.p,{children:["We will also add some placeholder images so you can immediately test the Carousel block variation. Here is the code you can add to the ",(0,i.jsx)(e.code,{children:"manifest.json"})," file for that variation."]}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-json",children:'{\n\t"$schema": "https://raw.githubusercontent.com/infinum/eightshift-frontend-libs/develop/schemas/variation.json",\n\t"parentName": "carousel",\n\t"name": "carousel-loop",\n\t"title": "Carousel Loop",\n\t"description" : "Carousel block variation with loop and pagination enabled, along with multiple image blocks with placeholders. Displays two images per slide.",\n\t"icon": {\n\t\t"src": "es-card"\n\t},\n\t"attributes": {\n\t\t"carouselIsLoop": true,\n\t\t"carouselShowPagination": true,\n\t\t"carouselShowItems": 2\n\t},\n\t"innerBlocks": [\n\t\t{\n\t\t\t"name": "eightshift-boilerplate/image",\n\t\t\t"attributes": {\n\t\t\t\t"imageImageFull":true,\n\t\t\t\t"imageImageUrl": "https://loremflickr.com/400/400"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t"name": "eightshift-boilerplate/image",\n\t\t\t"attributes": {\n\t\t\t\t"imageImageFull":true,\n\t\t\t\t"imageImageUrl": "https://loremflickr.com/400/400"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t"name": "eightshift-boilerplate/image",\n\t\t\t"attributes": {\n\t\t\t\t"imageImageFull":true,\n\t\t\t\t"imageImageUrl": "https://loremflickr.com/400/400"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t"name": "eightshift-boilerplate/image",\n\t\t\t"attributes": {\n\t\t\t\t"imageImageFull":true,\n\t\t\t\t"imageImageUrl": "https://loremflickr.com/400/400"\n\t\t\t}\n\t\t}\n\t],\n\t"scope": [\n\t\t"inserter"\n\t]\n}\n'})}),"\n",(0,i.jsxs)(e.p,{children:["After adding this code, you should see the ",(0,i.jsx)(e.code,{children:"Carousel Loop"})," variation in your block list. After adding it in the editor, the ",(0,i.jsx)(e.code,{children:"Carousel"})," attributes will be already set to the ones you provided, as well as two images that are added as inner blocks."]}),"\n",(0,i.jsx)(e.p,{children:(0,i.jsx)(e.img,{alt:"Block list with variations",src:n(98934).A+"",width:"321",height:"257"})})]})}function h(t={}){const{wrapper:e}={...(0,a.R)(),...t.components};return e?(0,i.jsx)(e,{...t,children:(0,i.jsx)(d,{...t})}):d(t)}},98934:(t,e,n)=>{n.d(e,{A:()=>i});const i="data:image/webp;base64,UklGRooVAABXRUJQVlA4IH4VAABQaQCdASpBAQEBPjEYikQiIaEQmKzQIAMEtLd06CwYMAo/2Rfo/7xgD263I/zAcAB+pv6edh/9mfUB/Hv63+uHvO+g39YPYA/mH+M6zv9sfYA/hn9i9Lz9vfgr/a79p/gL/mP95/++tV+Nv7L2af1D8bf3X9ae9r3j9aP7F/x/Ug8bXRH839Cv4x9PvqP9Q/XP8vfj7+v/iX6K+oD8gPgC/FP4h/SvyR/sf7VcgPKr6gXqD8U/qH5Nf439yvYl/VfxA92fqL/Xvy8+gD+F/xr+w/kD/dP/z0oPhPsBfx/+Y/23/AftV/eP//9rP71/jv8f+43+R///vQ/Mf7Z/pv8H+537//gL/Gv5X/g/7j/m/+F/e////4fuI9hP7d+xH+tn37CD6zaN3WYCK94x0az6G6UL9zUjOWlgklkvRFlTNJKnnUGYjfXkBoZ7AFsMX3JittGEt3kQyYzlGXj9+ws9GFJU89PvWVVM2izSSp56fesRss36Ls2ds0Q2u/6blLbUes2wzHV03veYQviFobIGckh7f9v/q+CpcizwlLZ039QqJsPRDp2WjHNv5h+yXARDUv6LAcx/tAYZIN7QBfgOhwAo4qobMkvjg5eKUyZng5I/j+U7VwMcyuHEmK804Ik0IKZe0SbXKMwcYRdsCpmUwrEQraiesDjFRwmN4Qn6EjvisWpMGEyt3iPHmx23rphTazeNNF4DqmoONAwVwFtqrQn/Ft8LO7uCffl2TasebfGnZ9oP/RLI3coklT0jxbDSH61LKLH6smu1IlmmnDgJxh5HpzazwcXdSL94DQW4qKDaInLj1cK6y7BnA8Z55SzIffLgVFhawGJkk8BYQNMbo2iMImEqUr4w7LfNigcvcUaqRutghCtha64mOV5bdgWlxh5hec89gktre67hPI6Yp0JKA7Hk4XAVDK0KWXbvhrJ5zwfD8mVe1a6smXppD4flDwLtPoRTehWDirJAUMCHmhp1jMZQDxrePUAQRctjQd+2bpsLbIcGbiRDD+sXQ+ACx4ZXafuoMG/xeyfzp1MDTlQuYingbWZvv9eA0EG5t8gmNf44vvZOs1gZPp96ymNOXrd99VKxefe4Us+BEDgVP4WVM0kqeen3rKmaSVPPT71jgAD+/8eeuvaAeIRnbqxU1zLnZhk96Rag4lpofeDfMAgSOwu2FFKvmh5bRB1yHaptsCInR3QiBIUtXKv/d1ewKg0C0M6+zU6xMaDTJvx9i7X55/cdAHeTGxM385cwot1gr7h6UqzZ/LtePbUKeh7s78bkAW1CCdUd6ynU4CtRIejZuoDxtVb49tMN22EmAZ1MyjNw/rbLJyqwSeN8NBloYxTH/HcqAjWH4/iWfE7V+YvArnVnBoHMZ/TPoovRjMIhoRd71mKwPZA2zuf/LWxkP1gI3jd/77MPDLQMP3M3L/sSMvJu/dFUKHCWiY0bix8M2xzvG5kJz5ZX3xQ4o/EiPT3F1bO39LAZrEO//sb3EmasiWjDnspiqWXCUjlx75+nLoGpAAegrkSvyYb6dKyhHb9X/6jqlOMBaCDL1kgv7/ZD0/Lgd+6JyQMWQmbYC//efYPfgq6QkU9gvAMLzi7hmziuMDzdrjQqIP77d/s9riwOcbI/BLgM8qtPSJdq1JMB12wQgrUKeLPtm9OK6yk+C2INFpRNYbFMPZYA7R4D898V3HMod4Vp1JP7X7vYhZVK8qEd1hpIdu9RmmQ9TCBfnAUBYoByn4TIRQbWQzHg9zLWBxXQMK8JouRZCM7Kv2yQJwfX27ry8CYa8Y19uBsJzDPh451i5/bl/yrJ4RX4qzIXowrszZ292jUTcULLCZfrds0TKLwzK5aQKFbx2N/324LlYYa0npiPKqQKY/QQJr/g+AP1JTESD9chbbed7UGQABNqHzWFf11qyZJ7O9W64iUShjkSHYsiX8kzU4/577zkUx0+kdRpfxvyTZCqZEe6gR69T+eWXUxQT5n9wAsoGd0bo5mbi1VIhl2f+dVjy4YYjmTKii/MzOP5Z0JVL2cTMHX0/RUk3rul+nbyU7qC6jS8BIScbLnKLxY2AGbOnfwx2F5V1hhTVZJZotGj9ziRFJwt/xRXm636uGbxBUmeD3feazg+JiNA7z52hmV8N/yv//Mc39BxZWJBXRfDUATmtF2aa3E6yJH+Zu98if2QWmtUJ9U4G9/XqfHh0M8RdS/cH1+nuuRFWaMLBVg+VXb7nqhSq5F28DmhtR0XLE0kmer/OdEO3ISht/xR+lC13KXJUoytOONBtP2O6p4CsYDlIQ/sKyWQYHWGVu9P02HmsBsDwwAm8MW1bXDeZu422P3QSUzitds2Ul+1OUsPfiUM9PW5He63FbCIEWclwgpExM3R2NAvyUr0GdUyq5uVGku5GAU44fZNiZIy2GXAUj/zswikN0ckyNy74DN0EQGxkT3Pl6nz1v4BXfsY40KyUuoN0Kk37fS4rhKGqdze1e9rVcaQdP3rZA7KX76Vw8DLyuQapxmi7SvpkAML8tS+A5IU+h9veS/SEVk5RZa0lFAfWOLnJESnB+WHsq6SezP0pAZpJO7rMuSDiLOpQT47q5xboxX2n94Ums7UuRHVUraMjqUDn5bzr7IZI2N8ycA4Floc8VYTIn5Yulr71pXN7rHzsuQPFr4+rI+57fOhrpIbLQEF6ByYYa9OjMaym2PAmuYG1DDVjU2oQcRYetMOg5K9MmbAVPTdoQnHt5z9vIFKw6woHejY0otbhfxfZvchaP3Q84Ph3GXEHYqtHgeX7CINkYpT2UzGdkWvqPe78LeqgdH2icJGNhV3zKowRpcR5zy8p8VoSu7VqQaUxzYlG80jivkI2+cwjtnFzJ5RKOWb8k43am+U8rJXwEIxixDrken78QHACucqdvJPRWtQ8VJutCF/D2AOyMkT6wknUli1XJuxUpDPoluuf7SfOmXWNejKFHs3yDOQOm4SM+b6Q0OIQ7YG7ApbTqNt2Xixx9tZ9d3tiC08uQlur4E32JQNEt9bXZ7esg+uBo+FWQkP/+IB+F9eV9BGft+PPZqNwClCss9wJqdAF7wEq4Mq34Sy7uV5OnGfRPi/bmpHfupIOsEAPnZKW4aYxAQu2NSMk1/jRZtRXbnCbv3Tvjn1YxckBFLiKK5I+WOJP+WQZ1jwh0yCXOkXJSlds1BTuAaE6Z2rCSOjmCAzHRADz7z5IhBY2U+Dcgh+P53SYcREWHqzpCof9YEmeBx47j2GzlOdVyuJrtqQ0Egq4L9dVS0qpaVeu5N06gG1Rbx3sk8G4QetOCRiMSqQEmKa3DWEZoY/o74yBrERr3d71X0Ub3zr/1O4TY66sIFl/2ihwBaNqtjQRKN1xv2ibHpltkyGfbj2w0SieNktv7/1YvKNcmWZvYe9JF495gax5hS3+7aLeIAt6MsuDBZwVF7fbr2sFUIOL4UoeMe5md571ws3Jdo7hGP/bjOGXP7wWSFAktmFKCIkJWvij7RdAyzABJkaTVhgACfxsB3JrbnFoUvzcaDli3lfOCBSyRfyibg8p9sg//SQeQdMRzPyirsKFNKajcz8FfkmPZpf197BZPYT6v2dsKurDILjkGIuET2922QSjxZYaD+kZqol8ngRr9yk28u79AZKh01ykMVUaAZGjSNaUZwHMVNnjQZuFC9Mz4xSHYYe7RIFCMwWz4G4xa6VE9grv09upo3uPqjKvr2MLP0e1LDl+6GlIS9gZJQSZlozvD4gajkgkfz3AlREjlVcDAlfGU6/qTUj5EGOYJlbL8Fvu1tS3syPt8DCKXEwH7URfadB6V5QsOqPFxsLz/0tubojN4XWS/eZcRpGABg4QHI4TBKa//pXZPcE3nSF2tPNm2Rh3De8i3BjeKi3b88WPjD5fuEcIwadx5UxQ9lB01okI5t6Gn5h6xrDJcbblXtpBQEwszmZte82fc+DWFJdxIJ65R6GiNeRNOznb23LSo9Hnt342er/4rFPJi0aO2qV7RSpJvA9LjWrDmJMdsymNVfvApRvcL4QLgAO557mqte7iIXFbiPn8g8XUvW8r8hu+vYYZHupO3smrlusXbGdOQOxmqv5kWI2tLfHd5d30iNLhY/2/mF709ururaM/JtGKMeIXnY5/T0K+WEtCR0AfR+033/78CI/17pZDmnDhc/sZfqy20sNYXDH55byxVMRfCvXK2qwGex/vdCTty+W2Uo2ymu7Ik+EanmOiWieLOXRpQnTS+vKSCwC+yDmccSZleJKrhJ4JjlcxoGfn0tWTKeu9aaB5s6AnNkHL2zslGolB08kJnbvf516yN6IO2UQ2Ah2LB63AomG8j1GqZs2BpEfmXAjSWJBsnJavZOR3iRo8bDAn08sPsG6vHmqsitp1FA6vql+r8nqL5xeaqcz7OO9xjIjy3f2H7AX+nDdT60xAV3xmtx9xPJy4BbhJ1kBxqEdMhjmFc6XG/J/xsu7CSYOF+bRnVDeQVa9MutDA1rtaAr2cOkF87y0mcWOoYDKtSfx/+cIcf5OeOzG1oP4ym7hRo2eXCOitlhdUF2v2SqRBfH1AGxUBA+jOBctJBxK9hXkp+LRt/NbJ7mMnVHIDjBVrAFG6p0+Kig2R+PgJAFN6HaFKw/+3XbNlJfsnW2TVkJCc3veJUXcgrxxHHp5k592YGqlTGUbQtl1Ug2a49lvT9NI3hiy6KJ+YX5nYd9g2rQh1pSNtDSpyocnPfQUU4R2qFf+uH5ZIA2dfq3Rvawf70HlwNXXqXnPw3BpPLispsQKpjcr1VtK3BqTYFG+plnQWussEv3AHd1GW8GU7EtVBYKsebobzgj9/8+euC7Hgdka3Rzy6OPbamMnO36P871pSuq2fM5qhhFOaj80hGW4Vz9MZa7BHji/bX/9PI2VAqls3fPrp1JE1IJFOJAFtTupu4gjx6LAaS3L/NpeS2pWIYcB9Vm1f4oA6eaXjxKZC0mQnmMzyX8lZGuCVqkbH9C+jX1j4a4EfKGwr+YYmGpZGE20a4Wn5sd/ShHkipCBFTOoQlFOOPFbunZbTeuJy3a4rA3CSIbg36cF/rbMZzjmccftfprGxfgdHvlmJz/zOHIIRp4sqUz2Hx30D1GdVZfMCWtiMeX1q2fUXpc6OdEbwM7/zF+rLycn79em+wWn/kFEa5eXsrcC5XIARwl3cjAuS9kAR5vCxmsa/wOj/U6kKb0r13tYPuXhoC/Zu/noOCO8k67KnSV0fi5329hOpQyQdE7AMWoaiqc1kpysUzEW5b//R7MfsP72m4CoZbiHnSYvd6jeI3Nfg3Oa12AVhvPi4KxjDRUOao0KIQj0fB9hLhV/nmJ6lDY9VqFOjAQvlTbG6oJWbqLSLXyrahTMFNj9M603nhQvMqne7y8BBT31b2xNnvwZ3R97j0a3ao8TUu4rGSgmTobxnKbPl9ALSOsSErqEde+acKHtngMQm/CvGKhw+re2gEbq92qS28+MfTDjIktrc/4c7ti5jwZe507uZzkmus3dkLqNxRVYxK45Zu78U+UsKO9YKy2lPw3NRwe4K/RouF8MupeekYjjeBXRL3NQoeSecYQuqvnl6LEB0HBabBip+OSnqGpZlU9lHdhNcBfTw3X/OvqWK3bJtz1i5ki4UczAkcnivcReOb967kJNDULroIBmgBO2beSl4Fh01quU2iOf8bIjndPkJXP7EzKMxr35+oQ4eyFgPcgOt37J5QM5RKhlRQ/+voOhWkKtj/CFUhIBCMfEm4ZphBuGg6NDZ8VNEX8syp7AFqXXRIWHIiPOohZ/WKjI/JHmynQ9AHDnZa2hWyEWaATY+BF807ZbktWiN8/0kJBi8kB7+MkMo/pHCHScUMDwdQtFqOV9vaftE6IOYY+I7scMs0Vu8wSalQ5XCCpVpywgpWH2YyC2l9qMPvDtl6adJZeYaX0AUIjvlbjU1mQ5vJcl0azrSe5qsn0OFeXWuIAX1Zoi0WOACY27jWU3m23yIraiXEO54216qq0n2TAblFgNXBmbU1945TgnWoverTpcnTwZnZAwY5BO5rge4V0YG6Sv2EjBvN1WKEJOVpoAkclAFF5LoD43XNX8HlKMQGdwgwBmIcq4SLke1Nz2Kj3+8bw4Whnl1r375GCiC6gcTD85554oeQm2g4YfRXeMnnCV05YgyNBaV9X4+Ca35u/RuLVfued5RCpkj3hi2kKuMPfe1Oe5LD9+CJTJgdvDsBkd6DlBZoFGj3J8QiaZZy83JQaM9YZcoJ/qvA0kei1y17bf+DgOS/GSue7cCho9Fxay3CK/G06rdTuop0yGXqnfOxYE3Fo+bodoW9upOxRK5YUvdPh9HXMY1CzOVqLxXMZez3uqP+DSFt/iS+3hKMa1ocvmPCZYvzOdobLIrPom8YZKg5G4w9xmCwsmdb4upie7EMBbA0c/z+Q0Qzj4iy033V1tgRasO4gL9aK/5tetXekKT8ch56X+uvrwMIV4+NzE0qyVhPH1ABk95eOzybwT4LNbnAa6ZMNQVkMwmQ+CH06bOO0EPgCojea2UAhgsWZTgL+OwHl57DW2UlQEHDv2uwBEem/hBK7tIWBD9f5GeRexx33cvyNXPhfwgDbsh7MbSlKFP7gxnfert1lQb6KQF4Oeb0JU2+qh0Fv2UWSr0bz7HCIcY9Ue085SRNeASM7ouvP/6ZBNQhNiXK3lPnQ6/zgHfPN35VkGiHuOb8gcAPkopDuxh5si7sQfYG3FhDW0KHbuEhf/z+YPJXsUo3uXoP6kb4qG41l03+sVGnid7h1zwW7oc0k04Ee3MlLXDNsRa+SsmoDYtgP97qUXZF8Tz9SDcZvap76GMrUliHjolLseP07OqiJ+T7q6leFlSlosxuqXv1MDs21b/HZxtF12mb7IfOCDyu+nWgxzZ9gi6+cs9W4gHL5v6qPLBVQuLibw5iozo+26waw+BPKXpdQ5oxD2n9ud38m2e7FTTBPtFtCbqVerCFWnXfz3GZKEqNDx+e6Okik9/BUGZ/ELmIZ6HqDVhdPDLQdVMoC24g4TqLhg0oZiDRzR4mFLCCP954CUlO6cb6X+VJ3UZ+dfRoPGXW5m5A+lmCgD9vnfAe2AUzFlMYAxLUUDeix3+b1f2ZRYWTToYOI+OO4ALU2c7Qy0sV3HkN5zCiyyQmZ1XZ1tb8MNG9TU8NcxDvbUp51/Oels2zcdC3DpuPZ6pt53s0BF72PcbXUZUCd/NSoEMV3gOuWOGVR2IHdak4BxZTev1D8hz6yXB1Re5sAvyrnbXRVGGhLABgbNPOPgBHfaKhdYAhjwVVMXhqHCravv8SbeqMqCzJ08rlqMqE5Ltf7FmDGxpT905TqjLssP7iqPbQz9AAAAAAA="},49414:(t,e,n)=>{n.d(e,{A:()=>i});const i="data:image/webp;base64,UklGRvgNAABXRUJQVlA4IOwNAADQRACdASr8AH0APjEYikOiIaETKZ0gIAMEsbdwuaMgDU1wE6f+lfkR+3f+76prk/wN+zPRXlZ7Fv1H3FdonzAP0q/zv9E6y/mA/jP9t/a73h/Q3+qX4gfIB/Mv7L6RnsAfrX7AH6gemV+2HwV/tN+z/wHfr1/6NaB8L/z38UO9b+o/j55y+Ejwz7Uf1v1+P2bvA83/5b0H/iv1Q+3fk//bP3c9/vtV88/Ub6gX41/Fv7D+TP5i+1XspKx/5D1AvW759/e/zO/w3oRf13on9UP9d7gH8j/l3+Y/Mb+t/IH+X8IT6P/pP8l7gH83/r/+9/wX9y/a76R/3D/o/4H/Oftp7O/zT+yf87/G/kl9gv8p/pH+1/uv+a/8n+c///iI/bT2Vf2Y/+pUvnY58P2CVXVqVan1L5MGTVueHHjiiUA48TlWpEgDn+XvafxdbnW8z08gpLZBDWw2a4Nj7QCYfHs2vY203U8zNDY5ekOhnYB5+V1AF7u/Pbp56bZVBbUkafv1Ru8tQL4uFplSIGXX+zmfDRCLOzacIxJV3rfeO25GSp6nm+P/xTTMxdmrZLFm8JuRe5wVlIZaY8iUSEYEGFOYeNgHxbzMrlJjbc3iGma+AMWdG3uGvcQvWGEInnCAT5RPZs2m2nc2IYQQRDVrbqUBJs12fvaE6Tw68smpF7iM6rah+SPC0kVhd/ua8AiwIJnXqbU2uZd6TS+FcR6ZF3gn8WNdSWpEgDovQp7Nr2KAAP7/1oZvr3EF/oc7iojIs2XWpt5rGdTYYo7NDEFTDjOV6spDdBSpjcaGvPn0WxOy1f5YexN4vUI2v+dT3mKSLT7O/9C8dnsCiHnkFsP/qwh3t1jOf0fr+b6naHM2DGfVZtUdXyH86zjJ93Q+UUqRn5iUuV51NVaG+FKQTEgxxm2KAi3ZTSE50ezRnuiq+V6xG6MAAZRFgPIyzUfluaQ7X6KkMPagrdh+0sVelglBhF73wj3o29apRF+zqG+Xts8ad/1zRBDY3Ckb5VfdOeZbM6gEetroKb75c4xXw2cEvlYbbTFwnNvNIvSKcIlP/Lu0l/K5bn0DCvYtBcfoW/2nDeOSi7NfhzYg9Iw58TZJbkfx27BfWiGczJ6eZXIpi8/FY/UhBl2rNxWnV7xF/92VxnjtXhWsb2stmyLU89XqtKxS3iWUIVSOg3VF/yEdRmjbYgHrEcD69gXW+MV2y93tV8DhwCwU9mTYWc5tjtWiC572Vi9Y4Gt9Z6GXd4U9dvb6wBhTgr5n4w0os8bxikjrvR0gJAsb6ZebIt+jjyL0Cbug4jIZ+cJyIhBLoheHhm/Bhs8CHgI8aMvJfaok0zJTryefQL1F724n2bBBv/IvZJ7O9dptl+WA483ZU9TtPWQQEw8aPFYi75QFp+IV+frxkhrmMlMA4hEwNDDjnhHPIfjqAbP8FPHixu3dMt+ik1b8fyztdn2bW3ep82OESU+0G/5UDQiOHrDUeN/WUd1nfjJJFm2lzIekVehf+EFdcC63XYPQ1Na8iFaNpsB8H3LB8BtmIfP7fydU/Ibipoult8a1tNpf5CC5UcVYhlC4qqjwlIiCTCUY2ZiKRKiZqb5LZgQtcxdkRdj0TSDdEIL2v0AM7IkE+B8Ax2fS+joHjwF8n4ISDhFEVG5Sj2fDQ1PbH1hmRbReiBOW9Zfj9s7upN1r2olwTTDtE8DHs/U3J8yyERzITZqCb2rIbiApSDHj4E7l021coFgqwZD3ipv8b6bpo9ax8QkOFD1Mi+NkF0E6oowvEUpsRP5ZVD1J6WO9XeWpZ7QbJdoIqRyC/e+sPVyVrYlUF76QaZate33X7AAvT2ybyVajW79pFv9+Nzno1h9uZmgNNLrsRDvzqajTZM4VzJDhS35mramLVC4x+qf/3j2cK8E2swNNwLXNQgC4bV3dA3k6361cFuW5J0uoWkV+9beZV3QnVW+Gt6/fk7T/ob5bwn+b4asuzf6pi9PR+zR5FelrDMhUW8cHtaTU3sdVcdphgoxXX4KFliimzsIZPx7QJSfHSmuEQ1nN0Shh6tjfs0LBWoKGUsyJmJyI00SJvG4QNo0+eWkzUZ51mQNoIBZiN1HvzFfz7NJs6mbuMT6X9u4VlNb6IfGfnAWSvfmKVPlEIo3tBZLOVFI0ykqBMVqJOKBCh5TtL6G8b/F7SdwlXZlnaVvK+7nzDgZXEBnqv3ypzp1m5QFpa5kWVj2Aek/6lRTzix/scMXNt9UivZoJLzU4Js7Eq7LiElSSHnWeznow9ULbzWjUzRppzUixk/rlmfsf5wezX8zZ6jFMGw9TFgzuv21pPilavjD7oAp/+AojdbgrRk43592Yga/uqXIhhHcRZgoDHUL4QRKqOlVx1BxZ+PtC3E/H+LG7CdHKCnIMWliZG5EXrKGRqV+h9SbB7PudNuCp/DTaJ+R0U2tY7DJgUI6hpeal1CF+A0dXaSKA1L+HlksjHcdJGnZSCsTr+ORlmRECIZFCRBaSi8dWAJVu+JeKTmqHIchYjcaMG0Wyp1u3kzNzGumX9TtA6WyVLyeFBQV07AnM0OVY2TPVoe48F0beBS2aLe9Nh73yhspIVaAVANF+wqQvvEWCzeeD+/JieeojP2PAfazZY/RBCc9Nfc4ttCIl0rJt5s0O1iJkMCTnVaRSpfDzCEBZFyEEeUcQY7nd8m6GfEsj9Fr31FErYf2a8ZVRPrnbIaPjRA89OGt+mB9yAjmwUDmB0i45HPa2FhAq+QYNmsRgBheMU4kZz21VXdQl69v/HxZ5kqwlsjtaNyGukZV4I/ad2TNuIiVEFRDo7yQgVNt9FW4Y+l6hOsulnFVUUFyqCX3mbyusozruT+d/VbUl4NfSNk9Yhz1jQ0GHASsa9rnXBPMkxbIkboOX4IQchymzwhI0Ijritloog55C+GlL0vAWACkdYLeMfkTdUVfF6Ztw5eneZt0b4eFfCLOW7txbbqEXkvpKrNmnRU5ARuwONbuqA5hXkWDtBqMEU0U4pC5FNb+1+7oOjLyEHYz0dx39LKdENXqehTyPiP1hAjn/pwz+sf4QIQrZ2biJVZit8HWwj3BQUdwRKZm7Sz3vBp95/TRlqQDAo8soOkKw+7oLyE/Vfg5WUaB+340CMvFGiTAWkpnFTbm03lk/9+TAtJ0oq4spsHNESwk4gLb6sFk0os0YaGT3zYKZVhvw+va1y6OmiqbmjvE783o/dDolELlRoLShjTDueqZsyhalgnbt8vz7XJdWBPD6zCvibK5WumPxwq34Fifld86thMeQn2E6xBTuh9PwRROqm3/lhBnKzYnptY1BZW3uAR56ZmTqAXHIL5LfqQqWHyjVHPlSRjBLSD8+dpU1vfh5rD6RcEE2ACbX6bnwng5/Spl/bxAWf7KTw4xPVCqtYdyR0aeGuZmm2XkIUMVXkAhdSW54dsdTjhQoKLIp4rEBMKp8NNrlH8EH74nLK84/WTMKEM7OlRA/gETylg+pX1l+OP1OcJGLbLGejJntJKUJdCmjJ/izi5bVOb0HK1uz+oPxpkK9bbHeoH1gZgfHoST1ckkrXBOOx+rh2vwwIjwMAYBXogZ7fjAM1ntH5nkYayblVpUS1EJJ13sVm8E74RmMVof+48FwoyZgnmMNKpyp3LJsA4jOE5CtVXWJDXJb3Wq2M7RkgLVqUeeil6CzED6PsMUMWTVDECAmk/0/HgeArR5lcAJcWO3rAcJut6+oARtTeiNbP6hFkAK2kYqlupFAeG5d4HVvQv7cwRHSYay34NIEEIV7y2KRDudzCE5WfrW/N8Q5u+hWf+8Xh1aF2RjOnVyZ/09Yb0haLuaDhxpZF9q7JbrGEmh2oTvWmPTHqyG0CHeUiHC7/0zp9B5rMZ4paBV/0MnMzKgV2/011SAdFmgMbrJW6sNeI/y4+J+Aov1R0P95nLYCvngfaTT3JlpuF0dg0rFCamQ2SFXLjnRUr/YaUDXF0VDFPzyKTOpypE3RSTbn4yJ5/cLd4tXz1NKSEVxC4EHWu5AkyBVwtrALKbJ5ALTBFtsYg8muwsJEkmcIKs30hpBFWWruWJrewqJY+gHxH6AqPz8qsOJ0MOTZessnjiqOlCadrCdzpPZ4Uym5Fx7Y4Xkj/EB4w0vxbSK/FcLDGLkWBDTEQmK9prlD+eRt5Xz29KiNG8SPK61wv7iX/1StVXTovhx5OaWv+SK8h/QERqHc+IndYQt3wQ6f/K//bU0oCTxWp4VaIF9No0dP4Z+ex5nP+Or7Z0Z8c2z8aSteoeZpceyuVU/S/apftf97LgH8LBp5Yjm9TO9t6mptvT7SEz0m8YG29S/RI4kcAGlGDyjg1qWCzDYFCDkPvyoOMeRui3MVOBI9FjRlUaVbAmkiuHN/697kW/+OKQfZcjxaXs0Vo6CGBggLptEkaqPVYYuOlyZIgqtop6ydTgmTv0uOJBUkMgTruWiMFBUtY4s4sh7q/fri+gQwqpmRayXX3rVQzky0wRVrZzUJxinblW/pwU4gUXvB4W0kBaRjDZuCBY8zRjFjH0luAvwwHEgabM+v1cDabOP1qZQcyRfHbybsrcvOT26hV4qB/pkOilDC3+xwx//8pORkelS4/7j9P/E745R/D73A/sjdfuqGRoyPts8zhf8FlGPpVTBmZg17nJD8UgvpAnTV/C9nAcnlzu1YSUTDM5PihkpLpg2d5ocl3TmAvGUAQYOKEMY/A+7X1iDs5TN+p0R3f+7qzyn269XZ7U9LF0EKnsKmMn5LYAAAAAA="},28453:(t,e,n)=>{n.d(e,{R:()=>s,x:()=>r});var i=n(96540);const a={},o=i.createContext(a);function s(t){const e=i.useContext(o);return i.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(a):t.components||a:s(t.components),i.createElement(o.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/ffc0ac08.b0ee0e62.js b/assets/js/ffc0ac08.b0ee0e62.js deleted file mode 100644 index a859470ed..000000000 --- a/assets/js/ffc0ac08.b0ee0e62.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[37798],{12090:t=>{t.exports=JSON.parse('{"permalink":"/blog/tags/plugins","page":1,"postsPerPage":9,"totalPages":1,"totalCount":1,"blogDescription":"Tutorials and articles about Eightshift development kit","blogTitle":"Tutorials and articles about Eightshift development kit"}')}}]); \ No newline at end of file diff --git a/assets/js/main.85474ca9.js b/assets/js/main.85474ca9.js deleted file mode 100644 index 446f0bc2b..000000000 --- a/assets/js/main.85474ca9.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see main.85474ca9.js.LICENSE.txt */ -(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[38792],{89188:(e,t,n)=>{"use strict";n.d(t,{W:()=>o});var s=n(96540);function o(){return s.createElement("svg",{width:"20",height:"20",className:"DocSearch-Search-Icon",viewBox:"0 0 20 20","aria-hidden":"true"},s.createElement("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}},35947:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});n(96540);var s=n(53259),o=n.n(s),a=n(84054);const r={"0058bf23":[()=>n.e(26285).then(n.bind(n,28834)),"@site/docs/legacy/v8/basics/blocks-important.md",28834],"014fa81c":[()=>n.e(91303).then(n.bind(n,11257)),"@site/docs/legacy/v6/basics/wp-cli.md",11257],"01980361":[()=>n.e(91585).then(n.bind(n,89481)),"@site/docs/legacy/v5/basics/blocks-intro.md",89481],"01a85c17":[()=>Promise.all([n.e(71869),n.e(8209)]).then(n.bind(n,69158)),"@theme/BlogTagsListPage",69158],"0205c089":[()=>Promise.all([n.e(71869),n.e(15394),n.e(71328)]).then(n.bind(n,60541)),"@site/forms/php/filters/integrations/jira.mdx",60541],"0242a13a":[()=>n.e(77609).then(n.bind(n,58775)),"@site/docs/legacy/v7/basics/blocks-styles.md",58775],"029c29d9":[()=>Promise.all([n.e(71869),n.e(15394),n.e(58423)]).then(n.bind(n,56226)),"@site/forms/php/filters/integrations/greenhouse.mdx",56226],"02b9869f":[()=>n.e(21325).then(n.bind(n,10680)),"@site/docs/basics/blocks-reusable.md",10680],"035d9dc3":[()=>n.e(33418).then(n.bind(n,5918)),"@site/forms/addons/premium/computed-fields/intro.md",5918],"048a2137":[()=>n.e(45307).then(n.bind(n,99947)),"@site/docs/basics/webpack.md",99947],"0655bd76":[()=>n.e(28658).then(n.bind(n,75411)),"@site/docs/legacy/v4/guides/blocks-structure-block-item.md",75411],"066ec25f":[()=>n.e(61152).then(n.bind(n,2688)),"@site/forms/features/cache.mdx",2688],"06946b11":[()=>n.e(62676).then(n.bind(n,83942)),"@site/docs/legacy/v5/basics/blocks-reusable.md",83942],"07af796b":[()=>n.e(29005).then(n.bind(n,75175)),"@site/docs/legacy/v5/basics/block-structure.md",75175],"07b5dca2":[()=>n.e(68869).then(n.bind(n,83681)),"@site/forms/integrations/active-campaign.md",83681],"07fb059b":[()=>n.e(8760).then(n.bind(n,70232)),"@site/forms/php/filters/block/form/redirect-timeout.md",70232],"0810f675":[()=>n.e(94e3).then(n.t.bind(n,18261,19)),"~blog/default/blog-tags-custom-post-type-d16.json",18261],"08cebe36":[()=>n.e(66599).then(n.bind(n,873)),"@site/docs/basics/blocks-storybook.md",873],"092d0294":[()=>Promise.all([n.e(71869),n.e(15394),n.e(35821)]).then(n.bind(n,22489)),"@site/forms/php/filters/integrations/mailer.mdx",22489],"09d8acdc":[()=>n.e(25633).then(n.bind(n,94481)),"@site/docs/legacy/v6/basics/blocks-attributes.md",94481],"0a9768df":[()=>n.e(61270).then(n.bind(n,23866)),"@site/forms/features/dashboard.md",23866],"0aeeb10b":[()=>n.e(99917).then(n.bind(n,77355)),"@site/docs/eightshift-frontend-libs.md",77355],"0bea9cd5":[()=>n.e(38118).then(n.bind(n,35568)),"@site/docs/legacy/v7/basics/blocks-reusable.md",35568],"0c06981f":[()=>n.e(81588).then(n.bind(n,34055)),"@site/forms/php/filters/entries/pre-post-params.md",34055],"0c7b26d1":[()=>Promise.all([n.e(71869),n.e(15394),n.e(25642)]).then(n.bind(n,77265)),"@site/forms/php/filters/block/country/additional-content.mdx",77265],"0cbbedcd":[()=>n.e(69170).then(n.bind(n,77656)),"@site/docs/legacy/v4/advanced/sass-docs.md",77656],"0cde639a":[()=>n.e(12098).then(n.bind(n,10682)),"@site/docs/legacy/v7/basics/basics-intro.md",10682],"0ce4c86c":[()=>n.e(68963).then(n.bind(n,77518)),"@site/forms/php/filters/block/form/result-output-parts.md",77518],"0cf6d2ee":[()=>n.e(67144).then(n.bind(n,68800)),"@site/docs/legacy/v7/basics/blocks-structure.md",68800],"0d27e988":[()=>Promise.all([n.e(71869),n.e(15394),n.e(75924)]).then(n.bind(n,21158)),"@site/forms/php/filters/integrations/goodbits.mdx",21158],"0dcc1e01":[()=>n.e(80790).then(n.t.bind(n,44232,19)),"~blog/default/blog-tags-terms-b0c-list.json",44232],"0e617e7a":[()=>n.e(32277).then(n.bind(n,64513)),"@site/docs/legacy/v8/basics/blocks-structure.md",64513],"0f1457e8":[()=>n.e(51125).then(n.bind(n,85795)),"@site/docs/legacy/v4/advanced/helpers-object.md",85795],"0f187495":[()=>n.e(53685).then(n.bind(n,15929)),"@site/docs/legacy/v5/basics/autowiring.md",15929],"0fe8a02a":[()=>n.e(29366).then(n.bind(n,2177)),"@site/docs/versions.md",2177],"103a101a":[()=>n.e(17589).then(n.t.bind(n,20147,19)),"~blog/default/blog-tags-components-279.json",20147],"10c1e86a":[()=>n.e(15052).then(n.bind(n,11334)),"@site/docs/basics/blocks-component-manifest.md",11334],"10db50b8":[()=>n.e(45451).then(n.bind(n,44950)),"@site/docs/basics/blocks-component-structure.md",44950],"110cdc73":[()=>n.e(65223).then(n.bind(n,52531)),"@site/forms/php/filters/scripts/dependency-theme.md",52531],"120f8e9c":[()=>n.e(29673).then(n.bind(n,53787)),"@site/forms/addons/premium/computed-fields/settings.md",53787],"13362ea9":[()=>n.e(72349).then(n.bind(n,72211)),"@site/docs/basics/writing-styles.md",72211],"1385dc12":[()=>n.e(9264).then(n.bind(n,91421)),"@site/docs/basics/rest-field.md",91421],"13b613cc":[()=>n.e(40069).then(n.bind(n,39349)),"@site/blog/2024-03-07-using-inner-blocks.md?truncated=true",39349],"13c21afe":[()=>n.e(62757).then(n.bind(n,51699)),"@site/docs/plugin.md",51699],"147ca104":[()=>n.e(25092).then(n.bind(n,15688)),"@site/docs/legacy/v5/basics/blocks-component-structure.md",15688],"14d8029e":[()=>n.e(78236).then(n.bind(n,24661)),"@site/forms/features/single-submit.md",24661],"1622041d":[()=>n.e(88713).then(n.bind(n,95896)),"@site/docs/legacy/v8/basics/architecture-concepts.md",95896],"163b78fe":[()=>n.e(29487).then(n.bind(n,11267)),"@site/docs/legacy/v6/basics/blocks-special-use-cases.md",11267],"1698e1d1":[()=>n.e(12946).then(n.bind(n,44594)),"@site/forms/features/conditional-tags.md",44594],17896441:[()=>Promise.all([n.e(71869),n.e(15394),n.e(25022),n.e(18401)]).then(n.bind(n,25022)),"@theme/DocItem",25022],"183053be":[()=>n.e(14530).then(n.t.bind(n,55836,19)),"~blog/default/blog-tags-images-ab2.json",55836],"186bf65f":[()=>n.e(56561).then(n.bind(n,68874)),"@site/docs/legacy/v6/basics/example-class.md",68874],"18ea4958":[()=>n.e(48472).then(n.bind(n,84242)),"@site/forms/features/spam-prevention.md",84242],"19a6ffde":[()=>n.e(76225).then(n.bind(n,27730)),"@site/docs/legacy/v7/basics/blocks-patterns.md",27730],"1a4e3797":[()=>Promise.all([n.e(71869),n.e(62138)]).then(n.bind(n,74604)),"@theme/SearchPage",74604],"1a6a2ec3":[()=>n.e(30083).then(n.bind(n,99068)),"@site/forms/features/geolocation.md",99068],"1a8da153":[()=>n.e(44019).then(n.bind(n,4179)),"@site/forms/php/filters/blocks/media-breakpoints.md",4179],"1aa24188":[()=>n.e(44029).then(n.bind(n,70587)),"@site/docs/legacy/v4/guides/fonts-custom.md",70587],"1ab6957b":[()=>n.e(81208).then(n.bind(n,94075)),"@site/forms/php/global-variables/integrations/clearbit.md",94075],"1b63fe07":[()=>n.e(65587).then(n.bind(n,78335)),"@site/docs/legacy/v8/basics/helpers-php.md",78335],"1c82c718":[()=>n.e(73080).then(n.bind(n,3882)),"@site/docs/legacy/v8/basics/writing-styles.md",3882],"1d1d00c8":[()=>n.e(49018).then(n.bind(n,78208)),"@site/docs/legacy/v7/basics/blocks-special-use-cases.md",78208],"1eef4415":[()=>n.e(64770).then(n.bind(n,67525)),"@site/docs/legacy/v6/basics/frontend.md",67525],"1f5f1faf":[()=>n.e(54083).then(n.bind(n,86892)),"@site/docs/legacy/v6/basics/block-structure.md",86892],"2067e39b":[()=>n.e(28801).then(n.t.bind(n,61733,19)),"~blog/default/blog-tags-taxonomy-769-list.json",61733],"20e43c84":[()=>n.e(67992).then(n.bind(n,85e3)),"@site/docs/legacy/v6/basics/extending-classes.md",85e3],"2176bd9e":[()=>n.e(66131).then(n.t.bind(n,27058,19)),"~blog/default/blog-tags-fonts-dfb-list.json",27058],"21c119bb":[()=>n.e(8450).then(n.bind(n,63664)),"@site/forms/addons/create/utils-library.md",63664],"2297cc0d":[()=>n.e(66681).then(n.bind(n,13896)),"@site/docs/legacy/v5/basics/fonts.md",13896],"22cdf000":[()=>n.e(68236).then(n.bind(n,89287)),"@site/forms/features/validation.md",89287],"22e7b626":[()=>n.e(6831).then(n.bind(n,4694)),"@site/docs/legacy/v5/basics/blocks-transforms.md",4694],23002826:[()=>Promise.all([n.e(71869),n.e(15394),n.e(45611)]).then(n.bind(n,84633)),"@site/forms/php/filters/integrations/airtable.mdx",84633],"230a0014":[()=>n.e(29744).then(n.bind(n,59193)),"@site/docs/additional-libraries/docs.md",59193],"2345a3b7":[()=>n.e(29450).then(n.bind(n,38512)),"@site/docs/legacy/v4/guides/rest-intro.md",38512],"23464d23":[()=>Promise.all([n.e(71869),n.e(15394),n.e(92553)]).then(n.bind(n,5451)),"@site/forms/php/filters/block/field/additional-content.mdx",5451],"23da3c05":[()=>n.e(20272).then(n.t.bind(n,57668,19)),"~blog/default/blog-tags-theme-options-74e-list.json",57668],"24b57605":[()=>n.e(71220).then(n.bind(n,50760)),"@site/docs/legacy/v7/basics/blocks.md",50760],"25539fcb":[()=>n.e(4034).then(n.bind(n,10310)),"@site/forms/features/locations.md",10310],"2554564d":[()=>n.e(12090).then(n.bind(n,86125)),"@site/docs/legacy/v4/guides/blocks-get-actions-helper.md",86125],"259bd0c5":[()=>n.e(14097).then(n.bind(n,47526)),"@site/forms/php/filters/block/form/hide-global-msg-timeout.md",47526],"25b43794":[()=>n.e(50383).then(n.bind(n,54762)),"@site/docs/legacy/v6/basics/rest-field.md",54762],"26b1dccf":[()=>n.e(13180).then(n.bind(n,88396)),"@site/forms/php/global-variables/integrations/hubspot.md",88396],"2716246c":[()=>n.e(33688).then(n.bind(n,79079)),"@site/docs/legacy/v6/basics/blocks-structure.md",79079],"2747918f":[()=>n.e(38993).then(n.bind(n,46282)),"@site/blog/2022-01-20-initial-setup.md",46282],"27c45671":[()=>n.e(16586).then(n.bind(n,20084)),"@site/docs/legacy/v5/basics/frontend.md",20084],"281e3fe0":[()=>n.e(39891).then(n.bind(n,69819)),"@site/docs/legacy/v7/basics/blocks-important.md",69819],"286194e8":[()=>n.e(38018).then(n.bind(n,7546)),"@site/docs/legacy/v4/guides/taxonomy.md",7546],"29014e21":[()=>n.e(26315).then(n.bind(n,1397)),"@site/docs/basics/helpers.md",1397],"29c85621":[()=>n.e(71567).then(n.t.bind(n,52194,19)),"~blog/default/blog-tags-classes-074.json",52194],"2a615d1d":[()=>n.e(78051).then(n.bind(n,10881)),"@site/docs/legacy/v4/guides/blocks-structure-component.md",10881],"2a89e141":[()=>n.e(25786).then(n.bind(n,28318)),"@site/docs/legacy/v5/basics/blocks-structure.md",28318],"2b4fbe73":[()=>n.e(37712).then(n.bind(n,32110)),"@site/docs/basics/namespaces.md",32110],"2bd83684":[()=>n.e(90988).then(n.bind(n,62058)),"@site/docs/legacy/v6/basics/architecture-concepts.md",62058],"2c4528c6":[()=>n.e(21082).then(n.bind(n,3501)),"@site/docs/legacy/v5/basics/library.md",3501],"2c773ba3":[()=>n.e(79619).then(n.bind(n,32749)),"@site/docs/legacy/v6/basics/helpers-php.md",32749],"2d764dca":[()=>n.e(26294).then(n.bind(n,68035)),"@site/docs/legacy/v6/basics/blocks.md",68035],"2e9194de":[()=>n.e(80480).then(n.bind(n,27306)),"@site/docs/legacy/v5/basics/blocks-attributes.md",27306],"2e99cb0e":[()=>n.e(61840).then(n.bind(n,14257)),"@site/docs/legacy/v6/basics/blocks-reusable.md",14257],"2f2ad190":[()=>n.e(73482).then(n.bind(n,35112)),"@site/docs/legacy/v8/basics/global-settings.md",35112],"30241ed8":[()=>n.e(67778).then(n.bind(n,26058)),"@site/docs/legacy/v4/guides/columns-post-type.md",26058],"30e34e97":[()=>n.e(27991).then(n.t.bind(n,88453,19)),"~blog/default/blog-tags-theme-options-74e.json",88453],"3124e7fd":[()=>n.e(74939).then(n.bind(n,30816)),"@site/docs/legacy/v7/basics/blocks-component-in-block.md",30816],"318b66a0":[()=>n.e(61422).then(n.bind(n,24707)),"@site/docs/legacy/v7/basics/webpack.md",24707],"31b83fd6":[()=>n.e(48812).then(n.bind(n,70760)),"@site/docs/legacy/v5/basics/basics-intro.md",70760],"31d6ca5c":[()=>n.e(23737).then(n.t.bind(n,17651,19)),"~blog/default/blog-tags-fonts-dfb.json",17651],"31e124ed":[()=>n.e(17776).then(n.bind(n,221)),"@site/docs/legacy/v7/basics/extending-classes.md",221],"32030e6f":[()=>n.e(4866).then(n.t.bind(n,78945,19)),"~blog/default/blog-tags-wpcli-f24-list.json",78945],"325ddbed":[()=>n.e(45474).then(n.bind(n,58728)),"@site/docs/legacy/v5/basics/blocks-component-manifest.md",58728],"326267d5":[()=>n.e(65812).then(n.bind(n,15205)),"@site/docs/legacy/v7/basics/blocks-hooks.md",15205],"341e5e63":[()=>n.e(87815).then(n.bind(n,68241)),"@site/docs/legacy/v6/basics/blocks-component-structure.md",68241],"3481c063":[()=>n.e(50499).then(n.t.bind(n,64797,19)),"~blog/default/blog-tags-block-047.json",64797],"35144e55":[()=>n.e(28767).then(n.bind(n,39171)),"@site/docs/legacy/v7/basics/manifest.md",39171],"35847f85":[()=>n.e(11097).then(n.bind(n,8939)),"@site/docs/legacy/v7/basics/writing-styles.md",8939],"35d3178b":[()=>Promise.all([n.e(71869),n.e(15394),n.e(28638)]).then(n.bind(n,86338)),"@site/forms/php/filters/integrations/workable.mdx",86338],"3634820b":[()=>n.e(58873).then(n.bind(n,11003)),"@site/forms/addons/premium/computed-fields/data-flow.md",11003],"369bf9e9":[()=>n.e(38696).then(n.t.bind(n,70557,19)),"~blog/default/blog-tags-assets-503-list.json",70557],"36d70216":[()=>n.e(38812).then(n.bind(n,33289)),"@site/docs/legacy/v8/basics/fonts.md",33289],"37703fea":[()=>n.e(76537).then(n.bind(n,63760)),"@site/docs/legacy/v7/basics/rest.md",63760],"37f27a13":[()=>Promise.all([n.e(71869),n.e(15394),n.e(3089)]).then(n.bind(n,75537)),"@site/forms/php/filters/block/textarea/additional-content.mdx",75537],"385e6aa6":[()=>n.e(16546).then(n.bind(n,86518)),"@site/forms/php/global-variables/integrations/moments.md",86518],"388ae04f":[()=>n.e(13198).then(n.bind(n,18821)),"@site/docs/legacy/v6/basics/blocks-global-manifest.md",18821],"39035dcb":[()=>n.e(5620).then(n.bind(n,89941)),"@site/docs/legacy/v7/basics/tips-tricks.md",89941],"390b04b5":[()=>n.e(40282).then(n.bind(n,90744)),"@site/forms/integrations/jira.md",90744],"39447efc":[()=>n.e(10042).then(n.bind(n,20275)),"@site/blog/2022-12-13-using-cpts-and-taxonomies.md",20275],"39b05d13":[()=>n.e(44546).then(n.bind(n,36397)),"@site/docs/legacy/v8/basics/blocks-special-use-cases.md",36397],"39c8d3f8":[()=>n.e(4215).then(n.bind(n,22929)),"@site/forms/php/filters/block/submit/component.md",22929],"39d8d90f":[()=>n.e(78684).then(n.bind(n,31803)),"@site/docs/legacy/v8/basics/blocks-registration.md",31803],"39e353ee":[()=>n.e(84033).then(n.bind(n,58430)),"@site/blog/2023-09-05-wrapper-as-a-standalone-component.md",58430],"3a244aec":[()=>n.e(84572).then(n.bind(n,50406)),"@site/docs/legacy/v7/basics/namespaces.md",50406],"3aebe9a9":[()=>n.e(34070).then(n.bind(n,14469)),"@site/forms/integrations/goodbits.md",14469],"3b5edcc4":[()=>n.e(2008).then(n.t.bind(n,6275,19)),"~blog/default/blog-tags-images-ab2-list.json",6275],"3b7ac723":[()=>Promise.all([n.e(71869),n.e(15394),n.e(35151)]).then(n.bind(n,86815)),"@site/forms/javascript/state/state.mdx",86815],"3cc3f22b":[()=>n.e(36471).then(n.bind(n,54705)),"@site/docs/legacy/v6/basics/helpers-scss.md",54705],"3d99f89d":[()=>n.e(42529).then(n.bind(n,54841)),"@site/blog/2023-06-12-multiple-same-components.md?truncated=true",54841],"3e53f2d3":[()=>n.e(10504).then(n.bind(n,20021)),"@site/forms/features/enrichment.md",20021],"3ed2c247":[()=>n.e(55513).then(n.bind(n,6928)),"@site/docs/legacy/v8/basics/blocks-styles.md",6928],"3f56b28d":[()=>n.e(36321).then(n.bind(n,33558)),"@site/docs/basics/frontend.md",33558],"3fd111c7":[()=>n.e(25173).then(n.bind(n,49523)),"@site/blog/2022-12-22-block-patterns.md?truncated=true",49523],"40adba6a":[()=>n.e(60908).then(n.bind(n,63230)),"@site/docs/basics/blocks-global-manifest.md",63230],"40bcb702":[()=>n.e(33049).then(n.bind(n,75948)),"@site/docs/legacy/v6/basics/writing-styles.md",75948],"41aa949a":[()=>n.e(88369).then(n.bind(n,51884)),"@site/docs/legacy/v6/basics/helpers.md",51884],"41bc8270":[()=>n.e(52848).then(n.bind(n,84305)),"@site/docs/legacy/v4/advanced/webpack.md",84305],42478870:[()=>n.e(92091).then(n.t.bind(n,14292,19)),"~blog/default/blog-tags-custom-post-type-d16-list.json",14292],"426b1138":[()=>n.e(75174).then(n.bind(n,31387)),"@site/docs/additional-libraries/boilerplate-plugin.md",31387],"4293ef56":[()=>n.e(85329).then(n.t.bind(n,31654,19)),"~blog/default/blog-tags-taxonomies-862.json",31654],"42d5a18c":[()=>n.e(91425).then(n.bind(n,11686)),"@site/forms/features/show-as.md",11686],"430a0c78":[()=>n.e(98731).then(n.t.bind(n,89572,19)),"~blog/default/blog-tags-colors-50a-list.json",89572],"435e79fb":[()=>Promise.all([n.e(71869),n.e(15394),n.e(44034)]).then(n.bind(n,33303)),"@site/forms/javascript/state/store.mdx",33303],"43ab2c5c":[()=>n.e(81196).then(n.bind(n,28088)),"@site/forms/welcome.mdx",28088],"43ac2fb4":[()=>n.e(86594).then(n.bind(n,58490)),"@site/docs/legacy/v4/versions.md",58490],"43adcc08":[()=>n.e(85417).then(n.bind(n,48328)),"@site/docs/legacy/v4/guides/extending-classes.md",48328],"43d76b0c":[()=>n.e(84604).then(n.bind(n,57712)),"@site/docs/legacy/v6/basics/manifest.md",57712],"44b117b5":[()=>n.e(67819).then(n.bind(n,79897)),"@site/forms/php/filters/block/step/component-prev.md",79897],"44c6aa62":[()=>n.e(51166).then(n.bind(n,71047)),"@site/docs/legacy/v4/guides/enqueue.md",71047],"44ef7d31":[()=>Promise.all([n.e(71869),n.e(15394),n.e(21759)]).then(n.bind(n,886)),"@site/forms/php/filters/block/checkboxes/additional-content.mdx",886],"44f6c623":[()=>n.e(71737).then(n.bind(n,66369)),"@site/docs/legacy/v5/basics/global-settings.md",66369],45159772:[()=>n.e(9423).then(n.bind(n,95900)),"@site/forms/php/filters/geolocation/countries.md",95900],"45a57db1":[()=>n.e(47934).then(n.bind(n,728)),"@site/forms/integrations/mailer.md",728],"4619ca6c":[()=>n.e(39122).then(n.bind(n,7333)),"@site/forms/php/global-variables/how-to-use.md",7333],46604707:[()=>n.e(9559).then(n.bind(n,62528)),"@site/docs/basics/blocks.md",62528],"46ddaac3":[()=>n.e(45597).then(n.bind(n,55858)),"@site/docs/legacy/v7/basics/fonts.md",55858],"47a776f2":[()=>n.e(64823).then(n.bind(n,54147)),"@site/docs/theme.md",54147],"49403d8c":[()=>n.e(5996).then(n.bind(n,1717)),"@site/blog/2022-03-03-adding-blocks-wpcli.md?truncated=true",1717],"499ba0c7":[()=>n.e(77618).then(n.t.bind(n,96111,19)),"~blog/default/blog-tags-setup-e81-list.json",96111],"4aad33a5":[()=>n.e(52741).then(n.bind(n,9578)),"@site/forms/features/security.md",9578],"4b8950e9":[()=>n.e(41009).then(n.bind(n,89729)),"@site/docs/legacy/v6/basics/browser-sync.md",89729],"4cfcdd67":[()=>n.e(97080).then(n.bind(n,42127)),"@site/docs/legacy/v8/basics/blocks-component-structure.md",42127],"4dad0b95":[()=>n.e(74672).then(n.bind(n,84340)),"@site/forms/php/filters/blocks/additional-blocks.md",84340],"4e418365":[()=>n.e(35999).then(n.bind(n,17438)),"@site/forms/features/fallback-emails.md",17438],"4e946086":[()=>n.e(7429).then(n.bind(n,61174)),"@site/docs/legacy/v8/basics/block-manifest.md",61174],"4eaf1272":[()=>n.e(10901).then(n.bind(n,36573)),"@site/docs/legacy/v7/basics/helpers.md",36573],"4ec5858e":[()=>n.e(72094).then(n.bind(n,68965)),"@site/docs/legacy/v4/advanced/helpers-error-logger.md",68965],"4ece2ef5":[()=>n.e(73614).then(n.bind(n,80172)),"@site/forms/features/import-export.md",80172],"4f057d99":[()=>n.e(42695).then(n.bind(n,80507)),"@site/docs/legacy/v8/basics/namespaces.md",80507],"4f6e5aff":[()=>n.e(67568).then(n.bind(n,37712)),"@site/forms/integrations/mailchimp.md",37712],"4f8601bc":[()=>n.e(54207).then(n.bind(n,21896)),"@site/blog/2022-01-21-components-and-blocks.md?truncated=true",21896],"5024c8a9":[()=>n.e(96813).then(n.bind(n,83216)),"@site/docs/legacy/v5/basics/helpers-scss.md",83216],"5025c75d":[()=>Promise.all([n.e(71869),n.e(15394),n.e(80430)]).then(n.bind(n,58471)),"@site/forms/javascript/state/utils.mdx",58471],"50c94cd7":[()=>n.e(31532).then(n.bind(n,64937)),"@site/forms/features/debug.md",64937],"518baa20":[()=>n.e(42275).then(n.bind(n,99923)),"@site/docs/legacy/v7/basics/autowiring.md",99923],"51f93b96":[()=>n.e(49144).then(n.bind(n,18700)),"@site/docs/legacy/v4/guides/columns-taxonomy.md",18700],"5215d6a1":[()=>n.e(5276).then(n.bind(n,88664)),"@site/forms/addons/premium/computed-fields/blocks.md",88664],"52c25d1c":[()=>n.e(25558).then(n.bind(n,49661)),"@site/blog/2024-02-01-making-your-project-multilingual.md?truncated=true",49661],"533d3ffb":[()=>n.e(90501).then(n.bind(n,88250)),"@site/docs/legacy/v8/basics/manifest.md",88250],"536309bb":[()=>n.e(10175).then(n.bind(n,4036)),"@site/forms/php/filters/validation/force-mimetype-from-fs.md",4036],"53a1ff94":[()=>n.e(18602).then(n.bind(n,86524)),"@site/blog/2022-04-25-using-assets.md?truncated=true",86524],"541d824c":[()=>n.e(17606).then(n.bind(n,74256)),"@site/docs/basics/blocks-transforms.md",74256],"5422c2e3":[()=>n.e(10559).then(n.t.bind(n,78899,19)),"~blog/default/blog-tags-templates-5ad-list.json",78899],"54305ae0":[()=>n.e(15792).then(n.t.bind(n,24226,19)),"~blog/default/blog-tags-advanced-custom-fields-ef6.json",24226],"548faf69":[()=>n.e(42332).then(n.bind(n,99495)),"@site/docs/basics/example-class.md",99495],"54b7d866":[()=>n.e(45985).then(n.t.bind(n,52945,19)),"/home/runner/work/eightshift-docs/eightshift-docs/website/.docusaurus/docusaurus-plugin-content-blog/default/plugin-route-context-module-100.json",52945],56802612:[()=>n.e(75563).then(n.bind(n,33708)),"@site/docs/basics/blocks-registration.md",33708],"56b8c1aa":[()=>n.e(88290).then(n.bind(n,97403)),"@site/docs/legacy/v5/basics/rest-field.md",97403],"56f8d3dd":[()=>n.e(77299).then(n.bind(n,94552)),"@site/forms/integrations/airtable.md",94552],"590322ab":[()=>n.e(4203).then(n.bind(n,57759)),"@site/blog/2022-04-08-adding-fonts.md",57759],"59c340d8":[()=>n.e(42603).then(n.bind(n,80428)),"@site/docs/legacy/v7/basics/blocks-attributes.md",80428],"5add9946":[()=>n.e(63405).then(n.bind(n,5208)),"@site/forms/php/filters/block/form/success-redirect-variation.md",5208],"5b027e06":[()=>n.e(11030).then(n.t.bind(n,34637,19)),"~blog/default/blog-tags-taxonomies-862-list.json",34637],"5b767225":[()=>n.e(85769).then(n.bind(n,45420)),"@site/docs/legacy/v4/advanced/components-heading-level.md",45420],"5ba3e239":[()=>n.e(19811).then(n.bind(n,2827)),"@site/blog/2024-02-01-making-your-project-multilingual.md",2827],"5bd755c4":[()=>Promise.all([n.e(71869),n.e(15394),n.e(38950)]).then(n.bind(n,90739)),"@site/forms/php/filters/block/date/additional-content.mdx",90739],"5be441ac":[()=>n.e(35512).then(n.bind(n,39095)),"@site/docs/legacy/v8/basics/blocks-wrapper.md",39095],"5bf26d11":[()=>n.e(28870).then(n.bind(n,53688)),"@site/docs/legacy/v6/basics/autowiring.md",53688],"5c125432":[()=>n.e(7878).then(n.bind(n,4770)),"@site/docs/legacy/v7/basics/blocks-wrapper.md",4770],"5cda8f59":[()=>n.e(94958).then(n.bind(n,6789)),"@site/docs/legacy/v4/guides/blocks-registration.md",6789],"5d34a3e0":[()=>n.e(102).then(n.bind(n,12219)),"@site/docs/basics/architecture-concepts.md",12219],"5d41d0b6":[()=>n.e(87057).then(n.bind(n,66835)),"@site/forms/php/global-variables/integrations/mailerlite.md",66835],"5e3b00c5":[()=>n.e(19766).then(n.bind(n,19589)),"@site/forms/integrations/greenhouse.md",19589],"5e95c892":[()=>n.e(9647).then(n.bind(n,7121)),"@theme/DocsRoot",7121],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,4784)),"@generated/docusaurus.config",4784],"5ed3387d":[()=>n.e(36802).then(n.bind(n,91920)),"@site/docs/requirements.md",91920],"5eed5ded":[()=>n.e(25994).then(n.bind(n,76821)),"@site/blog/2024-02-29-tips-useful-features.md?truncated=true",76821],"5f22e924":[()=>n.e(51458).then(n.bind(n,76145)),"@site/docs/legacy/v6/basics/backend.md",76145],"5fbdd67a":[()=>n.e(22118).then(n.bind(n,97198)),"@site/docs/legacy/v6/basics/helpers-javascript.md",97198],"5fc994c2":[()=>n.e(41874).then(n.bind(n,79031)),"@site/src/pages/showcase.js",79031],"600a6af1":[()=>n.e(10940).then(n.bind(n,23184)),"@site/forms/javascript/state/how-to-use.md",23184],"6042c76a":[()=>n.e(19730).then(n.bind(n,21737)),"@site/forms/php/global-variables/geolocation.md",21737],"60d85392":[()=>n.e(16536).then(n.t.bind(n,4061,19)),"/home/runner/work/eightshift-docs/eightshift-docs/website/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",4061],"6156002b":[()=>n.e(62625).then(n.bind(n,47686)),"@site/docs/legacy/v8/basics/block-structure.md",47686],"619eeade":[()=>n.e(27045).then(n.bind(n,62152)),"@site/docs/legacy/v6/versions.md",62152],"6203860c":[()=>n.e(84741).then(n.bind(n,55213)),"@site/docs/legacy/v8/basics/blocks.md",55213],"62284ec3":[()=>n.e(70010).then(n.bind(n,58648)),"@site/docs/legacy/v8/basics/blocks-hooks.md",58648],"6299beff":[()=>n.e(63498).then(n.bind(n,87147)),"@site/blog/2022-05-10-acf-in-a-project.md?truncated=true",87147],"62a6c31f":[()=>n.e(87869).then(n.bind(n,38819)),"@site/blog/2024-03-07-using-inner-blocks.md",38819],"62f60b5b":[()=>n.e(42520).then(n.bind(n,97662)),"@site/forms/integrations/pipedrive.md",97662],"63b7ed35":[()=>n.e(83276).then(n.bind(n,93342)),"@site/docs/legacy/v8/basics/helpers.md",93342],"64042be6":[()=>n.e(36372).then(n.bind(n,4055)),"@site/docs/legacy/v8/basics/wp-cli.md",4055],"640b2864":[()=>n.e(88447).then(n.t.bind(n,57757,19)),"/home/runner/work/eightshift-docs/eightshift-docs/website/.docusaurus/docusaurus-theme-search-algolia/default/plugin-route-context-module-100.json",57757],"641a79fb":[()=>n.e(58439).then(n.bind(n,85463)),"@site/docs/legacy/v8/basics/blocks-transforms.md",85463],64793643:[()=>Promise.all([n.e(71869),n.e(15394),n.e(86513)]).then(n.bind(n,26061)),"@site/forms/javascript/state/enrichment.mdx",26061],"64e3919b":[()=>n.e(61362).then(n.bind(n,33776)),"@site/forms/php/filters/general/http-request-timeout.md",33776],"66151e3f":[()=>n.e(69192).then(n.bind(n,26567)),"@site/docs/legacy/v7/basics/blocks-variations.md",26567],"67644baa":[()=>n.e(33856).then(n.bind(n,62716)),"@site/docs/legacy/v5/basics/browser-sync.md",62716],"679e6283":[()=>n.e(60967).then(n.bind(n,22471)),"@site/forms/php/global-variables/integrations/airtable.md",22471],"67da9612":[()=>n.e(14731).then(n.t.bind(n,63309,19)),"~blog/default/blog-tags-icons-c8e.json",63309],"6875c492":[()=>Promise.all([n.e(71869),n.e(15394),n.e(28747),n.e(84813)]).then(n.bind(n,33069)),"@theme/BlogTagsPostsPage",33069],"688ea354":[()=>n.e(99575).then(n.bind(n,82306)),"@site/docs/legacy/v6/basics/global-settings.md",82306],"68c90bbc":[()=>Promise.all([n.e(71869),n.e(15394),n.e(75826)]).then(n.bind(n,26387)),"@site/forms/php/filters/integrations/mailchimp.mdx",26387],"6a5d09b2":[()=>n.e(33662).then(n.bind(n,90020)),"@site/docs/legacy/v6/basics/blocks-important.md",90020],"6afb304f":[()=>n.e(79867).then(n.bind(n,43283)),"@site/forms/php/filters/scripts/dependency-blocks-frontend.md",43283],"6b207c51":[()=>n.e(76297).then(n.bind(n,18561)),"@site/docs/legacy/v5/basics/manifest.md",18561],"6b8dfc08":[()=>n.e(32282).then(n.t.bind(n,25594,19)),"~blog/default/blog-tags-wrapper-043-list.json",25594],"6b93e189":[()=>n.e(49876).then(n.bind(n,77667)),"@site/forms/addons/create/requirements.md",77667],"6b94b48b":[()=>n.e(13100).then(n.bind(n,11496)),"@site/docs/basics/blocks-special-use-cases.md",11496],"6bcded04":[()=>n.e(90697).then(n.bind(n,22155)),"@site/docs/legacy/v6/basics/rest.md",22155],"6cbda4b6":[()=>n.e(2603).then(n.bind(n,61369)),"@site/docs/basics/block-structure.md",61369],"6e870323":[()=>n.e(76693).then(n.t.bind(n,61966,19)),"/home/runner/work/eightshift-docs/eightshift-docs/website/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",61966],"6eb5397d":[()=>n.e(26950).then(n.bind(n,1844)),"@site/docs/legacy/v5/basics/blocks-global-manifest.md",1844],"6f0e603d":[()=>n.e(78101).then(n.bind(n,66094)),"@site/docs/eightshift-libs.md",66094],"6f52e085":[()=>n.e(42468).then(n.t.bind(n,7241,19)),"~blog/default/blog-tags-advanced-custom-fields-ef6-list.json",7241],"7089c5e9":[()=>Promise.all([n.e(71869),n.e(15394),n.e(26289)]).then(n.bind(n,7925)),"@site/forms/php/filters/integrations/mailerlite.mdx",7925],"714feb36":[()=>n.e(13259).then(n.bind(n,64990)),"@site/docs/legacy/v7/basics/frontend.md",64990],"715a66b3":[()=>Promise.all([n.e(71869),n.e(15394),n.e(72888)]).then(n.bind(n,72692)),"@site/forms/php/filters/integrations/active-campaign.mdx",72692],72822034:[()=>n.e(37261).then(n.t.bind(n,35012,19)),"~blog/default/blog-tags-i-18-n-d57-list.json",35012],"72aadbbe":[()=>n.e(43099).then(n.bind(n,67292)),"@site/forms/php/filters/block/form-selector/form-templates.md",67292],"73496ed9":[()=>n.e(20802).then(n.t.bind(n,38326,19)),"~blog/default/blog-tags-service-754.json",38326],"73699c74":[()=>n.e(95211).then(n.bind(n,65134)),"@site/docs/legacy/v7/basics/blocks-component-structure.md",65134],"749660c3":[()=>n.e(43183).then(n.bind(n,61992)),"@site/docs/basics/blocks-structure.md",61992],"74bedbb6":[()=>Promise.all([n.e(71869),n.e(15394),n.e(67187)]).then(n.bind(n,96098)),"@site/forms/javascript/state/captcha.mdx",96098],"752c6bfa":[()=>n.e(11257).then(n.t.bind(n,64891,19)),"~blog/default/blog-tags-plugins-0a9.json",64891],"759f3f6b":[()=>n.e(86417).then(n.t.bind(n,86764,19)),"/home/runner/work/eightshift-docs/eightshift-docs/website/.docusaurus/docusaurus-plugin-content-docs/forms/plugin-route-context-module-100.json",86764],"769f10a0":[()=>n.e(39645).then(n.bind(n,91868)),"@site/docs/legacy/v8/basics/rest-field.md",91868],"76f2b92e":[()=>n.e(40344).then(n.bind(n,88415)),"@site/docs/legacy/v8/basics/blocks-global-manifest.md",88415],"779187a6":[()=>n.e(88517).then(n.bind(n,58774)),"@site/forms/php/global-variables/integrations/goodbits.md",58774],"790fff8f":[()=>n.e(20263).then(n.bind(n,89529)),"@site/forms/php/intro.md",89529],"794bc8f2":[()=>n.e(23856).then(n.bind(n,3049)),"@site/blog/2024-03-28-using-post-templates.md?truncated=true",3049],"795f4ac3":[()=>n.e(9085).then(n.bind(n,1062)),"@site/forms/php/filters/scripts/routes-private.md",1062],"795feea1":[()=>n.e(73034).then(n.bind(n,70365)),"@site/docs/legacy/v5/basics/the-structure.md",70365],79818576:[()=>n.e(74988).then(n.bind(n,76387)),"@site/docs/legacy/v8/basics/basics-intro.md",76387],"79cbe809":[()=>n.e(56110).then(n.bind(n,40932)),"@site/forms/integrations/calculator.md",40932],"7a9c7a9a":[()=>n.e(33373).then(n.bind(n,36628)),"@site/docs/migrations/10-11.md",36628],"7ab92eb4":[()=>n.e(13577).then(n.bind(n,57320)),"@site/forms/known-issues.md",57320],"7b2162ed":[()=>n.e(30644).then(n.bind(n,11491)),"@site/docs/legacy/v5/basics/helpers-javascript.md",11491],"7b3a75e2":[()=>n.e(505).then(n.bind(n,51594)),"@site/docs/legacy/v6/basics/blocks-variations.md",51594],"7c673fac":[()=>n.e(67587).then(n.bind(n,31203)),"@site/blog/2022-03-03-adding-blocks-wpcli.md",31203],"7c785ce9":[()=>n.e(82682).then(n.bind(n,59306)),"@site/docs/legacy/v5/basics/helpers-php.md",59306],"7c7e3f2e":[()=>n.e(6777).then(n.bind(n,98033)),"@site/docs/legacy/v6/basics/blocks-wrapper.md",98033],"7c97d78d":[()=>n.e(48506).then(n.bind(n,24610)),"@site/forms/features/wpml.md",24610],"7cbc5997":[()=>n.e(27722).then(n.bind(n,19041)),"@site/forms/addons/create/intro.md",19041],"7cca0223":[()=>n.e(92526).then(n.bind(n,60591)),"@site/docs/basics/blocks-styles.md",60591],"7cf19012":[()=>n.e(1032).then(n.bind(n,38445)),"@site/docs/legacy/v4/guides/rest-routes-example.md",38445],"7d063b53":[()=>n.e(88691).then(n.bind(n,14153)),"@site/docs/basics/blocks-faq.md",14153],"7d1194b2":[()=>n.e(51459).then(n.bind(n,76235)),"@site/docs/legacy/v4/guides/config.md",76235],"7d66ff10":[()=>n.e(71237).then(n.bind(n,46514)),"@site/docs/legacy/v5/basics/backend.md",46514],"7dd4c8bc":[()=>n.e(3430).then(n.bind(n,31255)),"@site/forms/php/global-variables/integrations/pipedrive.md",31255],"7ddf2558":[()=>n.e(11644).then(n.bind(n,12548)),"@site/docs/legacy/v6/basics/block-manifest.md",12548],"7df6cfaa":[()=>n.e(28131).then(n.bind(n,81207)),"@site/blog/2024-03-28-using-post-templates.md",81207],"7ee32c60":[()=>n.e(51212).then(n.bind(n,5680)),"@site/docs/legacy/v4/guides/manifest.md",5680],"7fa80a78":[()=>n.e(57955).then(n.bind(n,26814)),"@site/forms/php/filters/block/field/style-classes.md",26814],"7fbb6eb5":[()=>n.e(92412).then(n.bind(n,44104)),"@site/forms/php/filters/general/scripts-dependency.md",44104],"801f3f5d":[()=>Promise.all([n.e(23271),n.e(15782)]).then(n.bind(n,91267)),"@site/src/pages/playground.js",91267],"805db72d":[()=>n.e(32851).then(n.bind(n,76788)),"@site/docs/legacy/v7/basics/backend.md",76788],"80796e9f":[()=>n.e(42849).then(n.bind(n,76494)),"@site/docs/legacy/v7/basics/wp-cli.md",76494],"80d0bffa":[()=>n.e(98040).then(n.bind(n,18558)),"@site/forms/php/actions/migrations.md",18558],"80d5addc":[()=>n.e(39130).then(n.bind(n,12352)),"@site/docs/legacy/v5/basics/namespaces.md",12352],"812444b5":[()=>n.e(58239).then(n.bind(n,82847)),"@site/docs/legacy/v6/basics/fonts.md",82847],"814f3328":[()=>n.e(67472).then(n.t.bind(n,55513,19)),"~blog/default/blog-post-list-prop-default.json",55513],"81d5dffa":[()=>n.e(59594).then(n.bind(n,2944)),"@site/docs/legacy/v4/advanced/helpers-components.md",2944],"81faadf7":[()=>n.e(30739).then(n.t.bind(n,5004,19)),"~blog/default/blog-tags-acf-235-list.json",5004],"8364cffd":[()=>n.e(42099).then(n.bind(n,32974)),"@site/docs/legacy/v8/versions.md",32974],"837a3e8d":[()=>n.e(78320).then(n.bind(n,32630)),"@site/forms/php/filters/scripts/dependency-blocks-editor.md",32630],"8383ea83":[()=>n.e(39914).then(n.bind(n,82584)),"@site/forms/tutorials/playlist.mdx",82584],"83ce5e05":[()=>n.e(57167).then(n.bind(n,87946)),"@site/forms/javascript/events/how-to-use.md",87946],"83ee1d6a":[()=>n.e(84570).then(n.bind(n,19896)),"@site/forms/php/filters/scripts/routes-public.md",19896],"85434a08":[()=>n.e(67448).then(n.bind(n,1501)),"@site/docs/legacy/v6/basics/blocks-transforms.md",1501],"85c52577":[()=>n.e(67843).then(n.bind(n,89815)),"@site/forms/php/filters/block/form/pre-response-addon-data.md",89815],"85d49e2b":[()=>n.e(50252).then(n.bind(n,94419)),"@site/docs/additional-libraries/frontend-libs.md",94419],"86405c0e":[()=>n.e(10176).then(n.bind(n,76159)),"@site/docs/basics/blocks-variations.md",76159],"87f23a60":[()=>n.e(7530).then(n.bind(n,95414)),"@site/docs/crash-course/intro.md",95414],"883d241c":[()=>n.e(89340).then(n.t.bind(n,33049,19)),"~blog/default/blog-tags-variations-ce6.json",33049],88748759:[()=>n.e(47103).then(n.bind(n,73012)),"@site/docs/legacy/v8/basics/blocks-variations.md",73012],"889c25c7":[()=>n.e(59654).then(n.bind(n,91442)),"@site/forms/php/global-variables/integrations/workable.md",91442],"8962d52c":[()=>n.e(10454).then(n.bind(n,85763)),"@site/blog/2024-02-29-tips-useful-features.md",85763],"89c5f7f6":[()=>n.e(30003).then(n.bind(n,62184)),"@site/docs/legacy/v7/basics/blocks-transforms.md",62184],"89df0009":[()=>n.e(11405).then(n.t.bind(n,89324,19)),"~blog/default/blog-tags-templates-5ad.json",89324],"8ae4ee15":[()=>n.e(41665).then(n.bind(n,25221)),"@site/docs/legacy/v5/basics/dynamic-import.md",25221],"8b535be0":[()=>n.e(25123).then(n.t.bind(n,68276,19)),"~blog/default/blog-tags-inner-blocks-54b-list.json",68276],"8b62c48f":[()=>n.e(87490).then(n.t.bind(n,79053,19)),"~blog/default/blog-tags-acf-235.json",79053],"8c05f4d5":[()=>n.e(14346).then(n.bind(n,6168)),"@site/docs/basics/rest-route.md",6168],"8cdd3050":[()=>n.e(61118).then(n.bind(n,3406)),"@site/forms/php/filters/block/file/preview-remove-label.md",3406],"8d063d8d":[()=>n.e(52292).then(n.t.bind(n,23509,19)),"~blog/default/blog-tags-inner-blocks-54b.json",23509],"8d5ae15a":[()=>n.e(18465).then(n.bind(n,18310)),"@site/docs/basics/wp-cli.md",18310],"8ddbe34c":[()=>Promise.all([n.e(71869),n.e(15394),n.e(84682)]).then(n.bind(n,37157)),"@site/forms/php/filters/block/form/additional-content.mdx",37157],"8ddd1f69":[()=>n.e(74165).then(n.bind(n,87993)),"@site/forms/php/filters/blocks/allowed-blocks.md",87993],"8df1c5c9":[()=>n.e(18128).then(n.bind(n,31942)),"@site/docs/additional-libraries/libs.md",31942],"8df52c09":[()=>n.e(44876).then(n.bind(n,58069)),"@site/docs/basics/extending-classes.md",58069],"8e0a64cf":[()=>n.e(60574).then(n.t.bind(n,70202,19)),"~blog/default/blog-tags-wpcli-f24.json",70202],"8e2e6ad6":[()=>n.e(62996).then(n.t.bind(n,80606,19)),"~blog/default/blog-tags-taxonomy-769.json",80606],"8eb4e46b":[()=>n.e(65767).then(n.t.bind(n,20541,19)),"~blog/default/blog-page-2-677.json",20541],"8eb5a1d8":[()=>n.e(70395).then(n.bind(n,64694)),"@site/docs/legacy/v6/basics/blocks-faq.md",64694],"8f5a650f":[()=>n.e(48750).then(n.bind(n,50178)),"@site/docs/legacy/v4/advanced/aliases.md",50178],"90151e6b":[()=>n.e(99024).then(n.bind(n,64580)),"@site/forms/javascript/intro.md",64580],"901c0002":[()=>n.e(82694).then(n.bind(n,22309)),"@site/docs/legacy/v6/basics/blocks-registration.md",22309],"90c2c848":[()=>n.e(72238).then(n.bind(n,14259)),"@site/docs/legacy/v7/basics/library.md",14259],"92621e92":[()=>n.e(10053).then(n.bind(n,85656)),"@site/forms/php/filters/block/field/style-options.md",85656],"92a392ff":[()=>n.e(85575).then(n.bind(n,63754)),"@site/forms/php/helpers.md",63754],"935f2afb":[()=>n.e(98581).then(n.t.bind(n,35610,19)),"~docs/default/version-current-metadata-prop-751.json",35610],"938b8490":[()=>n.e(51006).then(n.bind(n,8528)),"@site/blog/2022-04-25-using-assets.md",8528],"94335e76":[()=>n.e(84319).then(n.bind(n,29788)),"@site/docs/migrations/8-9.md",29788],"952356a8":[()=>n.e(71222).then(n.bind(n,97609)),"@site/docs/legacy/v8/basics/blocks-component-manifest.md",97609],"962afcd6":[()=>n.e(35818).then(n.bind(n,61307)),"@site/docs/legacy/v5/basics/blocks-storybook.md",61307],"963c8ac0":[()=>n.e(26532).then(n.bind(n,24856)),"@site/docs/legacy/v4/guides/login.md",24856],"96795ae1":[()=>n.e(54286).then(n.bind(n,45804)),"@site/blog/2022-01-21-components-and-blocks.md",45804],"96c3e083":[()=>n.e(2384).then(n.t.bind(n,67752,19)),"~blog/default/blog-tags-variations-ce6-list.json",67752],"97cb0cff":[()=>n.e(31199).then(n.bind(n,97456)),"@site/docs/legacy/v8/basics/library.md",97456],"98c40af1":[()=>n.e(5843).then(n.bind(n,74758)),"@site/docs/legacy/v7/basics/blocks-global-manifest.md",74758],"9962ee1e":[()=>n.e(46353).then(n.t.bind(n,28076,19)),"~blog/default/blog-tags-icons-c8e-list.json",28076],"998cd6c6":[()=>n.e(51867).then(n.bind(n,57907)),"@site/docs/legacy/v7/basics/architecture-concepts.md",57907],"9a04d7c3":[()=>n.e(11188).then(n.bind(n,28008)),"@site/docs/legacy/v8/basics/helpers-javascript.md",28008],"9a46388f":[()=>n.e(36164).then(n.t.bind(n,9014,19)),"~blog/default/blog-tags-boilerplate-497.json",9014],"9ac95129":[()=>n.e(28860).then(n.bind(n,77520)),"@site/docs/legacy/v6/basics/tips-tricks.md",77520],"9bd02e6c":[()=>n.e(69700).then(n.bind(n,43019)),"@site/forms/php/wp-cli.md",43019],"9bd54e26":[()=>n.e(51318).then(n.bind(n,55535)),"@site/docs/additional-libraries/forms.md",55535],"9ca2f55b":[()=>n.e(20592).then(n.bind(n,45937)),"@site/blog/2022-04-08-adding-fonts.md?truncated=true",45937],"9cc47562":[()=>n.e(88570).then(n.bind(n,3487)),"@site/forms/php/filters/geolocation/phar-location.md",3487],"9cd35a7e":[()=>n.e(7346).then(n.bind(n,90042)),"@site/docs/basics/blocks-patterns.md",90042],"9cd71f2c":[()=>n.e(45488).then(n.bind(n,9084)),"@site/docs/additional-libraries/storybook.md",9084],"9d107aac":[()=>n.e(10587).then(n.bind(n,60914)),"@site/docs/basics/basics-intro.md",60914],"9d255f37":[()=>n.e(44152).then(n.bind(n,68408)),"@site/forms/php/filters/block/form/result-output-items.md",68408],"9d954fea":[()=>n.e(26546).then(n.bind(n,12613)),"@site/docs/legacy/v5/basics/blocks-variations.md",12613],"9dc56d2c":[()=>n.e(88167).then(n.bind(n,36598)),"@site/forms/php/filters/block/form/phone-sync.md",36598],"9e3bbdc0":[()=>n.e(8025).then(n.bind(n,25708)),"@site/forms/php/filters/block/form/success-redirect-url.md",25708],"9e4087bc":[()=>n.e(52711).then(n.bind(n,89331)),"@theme/BlogArchivePage",89331],"9e4e2e8b":[()=>n.e(4041).then(n.bind(n,71724)),"@site/docs/basics/backend.md",71724],"9e8339c4":[()=>n.e(99903).then(n.bind(n,80894)),"@site/forms/features/success-redirect.md",80894],"9ec15741":[()=>n.e(15808).then(n.bind(n,6563)),"@site/docs/legacy/v4/guides/blocks-filer-block-attributes-override.md",6563],"9ee0eb8a":[()=>n.e(90778).then(n.bind(n,23884)),"@site/forms/addons/intro.md",23884],"9eec1b69":[()=>n.e(79).then(n.bind(n,9918)),"@site/docs/legacy/v8/basics/extending-classes.md",9918],"9f25cf08":[()=>n.e(25110).then(n.bind(n,26482)),"@site/docs/legacy/v6/basics/library.md",26482],"9f6545b7":[()=>n.e(29701).then(n.bind(n,1343)),"@site/forms/basics.mdx",1343],"9f724635":[()=>n.e(46115).then(n.bind(n,37779)),"@site/docs/legacy/v8/basics/blocks-reusable.md",37779],"9f7aca5a":[()=>n.e(10780).then(n.bind(n,67475)),"@site/docs/legacy/v5/basics/helpers.md",67475],a0d23381:[()=>n.e(20845).then(n.bind(n,4420)),"@site/forms/integrations/mailerlite.md",4420],a112d798:[()=>Promise.all([n.e(71869),n.e(15394),n.e(70160)]).then(n.bind(n,11321)),"@site/forms/php/filters/integrations/pipedrive.mdx",11321],a12ac645:[()=>n.e(63500).then(n.bind(n,60570)),"@site/forms/features/multisteps-forms.md",60570],a2947dce:[()=>n.e(35176).then(n.bind(n,94126)),"@site/docs/legacy/v5/basics/blocks.md",94126],a2d3b782:[()=>n.e(63574).then(n.bind(n,7397)),"@site/docs/basics/helpers-javascript.md",7397],a2dbf4e7:[()=>n.e(73114).then(n.bind(n,55761)),"@site/docs/legacy/v4/guides/blocks-block-from-components.md",55761],a372a63b:[()=>n.e(4122).then(n.t.bind(n,22855,19)),"~blog/default/blog-tags-query-8a9.json",22855],a374712b:[()=>n.e(2022).then(n.bind(n,46224)),"@site/docs/legacy/v7/basics/rest-route.md",46224],a3a64d88:[()=>n.e(85538).then(n.bind(n,64389)),"@site/forms/features/country-list.md",64389],a43c0a1c:[()=>n.e(58371).then(n.t.bind(n,866,19)),"~blog/default/blog-tags-class-1f9-list.json",866],a45434fa:[()=>n.e(11953).then(n.bind(n,39353)),"@site/forms/php/filters/how-to-use.md",39353],a45b31ec:[()=>n.e(52693).then(n.bind(n,15187)),"@site/docs/migrations/9-10.md",15187],a56ad6f0:[()=>n.e(99726).then(n.bind(n,3584)),"@site/docs/legacy/v8/basics/example-class.md",3584],a5dd7d10:[()=>n.e(97515).then(n.t.bind(n,5581,19)),"~blog/default/blog-tags-patterns-541-list.json",5581],a6aa9e1f:[()=>Promise.all([n.e(71869),n.e(15394),n.e(28747),n.e(37643)]).then(n.bind(n,48809)),"@theme/BlogListPage",48809],a6e1df93:[()=>n.e(89302).then(n.t.bind(n,38533,19)),"~blog/default/blog-tags-i-18-n-d57.json",38533],a7023ddc:[()=>n.e(89267).then(n.t.bind(n,28289,19)),"~blog/default/blog-tags-tags-4c2.json",28289],a737efbc:[()=>n.e(45473).then(n.bind(n,33496)),"@site/docs/legacy/v4/guides/post-type.md",33496],a7bd4aaa:[()=>n.e(67098).then(n.bind(n,74532)),"@theme/DocVersionRoot",74532],a94703ab:[()=>Promise.all([n.e(71869),n.e(79048)]).then(n.bind(n,92559)),"@theme/DocRoot",92559],a97e7f15:[()=>n.e(67036).then(n.bind(n,33083)),"@site/docs/basics/autowiring.md",33083],a9ff9f98:[()=>n.e(647).then(n.t.bind(n,88897,19)),"~blog/default/blog-tags-eightshift-page-2-541.json",88897],aa47c437:[()=>n.e(4997).then(n.bind(n,31)),"@site/docs/basics/global-settings.md",31],ab8fc1e5:[()=>n.e(61602).then(n.bind(n,28674)),"@site/docs/legacy/v5/basics/rest-route.md",28674],acacc2b4:[()=>n.e(47010).then(n.t.bind(n,32646,19)),"~blog/default/blog-tags-patterns-541.json",32646],ad6305cb:[()=>n.e(81319).then(n.bind(n,65493)),"@site/docs/legacy/v4/guides/i18n.md",65493],adaf2bab:[()=>Promise.all([n.e(71869),n.e(15394),n.e(12976)]).then(n.bind(n,29015)),"@site/forms/php/filters/block/form-selector/additional-content.mdx",29015],adb54813:[()=>n.e(37991).then(n.bind(n,16263)),"@site/blog/2022-03-04-modifying-blocks.md",16263],add2b463:[()=>n.e(68629).then(n.bind(n,30612)),"@site/docs/basics/helpers-php.md",30612],ae06c6f1:[()=>Promise.all([n.e(71869),n.e(15394),n.e(58279)]).then(n.bind(n,37710)),"@site/forms/php/filters/block/rating/additional-content.mdx",37710],ae5745cc:[()=>n.e(59846).then(n.bind(n,60869)),"@site/docs/legacy/v5/basics/writing-styles.md",60869],ae8e07b1:[()=>n.e(4264).then(n.t.bind(n,53728,19)),"~docs/forms/version-current-metadata-prop-751.json",53728],aebfde4b:[()=>n.e(37074).then(n.bind(n,85731)),"@site/docs/legacy/v7/basics/block-manifest.md",85731],aee4c48a:[()=>n.e(81598).then(n.bind(n,57477)),"@site/forms/integrations/workable.md",57477],af09cb5f:[()=>n.e(68749).then(n.bind(n,89834)),"@site/forms/php/global-variables/integrations/greenhouse.md",89834],af8ed05f:[()=>Promise.all([n.e(71869),n.e(15394),n.e(86610)]).then(n.bind(n,22079)),"@site/forms/php/filters/block/select/additional-content.mdx",22079],af9ac9e0:[()=>n.e(26659).then(n.bind(n,99189)),"@site/forms/php/actions/how-to-use.md",99189],afb6799c:[()=>n.e(12086).then(n.bind(n,67827)),"@site/docs/legacy/v6/basics/blocks-component-manifest.md",67827],afdc90ee:[()=>n.e(48420).then(n.bind(n,89517)),"@site/docs/basics/blocks-hooks.md",89517],b101fbec:[()=>n.e(32129).then(n.t.bind(n,36489,19)),"~blog/default/blog-tags-classes-074-list.json",36489],b11b48f8:[()=>n.e(94663).then(n.bind(n,51844)),"@site/forms/php/filters/block/form/additional-hidden-fields.md",51844],b22c1dac:[()=>n.e(88873).then(n.bind(n,40619)),"@site/forms/php/filters/block/forms/style-options.md",40619],b2b675dd:[()=>n.e(11991).then(n.t.bind(n,29775,19)),"~blog/default/blog-c06.json",29775],b2f554cd:[()=>n.e(95894).then(n.t.bind(n,76042,19)),"~blog/default/blog-archive-80c.json",76042],b31b2138:[()=>n.e(77345).then(n.bind(n,11629)),"@site/docs/basics/tips-tricks.md",11629],b3636d59:[()=>n.e(93887).then(n.bind(n,78784)),"@site/docs/legacy/v4/guides/di-container.md",78784],b3760b7c:[()=>n.e(43761).then(n.bind(n,76229)),"@site/forms/php/filters/block/form/data-type-selector.md",76229],b3b90a5e:[()=>n.e(19386).then(n.t.bind(n,69795,19)),"~blog/default/blog-tags-class-1f9.json",69795],b4c9bdc9:[()=>n.e(99195).then(n.bind(n,30574)),"@site/docs/legacy/v6/basics/blocks-hooks.md",30574],b4f7c3fb:[()=>n.e(38194).then(n.bind(n,5765)),"@site/docs/legacy/v6/basics/namespaces.md",5765],b6358757:[()=>Promise.all([n.e(71869),n.e(15394),n.e(84036)]).then(n.bind(n,24886)),"@site/forms/php/filters/integrations/moments.mdx",24886],b64e38ac:[()=>n.e(32967).then(n.bind(n,30537)),"@site/forms/javascript/manual-initiation.md",30537],b6915d5f:[()=>n.e(56251).then(n.bind(n,60721)),"@site/docs/legacy/v7/basics/blocks-storybook.md",60721],b6d824a3:[()=>n.e(82245).then(n.t.bind(n,91608,19)),"~blog/default/blog-tags-setup-e81.json",91608],b78e77f8:[()=>n.e(19383).then(n.t.bind(n,36261,19)),"~blog/default/blog-tags-colors-50a.json",36261],b7f27d80:[()=>n.e(10527).then(n.bind(n,83446)),"@site/forms/addons/premium/intro.md",83446],b8283c8e:[()=>Promise.all([n.e(71869),n.e(15394),n.e(83540)]).then(n.bind(n,34535)),"@site/forms/php/filters/block/radios/additional-content.mdx",34535],b8b55b85:[()=>n.e(27062).then(n.bind(n,45033)),"@site/forms/integrations/hubspot.md",45033],b8b9d8e8:[()=>n.e(15553).then(n.bind(n,20473)),"@site/docs/legacy/v5/basics/webpack.md",20473],b9355076:[()=>n.e(8824).then(n.bind(n,4227)),"@site/docs/legacy/v8/basics/backend.md",4227],b9979bed:[()=>n.e(71198).then(n.t.bind(n,1268,19)),"~blog/default/blog-tags-eightshift-ee2.json",1268],ba4d70ca:[()=>n.e(5377).then(n.bind(n,47886)),"@site/docs/legacy/v7/basics/browser-sync.md",47886],bacc15ea:[()=>n.e(71338).then(n.bind(n,8587)),"@site/forms/features/result-output.md",8587],bb95e167:[()=>n.e(92698).then(n.bind(n,5906)),"@site/docs/legacy/v8/basics/dynamic-import.md",5906],bb98611a:[()=>n.e(66613).then(n.bind(n,61803)),"@site/docs/additional-libraries/coding-standards.md",61803],bc5075fb:[()=>n.e(95561).then(n.bind(n,98471)),"@site/docs/legacy/v7/basics/global-settings.md",98471],bc8a7ae5:[()=>n.e(56661).then(n.bind(n,43321)),"@site/docs/legacy/v6/basics/basics-intro.md",43321],bca46e3f:[()=>n.e(36173).then(n.bind(n,54117)),"@site/blog/2022-12-13-using-cpts-and-taxonomies.md?truncated=true",54117],bcdc9a5c:[()=>n.e(72947).then(n.bind(n,46826)),"@site/docs/legacy/v6/basics/blocks-styles.md",46826],bce2f7e5:[()=>n.e(2872).then(n.bind(n,4786)),"@site/docs/legacy/v6/basics/blocks-storybook.md",4786],be197d78:[()=>n.e(726).then(n.bind(n,45313)),"@site/blog/2023-08-03-adding-custom-query.md",45313],be937143:[()=>n.e(57515).then(n.bind(n,75688)),"@site/forms/php/filters/enrichment/manual-map.md",75688],beb2a160:[()=>Promise.all([n.e(71869),n.e(15394),n.e(70332)]).then(n.bind(n,92021)),"@site/forms/php/filters/block/file/additional-content.mdx",92021],bf7018cf:[()=>n.e(41506).then(n.bind(n,60292)),"@site/docs/legacy/v4/advanced/components-color-palette.md",60292],bff0bad2:[()=>n.e(80824).then(n.bind(n,87067)),"@site/forms/php/filters/block/form/success-redirect-variation-options.md",87067],c15d2dfd:[()=>n.e(4292).then(n.bind(n,19548)),"@site/docs/tutorials/intro.md",19548],c2a527e7:[()=>n.e(10287).then(n.bind(n,26447)),"@site/docs/legacy/v8/basics/frontend.md",26447],c3122f65:[()=>n.e(41835).then(n.bind(n,60423)),"@site/docs/legacy/v8/basics/blocks-component-in-block.md",60423],c344252c:[()=>n.e(79643).then(n.bind(n,32715)),"@site/forms/php/global-variables/integrations/jira.md",32715],c361232e:[()=>n.e(83708).then(n.bind(n,72431)),"@site/docs/legacy/v6/basics/blocks-patterns.md",72431],c38062b9:[()=>Promise.all([n.e(71869),n.e(15394),n.e(97686)]).then(n.bind(n,74896)),"@site/forms/php/filters/integrations/hubspot.mdx",74896],c38fd7bd:[()=>n.e(3518).then(n.bind(n,55305)),"@site/blog/2022-05-10-acf-in-a-project.md",55305],c4f5d8e4:[()=>n.e(52634).then(n.bind(n,30192)),"@site/src/pages/index.js",30192],c55525a9:[()=>n.e(17996).then(n.bind(n,94309)),"@site/docs/legacy/v4/guides/rest-field-example.md",94309],c62d4947:[()=>n.e(54752).then(n.bind(n,36010)),"@site/docs/basics/fonts.md",36010],c661d3f1:[()=>n.e(87843).then(n.bind(n,91291)),"@site/docs/basics/block-manifest.md",91291],c6cd348e:[()=>n.e(82729).then(n.bind(n,89780)),"@site/docs/legacy/v7/basics/blocks-registration.md",89780],c709f244:[()=>n.e(13991).then(n.t.bind(n,39414,19)),"~blog/default/blog-tags-assets-503.json",39414],c72fb457:[()=>n.e(33839).then(n.bind(n,6561)),"@site/docs/legacy/v5/basics/block-manifest.md",6561],c78f4965:[()=>n.e(61593).then(n.bind(n,99748)),"@site/forms/php/filters/block/form/tracking-event-name.md",99748],c7fa2f29:[()=>n.e(75149).then(n.bind(n,73584)),"@site/docs/legacy/v5/basics/wp-cli.md",73584],c80bf43d:[()=>n.e(60743).then(n.bind(n,64130)),"@site/blog/2023-09-05-wrapper-as-a-standalone-component.md?truncated=true",64130],c87de583:[()=>n.e(51454).then(n.t.bind(n,20338,19)),"~blog/default/blog-tags-components-279-list.json",20338],c9815f8a:[()=>n.e(96390).then(n.bind(n,36189)),"@site/forms/php/global-variables/integrations/mailchimp.md",36189],c9c3a302:[()=>n.e(76347).then(n.t.bind(n,75485,19)),"~blog/default/blog-tags-service-754-list.json",75485],c9f06a2a:[()=>n.e(96541).then(n.bind(n,32881)),"@site/forms/php/filters/block/form/global-msg-headings.md",32881],ca69ab29:[()=>n.e(18766).then(n.bind(n,18006)),"@site/docs/legacy/v7/basics/helpers-scss.md",18006],cb3c2681:[()=>n.e(94835).then(n.bind(n,53404)),"@site/docs/legacy/v6/basics/dynamic-import.md",53404],cb7a22d0:[()=>Promise.all([n.e(71869),n.e(15394),n.e(96980)]).then(n.bind(n,79356)),"@site/forms/javascript/state/step.mdx",79356],ccc49370:[()=>Promise.all([n.e(71869),n.e(15394),n.e(28747),n.e(83249)]).then(n.bind(n,84029)),"@theme/BlogPostPage",84029],ccea3a4d:[()=>n.e(52375).then(n.bind(n,60673)),"@site/docs/legacy/v7/basics/block-structure.md",60673],cd0300a2:[()=>n.e(28320).then(n.t.bind(n,16062,19)),"~blog/default/blog-tags-cpt-860.json",16062],cd521b29:[()=>n.e(97817).then(n.bind(n,77927)),"@site/blog/2023-06-12-multiple-same-components.md",77927],ce0a947c:[()=>n.e(7243).then(n.bind(n,1419)),"@site/docs/legacy/v8/basics/browser-sync.md",1419],ce19f7d3:[()=>n.e(49163).then(n.t.bind(n,56805,19)),"~blog/default/blog-tags-boilerplate-page-2-757-list.json",56805],ce4b3df7:[()=>n.e(94417).then(n.bind(n,47093)),"@site/docs/legacy/v4/guides/media.md",47093],ce7d450a:[()=>n.e(18122).then(n.bind(n,84938)),"@site/docs/basics/blocks-wrapper.md",84938],cec206a7:[()=>n.e(88142).then(n.bind(n,51704)),"@site/docs/legacy/v8/basics/blocks-storybook.md",51704],cf4609e7:[()=>n.e(22383).then(n.bind(n,73937)),"@site/docs/legacy/v6/basics/blocks-component-in-block.md",73937],cf91d205:[()=>n.e(94261).then(n.bind(n,67347)),"@site/forms/addons/free/intro.md",67347],cfae12a4:[()=>Promise.all([n.e(71869),n.e(15394),n.e(96328)]).then(n.bind(n,64351)),"@site/forms/php/filters/block/submit/additional-content.mdx",64351],d0301901:[()=>Promise.all([n.e(71869),n.e(15394),n.e(67921)]).then(n.bind(n,95859)),"@site/forms/php/filters/block/input/additional-content.mdx",95859],d0b1075b:[()=>n.e(98466).then(n.bind(n,43044)),"@site/forms/integrations/clearbit.md",43044],d0c63040:[()=>n.e(125).then(n.bind(n,66755)),"@site/blog/2023-08-03-adding-custom-query.md?truncated=true",66755],d0e59ab5:[()=>n.e(90072).then(n.t.bind(n,82750,19)),"~blog/default/blog-tags-boilerplate-page-2-757.json",82750],d0ecf97a:[()=>n.e(22292).then(n.bind(n,31028)),"@site/forms/php/filters/general/locale.md",31028],d136d263:[()=>Promise.all([n.e(71869),n.e(15394),n.e(44370)]).then(n.bind(n,10156)),"@site/forms/javascript/state/form.mdx",10156],d14f8ee5:[()=>n.e(48955).then(n.bind(n,54932)),"@site/docs/basics/blocks-attributes.md",54932],d1a0cea3:[()=>n.e(54077).then(n.bind(n,14966)),"@site/docs/basics/browser-sync.md",14966],d28f320b:[()=>n.e(64978).then(n.bind(n,90927)),"@site/forms/php/filters/integrations/clearbit.md",90927],d2dc1d28:[()=>n.e(39535).then(n.t.bind(n,78204,19)),"~blog/default/blog-tags-block-047-list.json",78204],d3930d00:[()=>n.e(73356).then(n.bind(n,18224)),"@site/forms/php/filters/geolocation/db-location.md",18224],d5c4c4ae:[()=>n.e(82316).then(n.bind(n,77280)),"@site/forms/integrations/intro.mdx",77280],d5f39101:[()=>n.e(12084).then(n.bind(n,88785)),"@site/docs/legacy/v5/basics/blocks-styles.md",88785],d6a42b72:[()=>n.e(74929).then(n.bind(n,13681)),"@site/docs/legacy/v8/basics/blocks-patterns.md",13681],d7756765:[()=>n.e(46578).then(n.bind(n,26465)),"@site/docs/legacy/v7/basics/blocks-faq.md",26465],d817bad3:[()=>n.e(16323).then(n.bind(n,63121)),"@site/forms/javascript/events/available-events.mdx",63121],d845213b:[()=>n.e(8150).then(n.bind(n,86373)),"@site/docs/legacy/v7/basics/rest-field.md",86373],d88895d1:[()=>n.e(65024).then(n.bind(n,92357)),"@site/docs/legacy/v4/advanced/browsersync.md",92357],d9cc83f8:[()=>n.e(80081).then(n.t.bind(n,73390,19)),"~blog/default/blog-tags-multilingual-011.json",73390],da20989d:[()=>n.e(80536).then(n.bind(n,69269)),"@site/docs/additional-libraries/stubs.md",69269],da81302a:[()=>n.e(53721).then(n.bind(n,94651)),"@site/docs/basics/manifest.md",94651],daf8bbf9:[()=>n.e(35175).then(n.bind(n,80529)),"@site/blog/2022-09-07-block-variations.md?truncated=true",80529],db6287e5:[()=>n.e(89940).then(n.bind(n,57022)),"@site/docs/legacy/v7/basics/blocks-component-manifest.md",57022],db98aa0c:[()=>n.e(55923).then(n.bind(n,1710)),"@site/docs/legacy/v5/basics/blocks-registration.md",1710],dbd7356d:[()=>n.e(10572).then(n.bind(n,38123)),"@site/forms/integrations/moments.md",38123],dbfa0beb:[()=>n.e(70073).then(n.bind(n,47413)),"@site/forms/features/tracking.md",47413],dc28c8db:[()=>Promise.all([n.e(71869),n.e(15394),n.e(29629)]).then(n.bind(n,65584)),"@site/forms/javascript/state/conditional-tags.mdx",65584],dc46868d:[()=>n.e(85176).then(n.bind(n,70607)),"@site/docs/legacy/v6/basics/rest-route.md",70607],dc5b4777:[()=>Promise.all([n.e(23271),n.e(22864)]).then(n.bind(n,99680)),"@site/src/pages/devkit-components.js",99680],dd059938:[()=>n.e(50261).then(n.bind(n,15419)),"@site/docs/basics/library.md",15419],ddb69969:[()=>n.e(31438).then(n.bind(n,11712)),"@site/forms/features/cloudflare.md",11712],de657462:[()=>n.e(48608).then(n.bind(n,99483)),"@site/docs/additional-libraries/boilerplate.md",99483],dea8b3ed:[()=>n.e(78547).then(n.bind(n,82409)),"@site/forms/php/filters/scripts/dependency-admin.md",82409],e00f1d66:[()=>n.e(32173).then(n.bind(n,30041)),"@site/blog/2022-03-04-modifying-blocks.md?truncated=true",30041],e0b2cb26:[()=>Promise.all([n.e(71869),n.e(15394),n.e(85891)]).then(n.bind(n,40361)),"@site/forms/php/filters/integrations/calculator.mdx",40361],e0d892c2:[()=>n.e(28766).then(n.t.bind(n,99387,19)),"~blog/default/blog-tags-wrapper-043.json",99387],e110487c:[()=>n.e(37752).then(n.bind(n,88696)),"@site/docs/basics/rest.md",88696],e12d4719:[()=>n.e(32046).then(n.bind(n,7557)),"@site/docs/legacy/v4/guides/blocks-render-block-view-helper.md",7557],e18eec83:[()=>n.e(53883).then(n.bind(n,30953)),"@site/forms/php/filters/block/country/alternative-data-set.md",30953],e1f747d9:[()=>n.e(98542).then(n.bind(n,60013)),"@site/docs/legacy/v8/basics/rest-route.md",60013],e2bba919:[()=>n.e(71266).then(n.t.bind(n,54883,19)),"~blog/default/blog-tags-blocks-4f6.json",54883],e37577e1:[()=>n.e(51331).then(n.bind(n,89863)),"@site/forms/features/labels.md",89863],e3792bbb:[()=>n.e(71336).then(n.bind(n,95190)),"@site/docs/migrations/7-8.md",95190],e4399142:[()=>n.e(27688).then(n.bind(n,42023)),"@site/docs/legacy/v4/guides/blocks-structure.md",42023],e4932c64:[()=>n.e(43635).then(n.bind(n,77043)),"@site/forms/addons/create/addon-boilerplate.md",77043],e4af6a2d:[()=>n.e(57388).then(n.t.bind(n,19029,19)),"~blog/default/blog-tags-multilingual-011-list.json",19029],e6326b0c:[()=>n.e(44390).then(n.bind(n,31435)),"@site/docs/legacy/v8/basics/blocks-attributes.md",31435],e71b04e6:[()=>n.e(31535).then(n.bind(n,88907)),"@site/docs/legacy/v7/basics/dynamic-import.md",88907],e7328bb1:[()=>n.e(23101).then(n.bind(n,23462)),"@site/docs/legacy/v5/basics/blocks-special-use-cases.md",23462],e79e64be:[()=>n.e(93244).then(n.bind(n,30243)),"@site/docs/basics/blocks-important.md",30243],e801e723:[()=>n.e(70652).then(n.bind(n,14193)),"@site/blog/2022-12-22-block-patterns.md",14193],e8854f45:[()=>n.e(34054).then(n.bind(n,82311)),"@site/forms/first-form.mdx",82311],e8903528:[()=>n.e(57865).then(n.bind(n,21757)),"@site/docs/legacy/v5/basics/blocks-important.md",21757],e8a4c7be:[()=>n.e(23738).then(n.bind(n,82614)),"@site/docs/migrations/5-6.md",82614],e90b4b34:[()=>n.e(25632).then(n.bind(n,95034)),"@site/docs/legacy/v5/basics/rest.md",95034],e93eaee1:[()=>n.e(5017).then(n.bind(n,85784)),"@site/forms/addons/premium/computed-fields/how-to-use.md",85784],e9beab12:[()=>n.e(746).then(n.bind(n,24664)),"@site/docs/basics/blocks-component-in-block.md",24664],ea645227:[()=>n.e(12279).then(n.bind(n,27940)),"@site/docs/legacy/v8/basics/blocks-faq.md",27940],eaffcef6:[()=>n.e(31357).then(n.bind(n,62776)),"@site/forms/php/global-variables/integrations/active-campaign.md",62776],ebfee794:[()=>n.e(94386).then(n.bind(n,33414)),"@site/docs/welcome.md",33414],ec5d0804:[()=>n.e(75292).then(n.bind(n,74384)),"@site/docs/legacy/v4/guides/columns-user.md",74384],ecf43748:[()=>n.e(72379).then(n.bind(n,75529)),"@site/docs/legacy/v8/basics/rest.md",75529],ed133f89:[()=>n.e(25186).then(n.t.bind(n,20354,19)),"~blog/default/blog-tags-blocks-4f6-list.json",20354],ed3575d5:[()=>n.e(28233).then(n.bind(n,62579)),"@site/docs/legacy/v5/basics/blocks-hooks.md",62579],ed480930:[()=>n.e(60536).then(n.bind(n,4672)),"@site/docs/legacy/v8/basics/webpack.md",4672],ee1ed8c4:[()=>n.e(83546).then(n.bind(n,10681)),"@site/docs/legacy/v7/versions.md",10681],ee4eba04:[()=>n.e(67743).then(n.t.bind(n,97328,19)),"~blog/default/blog-tags-eightshift-page-2-541-list.json",97328],ee85e3b6:[()=>n.e(17668).then(n.t.bind(n,35291,19)),"~blog/default/blog-tags-eightshift-ee2-list.json",35291],ee924e36:[()=>n.e(1070).then(n.bind(n,4988)),"@site/docs/legacy/v7/basics/helpers-php.md",4988],ef02483f:[()=>n.e(31671).then(n.bind(n,32176)),"@site/docs/legacy/v5/basics/blocks-patterns.md",32176],efbb6268:[()=>n.e(8264).then(n.bind(n,12382)),"@site/blog/2022-01-20-initial-setup.md?truncated=true",12382],f00dda52:[()=>n.e(72821).then(n.bind(n,42445)),"@site/docs/legacy/v7/basics/helpers-javascript.md",42445],f0b5617d:[()=>n.e(90172).then(n.bind(n,39860)),"@site/docs/legacy/v5/basics/blocks-wrapper.md",39860],f0ebaa7e:[()=>n.e(63166).then(n.bind(n,21856)),"@site/docs/migrations/6-7.md",21856],f0f0c9e0:[()=>n.e(63900).then(n.bind(n,1041)),"@site/forms/php/filters/block/step/component-next.md",1041],f162eb70:[()=>n.e(26984).then(n.t.bind(n,55261,19)),"~blog/default/blog-tags-boilerplate-497-list.json",55261],f17f4e68:[()=>n.e(55888).then(n.bind(n,60439)),"@site/forms/php/shortcodes.md",60439],f1a7576f:[()=>n.e(10120).then(n.bind(n,25010)),"@site/forms/features/entries.md",25010],f218f265:[()=>n.e(9687).then(n.bind(n,23097)),"@site/forms/features/migrations.md",23097],f26f0cdb:[()=>n.e(2998).then(n.bind(n,97553)),"@site/docs/legacy/v4/advanced/helpers-shortcode.md",97553],f34f869b:[()=>n.e(2107).then(n.bind(n,89598)),"@site/forms/php/filters/block/form/tracking-additional-data.md",89598],f407a811:[()=>n.e(75659).then(n.bind(n,86444)),"@site/docs/legacy/v7/basics/example-class.md",86444],f4a6cc60:[()=>n.e(27508).then(n.bind(n,92848)),"@site/src/pages/showcase-infinum.js",92848],f5d62c05:[()=>n.e(36334).then(n.bind(n,72174)),"@site/docs/legacy/v6/basics/webpack.md",72174],f6aef24f:[()=>n.e(27879).then(n.t.bind(n,69221,19)),"~blog/default/blog-tags-cpt-860-list.json",69221],f7aec19e:[()=>n.e(72530).then(n.t.bind(n,49017,19)),"~blog/default/blog-tags-terms-b0c.json",49017],f7b99134:[()=>n.e(44574).then(n.t.bind(n,52182,19)),"~blog/default/blog-tags-query-8a9-list.json",52182],f880b41b:[()=>n.e(56142).then(n.bind(n,74943)),"@site/blog/2022-09-07-block-variations.md",74943],f8bbda75:[()=>n.e(54260).then(n.bind(n,51731)),"@site/docs/basics/dynamic-import.md",51731],f8d85197:[()=>n.e(64955).then(n.bind(n,73257)),"@site/docs/legacy/v4/guides/fonts-icon.md",73257],f92290a0:[()=>n.e(66660).then(n.bind(n,51523)),"@site/forms/php/filters/admin/settings-data.md",51523],f92772a6:[()=>n.e(86207).then(n.bind(n,27453)),"@site/docs/legacy/v4/guides/blocks-structure-manifest.md",27453],fae9d50a:[()=>n.e(46150).then(n.bind(n,1676)),"@site/forms/php/global-variables/google-recaptcha.md",1676],fbd7f063:[()=>n.e(89139).then(n.bind(n,50087)),"@site/docs/legacy/v8/basics/helpers-scss.md",50087],fbe6399d:[()=>n.e(51093).then(n.bind(n,17798)),"@site/docs/legacy/v4/guides/menu.md",17798],fbe7d2e8:[()=>n.e(66670).then(n.bind(n,76015)),"@site/docs/legacy/v5/basics/extending-classes.md",76015],fce92293:[()=>n.e(67812).then(n.bind(n,23122)),"@site/docs/legacy/v5/basics/blocks-component-in-block.md",23122],fd21cc65:[()=>n.e(6551).then(n.bind(n,17401)),"@site/docs/legacy/v5/basics/example-class.md",17401],fd4ea388:[()=>n.e(88412).then(n.bind(n,54091)),"@site/docs/legacy/v5/versions.md",54091],fd6d4018:[()=>n.e(5440).then(n.bind(n,65446)),"@site/docs/legacy/v8/basics/tips-tricks.md",65446],fda35176:[()=>n.e(20140).then(n.bind(n,22989)),"@site/forms/php/filters/block/form/pre-response-success-redirect-data.md",22989],fdc13b44:[()=>n.e(19646).then(n.bind(n,28354)),"@site/docs/legacy/v8/basics/autowiring.md",28354],fea00b33:[()=>n.e(20031).then(n.bind(n,50446)),"@site/docs/basics/helpers-scss.md",50446],ff445556:[()=>Promise.all([n.e(71869),n.e(15394),n.e(82368)]).then(n.bind(n,85099)),"@site/forms/php/filters/block/phone/additional-content.mdx",85099],ffc0ac08:[()=>n.e(37798).then(n.t.bind(n,12090,19)),"~blog/default/blog-tags-plugins-0a9-list.json",12090]};var i=n(74848);function c(e){let{error:t,retry:n,pastDelay:s}=e;return t?(0,i.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,i.jsx)("p",{children:String(t)}),(0,i.jsx)("div",{children:(0,i.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):s?(0,i.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,i.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,i.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,i.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,i.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,i.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,i.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,i.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,i.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,i.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,i.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,i.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,i.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var l=n(86921),d=n(53102);function u(e,t){if("*"===e)return o()({loading:c,loader:()=>n.e(82237).then(n.bind(n,82237)),modules:["@theme/NotFound"],webpack:()=>[82237],render(e,t){const n=e.default;return(0,i.jsx)(d.W,{value:{plugin:{name:"native",id:"default"}},children:(0,i.jsx)(n,{...t})})}});const s=a[`${e}-${t}`],u={},p=[],f=[],b=(0,l.A)(s);return Object.entries(b).forEach((e=>{let[t,n]=e;const s=r[n];s&&(u[t]=s[0],p.push(s[1]),f.push(s[2]))})),o().Map({loading:c,loader:u,modules:p,webpack:()=>f,render(t,n){const o=JSON.parse(JSON.stringify(s));Object.entries(t).forEach((t=>{let[n,s]=t;const a=s.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(s).filter((e=>"default"!==e)).forEach((e=>{a[e]=s[e]}));let r=o;const i=n.split(".");i.slice(0,-1).forEach((e=>{r=r[e]})),r[i[i.length-1]]=a}));const a=o.__comp;delete o.__comp;const r=o.__context;return delete o.__context,(0,i.jsx)(d.W,{value:r,children:(0,i.jsx)(a,{...o,...n})})}})}const p=[{path:"/blog",component:u("/blog","c26"),exact:!0},{path:"/blog/acf-in-a-project",component:u("/blog/acf-in-a-project","3c7"),exact:!0},{path:"/blog/adding-blocks-wpcli",component:u("/blog/adding-blocks-wpcli","167"),exact:!0},{path:"/blog/adding-fonts",component:u("/blog/adding-fonts","457"),exact:!0},{path:"/blog/archive",component:u("/blog/archive","39c"),exact:!0},{path:"/blog/block-patterns",component:u("/blog/block-patterns","4f0"),exact:!0},{path:"/blog/block-variations",component:u("/blog/block-variations","8af"),exact:!0},{path:"/blog/components-and-blocks",component:u("/blog/components-and-blocks","548"),exact:!0},{path:"/blog/initial-setup",component:u("/blog/initial-setup","298"),exact:!0},{path:"/blog/making-your-project-multilingual",component:u("/blog/making-your-project-multilingual","8bd"),exact:!0},{path:"/blog/modifying-blocks-color-theme",component:u("/blog/modifying-blocks-color-theme","949"),exact:!0},{path:"/blog/multiple-same-components",component:u("/blog/multiple-same-components","f33"),exact:!0},{path:"/blog/page/2",component:u("/blog/page/2","43b"),exact:!0},{path:"/blog/tags",component:u("/blog/tags","129"),exact:!0},{path:"/blog/tags/acf",component:u("/blog/tags/acf","903"),exact:!0},{path:"/blog/tags/advanced-custom-fields",component:u("/blog/tags/advanced-custom-fields","1a4"),exact:!0},{path:"/blog/tags/assets",component:u("/blog/tags/assets","3c8"),exact:!0},{path:"/blog/tags/block",component:u("/blog/tags/block","916"),exact:!0},{path:"/blog/tags/blocks",component:u("/blog/tags/blocks","02f"),exact:!0},{path:"/blog/tags/boilerplate",component:u("/blog/tags/boilerplate","f67"),exact:!0},{path:"/blog/tags/boilerplate/page/2",component:u("/blog/tags/boilerplate/page/2","370"),exact:!0},{path:"/blog/tags/class",component:u("/blog/tags/class","153"),exact:!0},{path:"/blog/tags/classes",component:u("/blog/tags/classes","a70"),exact:!0},{path:"/blog/tags/colors",component:u("/blog/tags/colors","d57"),exact:!0},{path:"/blog/tags/components",component:u("/blog/tags/components","a9a"),exact:!0},{path:"/blog/tags/cpt",component:u("/blog/tags/cpt","15d"),exact:!0},{path:"/blog/tags/custom-post-type",component:u("/blog/tags/custom-post-type","7fe"),exact:!0},{path:"/blog/tags/eightshift",component:u("/blog/tags/eightshift","2f4"),exact:!0},{path:"/blog/tags/eightshift/page/2",component:u("/blog/tags/eightshift/page/2","d76"),exact:!0},{path:"/blog/tags/fonts",component:u("/blog/tags/fonts","a23"),exact:!0},{path:"/blog/tags/i-18-n",component:u("/blog/tags/i-18-n","f11"),exact:!0},{path:"/blog/tags/icons",component:u("/blog/tags/icons","1ce"),exact:!0},{path:"/blog/tags/images",component:u("/blog/tags/images","770"),exact:!0},{path:"/blog/tags/inner-blocks",component:u("/blog/tags/inner-blocks","81d"),exact:!0},{path:"/blog/tags/multilingual",component:u("/blog/tags/multilingual","e51"),exact:!0},{path:"/blog/tags/patterns",component:u("/blog/tags/patterns","387"),exact:!0},{path:"/blog/tags/plugins",component:u("/blog/tags/plugins","ab7"),exact:!0},{path:"/blog/tags/query",component:u("/blog/tags/query","732"),exact:!0},{path:"/blog/tags/service",component:u("/blog/tags/service","f8c"),exact:!0},{path:"/blog/tags/setup",component:u("/blog/tags/setup","496"),exact:!0},{path:"/blog/tags/taxonomies",component:u("/blog/tags/taxonomies","778"),exact:!0},{path:"/blog/tags/taxonomy",component:u("/blog/tags/taxonomy","f26"),exact:!0},{path:"/blog/tags/templates",component:u("/blog/tags/templates","412"),exact:!0},{path:"/blog/tags/terms",component:u("/blog/tags/terms","dff"),exact:!0},{path:"/blog/tags/theme-options",component:u("/blog/tags/theme-options","459"),exact:!0},{path:"/blog/tags/variations",component:u("/blog/tags/variations","667"),exact:!0},{path:"/blog/tags/wpcli",component:u("/blog/tags/wpcli","2a5"),exact:!0},{path:"/blog/tags/wrapper",component:u("/blog/tags/wrapper","be2"),exact:!0},{path:"/blog/tips-useful-features",component:u("/blog/tips-useful-features","50e"),exact:!0},{path:"/blog/using-assets",component:u("/blog/using-assets","4c7"),exact:!0},{path:"/blog/using-cpts-and-taxonomies",component:u("/blog/using-cpts-and-taxonomies","a1f"),exact:!0},{path:"/blog/using-inner-blocks",component:u("/blog/using-inner-blocks","310"),exact:!0},{path:"/blog/using-post-templates",component:u("/blog/using-post-templates","eed"),exact:!0},{path:"/blog/working-with-custom-queries",component:u("/blog/working-with-custom-queries","01f"),exact:!0},{path:"/blog/wrapper-as-a-standalone-component",component:u("/blog/wrapper-as-a-standalone-component","20b"),exact:!0},{path:"/devkit-components",component:u("/devkit-components","031"),exact:!0},{path:"/playground",component:u("/playground","b0b"),exact:!0},{path:"/search",component:u("/search","834"),exact:!0},{path:"/showcase",component:u("/showcase","2bb"),exact:!0},{path:"/showcase-infinum",component:u("/showcase-infinum","0cf"),exact:!0},{path:"/docs",component:u("/docs","92e"),routes:[{path:"/docs",component:u("/docs","250"),routes:[{path:"/docs",component:u("/docs","188"),routes:[{path:"/docs/additional-libraries/boilerplate",component:u("/docs/additional-libraries/boilerplate","96d"),exact:!0,sidebar:"docs"},{path:"/docs/additional-libraries/boilerplate-plugin",component:u("/docs/additional-libraries/boilerplate-plugin","546"),exact:!0,sidebar:"docs"},{path:"/docs/additional-libraries/coding-standards",component:u("/docs/additional-libraries/coding-standards","6ec"),exact:!0,sidebar:"docs"},{path:"/docs/additional-libraries/docs",component:u("/docs/additional-libraries/docs","d1b"),exact:!0,sidebar:"docs"},{path:"/docs/additional-libraries/forms",component:u("/docs/additional-libraries/forms","2b7"),exact:!0,sidebar:"docs"},{path:"/docs/additional-libraries/frontend-libs",component:u("/docs/additional-libraries/frontend-libs","9c9"),exact:!0,sidebar:"docs"},{path:"/docs/additional-libraries/libs",component:u("/docs/additional-libraries/libs","5fd"),exact:!0,sidebar:"docs"},{path:"/docs/additional-libraries/storybook",component:u("/docs/additional-libraries/storybook","78e"),exact:!0,sidebar:"docs"},{path:"/docs/additional-libraries/stubs",component:u("/docs/additional-libraries/stubs","3ec"),exact:!0,sidebar:"docs"},{path:"/docs/basics/architecture-concepts",component:u("/docs/basics/architecture-concepts","fd8"),exact:!0,sidebar:"docs"},{path:"/docs/basics/autowiring",component:u("/docs/basics/autowiring","929"),exact:!0,sidebar:"docs"},{path:"/docs/basics/backend",component:u("/docs/basics/backend","edb"),exact:!0,sidebar:"docs"},{path:"/docs/basics/basics-intro",component:u("/docs/basics/basics-intro","4ea"),exact:!0,sidebar:"docs"},{path:"/docs/basics/block-manifest",component:u("/docs/basics/block-manifest","339"),exact:!0,sidebar:"docs"},{path:"/docs/basics/block-structure",component:u("/docs/basics/block-structure","1e3"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks",component:u("/docs/basics/blocks","abc"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-attributes",component:u("/docs/basics/blocks-attributes","881"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-component-in-block",component:u("/docs/basics/blocks-component-in-block","36d"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-component-manifest",component:u("/docs/basics/blocks-component-manifest","1d5"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-component-structure",component:u("/docs/basics/blocks-component-structure","e92"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-faq",component:u("/docs/basics/blocks-faq","feb"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-global-manifest",component:u("/docs/basics/blocks-global-manifest","82e"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-hooks",component:u("/docs/basics/blocks-hooks","83c"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-important",component:u("/docs/basics/blocks-important","a6f"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-patterns",component:u("/docs/basics/blocks-patterns","ddb"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-registration",component:u("/docs/basics/blocks-registration","bda"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-reusable",component:u("/docs/basics/blocks-reusable","ae2"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-special-use-cases",component:u("/docs/basics/blocks-special-use-cases","1f9"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-storybook",component:u("/docs/basics/blocks-storybook","5fb"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-structure",component:u("/docs/basics/blocks-structure","c52"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-styles",component:u("/docs/basics/blocks-styles","1a2"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-transforms",component:u("/docs/basics/blocks-transforms","03b"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-variations",component:u("/docs/basics/blocks-variations","be6"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-wrapper",component:u("/docs/basics/blocks-wrapper","f36"),exact:!0,sidebar:"docs"},{path:"/docs/basics/browser-sync",component:u("/docs/basics/browser-sync","a56"),exact:!0,sidebar:"docs"},{path:"/docs/basics/dynamic-import",component:u("/docs/basics/dynamic-import","64e"),exact:!0,sidebar:"docs"},{path:"/docs/basics/example-class",component:u("/docs/basics/example-class","9b9"),exact:!0,sidebar:"docs"},{path:"/docs/basics/extending-classes",component:u("/docs/basics/extending-classes","edf"),exact:!0,sidebar:"docs"},{path:"/docs/basics/fonts",component:u("/docs/basics/fonts","75b"),exact:!0,sidebar:"docs"},{path:"/docs/basics/frontend",component:u("/docs/basics/frontend","294"),exact:!0,sidebar:"docs"},{path:"/docs/basics/global-settings",component:u("/docs/basics/global-settings","b98"),exact:!0,sidebar:"docs"},{path:"/docs/basics/helpers",component:u("/docs/basics/helpers","3bd"),exact:!0,sidebar:"docs"},{path:"/docs/basics/helpers-javascript",component:u("/docs/basics/helpers-javascript","c8d"),exact:!0,sidebar:"docs"},{path:"/docs/basics/helpers-php",component:u("/docs/basics/helpers-php","2d7"),exact:!0,sidebar:"docs"},{path:"/docs/basics/helpers-scss",component:u("/docs/basics/helpers-scss","1c0"),exact:!0,sidebar:"docs"},{path:"/docs/basics/library",component:u("/docs/basics/library","1d0"),exact:!0,sidebar:"docs"},{path:"/docs/basics/manifest",component:u("/docs/basics/manifest","781"),exact:!0,sidebar:"docs"},{path:"/docs/basics/namespaces",component:u("/docs/basics/namespaces","1b0"),exact:!0,sidebar:"docs"},{path:"/docs/basics/rest",component:u("/docs/basics/rest","1fa"),exact:!0,sidebar:"docs"},{path:"/docs/basics/rest-field",component:u("/docs/basics/rest-field","c7d"),exact:!0,sidebar:"docs"},{path:"/docs/basics/rest-route",component:u("/docs/basics/rest-route","b02"),exact:!0,sidebar:"docs"},{path:"/docs/basics/tips-tricks",component:u("/docs/basics/tips-tricks","da9"),exact:!0,sidebar:"docs"},{path:"/docs/basics/webpack",component:u("/docs/basics/webpack","e66"),exact:!0,sidebar:"docs"},{path:"/docs/basics/wp-cli",component:u("/docs/basics/wp-cli","d4a"),exact:!0,sidebar:"docs"},{path:"/docs/basics/writing-styles",component:u("/docs/basics/writing-styles","26d"),exact:!0,sidebar:"docs"},{path:"/docs/crash-course/intro",component:u("/docs/crash-course/intro","2ed"),exact:!0,sidebar:"docs"},{path:"/docs/eightshift-frontend-libs",component:u("/docs/eightshift-frontend-libs","970"),exact:!0,sidebar:"docs"},{path:"/docs/eightshift-libs",component:u("/docs/eightshift-libs","725"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/advanced/browsersync",component:u("/docs/legacy/v4/advanced/browsersync","7d9"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/advanced/components-color-palette",component:u("/docs/legacy/v4/advanced/components-color-palette","5e0"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/advanced/components-heading-level",component:u("/docs/legacy/v4/advanced/components-heading-level","b00"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/advanced/docs-sass",component:u("/docs/legacy/v4/advanced/docs-sass","4d6"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/advanced/helpers-aliases-helpers",component:u("/docs/legacy/v4/advanced/helpers-aliases-helpers","2fb"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/advanced/helpers-components-helpers",component:u("/docs/legacy/v4/advanced/helpers-components-helpers","631"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/advanced/helpers-error-logger-helpers",component:u("/docs/legacy/v4/advanced/helpers-error-logger-helpers","d35"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/advanced/helpers-object-helpers",component:u("/docs/legacy/v4/advanced/helpers-object-helpers","387"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/advanced/helpers-shortcode-helpers",component:u("/docs/legacy/v4/advanced/helpers-shortcode-helpers","7df"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/advanced/webpack",component:u("/docs/legacy/v4/advanced/webpack","fc8"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/blocks-block-from-components",component:u("/docs/legacy/v4/guides/blocks-block-from-components","b1d"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/blocks-filter-block-attributes-override",component:u("/docs/legacy/v4/guides/blocks-filter-block-attributes-override","c71"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/blocks-get-actions-helper",component:u("/docs/legacy/v4/guides/blocks-get-actions-helper","77e"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/blocks-registration",component:u("/docs/legacy/v4/guides/blocks-registration","f63"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/blocks-render-block-view-helper",component:u("/docs/legacy/v4/guides/blocks-render-block-view-helper","a75"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/blocks-structure",component:u("/docs/legacy/v4/guides/blocks-structure","0b7"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/blocks-structure-block-item",component:u("/docs/legacy/v4/guides/blocks-structure-block-item","82e"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/blocks-structure-component",component:u("/docs/legacy/v4/guides/blocks-structure-component","235"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/blocks-structure-manifest",component:u("/docs/legacy/v4/guides/blocks-structure-manifest","317"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/columns-post-type",component:u("/docs/legacy/v4/guides/columns-post-type","8e9"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/columns-taxonomy",component:u("/docs/legacy/v4/guides/columns-taxonomy","9c2"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/columns-user",component:u("/docs/legacy/v4/guides/columns-user","6dd"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/config",component:u("/docs/legacy/v4/guides/config","e81"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/di-container",component:u("/docs/legacy/v4/guides/di-container","9e3"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/enqueue",component:u("/docs/legacy/v4/guides/enqueue","b1a"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/extending-classes",component:u("/docs/legacy/v4/guides/extending-classes","bf1"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/fonts-custom",component:u("/docs/legacy/v4/guides/fonts-custom","416"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/fonts-icon",component:u("/docs/legacy/v4/guides/fonts-icon","5e0"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/i18n",component:u("/docs/legacy/v4/guides/i18n","5e5"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/login",component:u("/docs/legacy/v4/guides/login","685"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/manifest",component:u("/docs/legacy/v4/guides/manifest","1f1"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/media",component:u("/docs/legacy/v4/guides/media","afc"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/menu",component:u("/docs/legacy/v4/guides/menu","46a"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/post-type",component:u("/docs/legacy/v4/guides/post-type","e94"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/rest-field-example",component:u("/docs/legacy/v4/guides/rest-field-example","356"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/rest-intro",component:u("/docs/legacy/v4/guides/rest-intro","3a5"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/rest-route-example",component:u("/docs/legacy/v4/guides/rest-route-example","99a"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/taxonomy",component:u("/docs/legacy/v4/guides/taxonomy","423"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/versions",component:u("/docs/legacy/v4/versions","bd3"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/autowiring",component:u("/docs/legacy/v5/basics/autowiring","a4d"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/backend",component:u("/docs/legacy/v5/basics/backend","493"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/basics-intro",component:u("/docs/legacy/v5/basics/basics-intro","c36"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/block-manifest",component:u("/docs/legacy/v5/basics/block-manifest","7fb"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/block-structure",component:u("/docs/legacy/v5/basics/block-structure","d94"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks",component:u("/docs/legacy/v5/basics/blocks","7b5"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-attributes",component:u("/docs/legacy/v5/basics/blocks-attributes","f00"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-component-in-block",component:u("/docs/legacy/v5/basics/blocks-component-in-block","1f1"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-component-manifest",component:u("/docs/legacy/v5/basics/blocks-component-manifest","e08"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-component-structure",component:u("/docs/legacy/v5/basics/blocks-component-structure","b0b"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-global-manifest",component:u("/docs/legacy/v5/basics/blocks-global-manifest","b39"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-hooks",component:u("/docs/legacy/v5/basics/blocks-hooks","c64"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-important",component:u("/docs/legacy/v5/basics/blocks-important","2d2"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-intro",component:u("/docs/legacy/v5/basics/blocks-intro","92e"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-patterns",component:u("/docs/legacy/v5/basics/blocks-patterns","a22"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-registration",component:u("/docs/legacy/v5/basics/blocks-registration","1c1"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-reusable",component:u("/docs/legacy/v5/basics/blocks-reusable","7b3"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-special-use-cases",component:u("/docs/legacy/v5/basics/blocks-special-use-cases","80e"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-storybook",component:u("/docs/legacy/v5/basics/blocks-storybook","716"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-structure",component:u("/docs/legacy/v5/basics/blocks-structure","426"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-styles",component:u("/docs/legacy/v5/basics/blocks-styles","cde"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-transforms",component:u("/docs/legacy/v5/basics/blocks-transforms","3cd"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-variations",component:u("/docs/legacy/v5/basics/blocks-variations","1ce"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-wrapper",component:u("/docs/legacy/v5/basics/blocks-wrapper","219"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/browser-sync",component:u("/docs/legacy/v5/basics/browser-sync","62b"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/dynamic-import",component:u("/docs/legacy/v5/basics/dynamic-import","c7a"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/example-class",component:u("/docs/legacy/v5/basics/example-class","b39"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/extending-classes",component:u("/docs/legacy/v5/basics/extending-classes","946"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/fonts",component:u("/docs/legacy/v5/basics/fonts","0b9"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/frontend",component:u("/docs/legacy/v5/basics/frontend","164"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/global-settings",component:u("/docs/legacy/v5/basics/global-settings","d94"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/helpers",component:u("/docs/legacy/v5/basics/helpers","8f8"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/helpers-javascript",component:u("/docs/legacy/v5/basics/helpers-javascript","fd3"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/helpers-php",component:u("/docs/legacy/v5/basics/helpers-php","85e"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/helpers-scss",component:u("/docs/legacy/v5/basics/helpers-scss","2c3"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/library",component:u("/docs/legacy/v5/basics/library","3a2"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/manifest",component:u("/docs/legacy/v5/basics/manifest","44c"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/namespaces",component:u("/docs/legacy/v5/basics/namespaces","7b0"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/rest",component:u("/docs/legacy/v5/basics/rest","294"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/rest-field",component:u("/docs/legacy/v5/basics/rest-field","c45"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/rest-route",component:u("/docs/legacy/v5/basics/rest-route","4f5"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/the-structure",component:u("/docs/legacy/v5/basics/the-structure","e11"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/webpack",component:u("/docs/legacy/v5/basics/webpack","a08"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/wp-cli",component:u("/docs/legacy/v5/basics/wp-cli","fdd"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/writing-styles",component:u("/docs/legacy/v5/basics/writing-styles","630"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/versions",component:u("/docs/legacy/v5/versions","f02"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/architecture-concepts",component:u("/docs/legacy/v6/basics/architecture-concepts","cc6"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/autowiring",component:u("/docs/legacy/v6/basics/autowiring","aa1"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/backend",component:u("/docs/legacy/v6/basics/backend","334"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/basics-intro",component:u("/docs/legacy/v6/basics/basics-intro","28b"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/block-manifest",component:u("/docs/legacy/v6/basics/block-manifest","b15"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/block-structure",component:u("/docs/legacy/v6/basics/block-structure","af8"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks",component:u("/docs/legacy/v6/basics/blocks","c0c"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-attributes",component:u("/docs/legacy/v6/basics/blocks-attributes","ee3"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-component-in-block",component:u("/docs/legacy/v6/basics/blocks-component-in-block","05d"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-component-manifest",component:u("/docs/legacy/v6/basics/blocks-component-manifest","238"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-component-structure",component:u("/docs/legacy/v6/basics/blocks-component-structure","36c"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-faq",component:u("/docs/legacy/v6/basics/blocks-faq","ede"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-global-manifest",component:u("/docs/legacy/v6/basics/blocks-global-manifest","97f"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-hooks",component:u("/docs/legacy/v6/basics/blocks-hooks","904"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-important",component:u("/docs/legacy/v6/basics/blocks-important","e40"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-patterns",component:u("/docs/legacy/v6/basics/blocks-patterns","f03"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-registration",component:u("/docs/legacy/v6/basics/blocks-registration","ed2"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-reusable",component:u("/docs/legacy/v6/basics/blocks-reusable","602"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-special-use-cases",component:u("/docs/legacy/v6/basics/blocks-special-use-cases","b09"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-storybook",component:u("/docs/legacy/v6/basics/blocks-storybook","2b5"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-structure",component:u("/docs/legacy/v6/basics/blocks-structure","21f"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-styles",component:u("/docs/legacy/v6/basics/blocks-styles","919"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-transforms",component:u("/docs/legacy/v6/basics/blocks-transforms","d80"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-variations",component:u("/docs/legacy/v6/basics/blocks-variations","669"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-wrapper",component:u("/docs/legacy/v6/basics/blocks-wrapper","3e6"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/browser-sync",component:u("/docs/legacy/v6/basics/browser-sync","1cc"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/dynamic-import",component:u("/docs/legacy/v6/basics/dynamic-import","ffd"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/example-class",component:u("/docs/legacy/v6/basics/example-class","fc0"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/extending-classes",component:u("/docs/legacy/v6/basics/extending-classes","1eb"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/fonts",component:u("/docs/legacy/v6/basics/fonts","3ba"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/frontend",component:u("/docs/legacy/v6/basics/frontend","5c8"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/global-settings",component:u("/docs/legacy/v6/basics/global-settings","abc"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/helpers",component:u("/docs/legacy/v6/basics/helpers","3bc"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/helpers-javascript",component:u("/docs/legacy/v6/basics/helpers-javascript","955"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/helpers-php",component:u("/docs/legacy/v6/basics/helpers-php","bc3"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/helpers-scss",component:u("/docs/legacy/v6/basics/helpers-scss","f01"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/library",component:u("/docs/legacy/v6/basics/library","2d3"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/manifest",component:u("/docs/legacy/v6/basics/manifest","70b"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/namespaces",component:u("/docs/legacy/v6/basics/namespaces","fca"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/rest",component:u("/docs/legacy/v6/basics/rest","989"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/rest-field",component:u("/docs/legacy/v6/basics/rest-field","a22"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/rest-route",component:u("/docs/legacy/v6/basics/rest-route","447"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/tips-tricks",component:u("/docs/legacy/v6/basics/tips-tricks","66c"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/webpack",component:u("/docs/legacy/v6/basics/webpack","41e"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/wp-cli",component:u("/docs/legacy/v6/basics/wp-cli","c9a"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/writing-styles",component:u("/docs/legacy/v6/basics/writing-styles","9ad"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/versions",component:u("/docs/legacy/v6/versions","db3"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/architecture-concepts",component:u("/docs/legacy/v7/basics/architecture-concepts","888"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/autowiring",component:u("/docs/legacy/v7/basics/autowiring","e19"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/backend",component:u("/docs/legacy/v7/basics/backend","a06"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/basics-intro",component:u("/docs/legacy/v7/basics/basics-intro","f60"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/block-manifest",component:u("/docs/legacy/v7/basics/block-manifest","40d"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/block-structure",component:u("/docs/legacy/v7/basics/block-structure","ff8"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks",component:u("/docs/legacy/v7/basics/blocks","b91"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-attributes",component:u("/docs/legacy/v7/basics/blocks-attributes","24e"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-component-in-block",component:u("/docs/legacy/v7/basics/blocks-component-in-block","b4f"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-component-manifest",component:u("/docs/legacy/v7/basics/blocks-component-manifest","96c"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-component-structure",component:u("/docs/legacy/v7/basics/blocks-component-structure","874"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-faq",component:u("/docs/legacy/v7/basics/blocks-faq","150"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-global-manifest",component:u("/docs/legacy/v7/basics/blocks-global-manifest","671"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-hooks",component:u("/docs/legacy/v7/basics/blocks-hooks","f1d"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-important",component:u("/docs/legacy/v7/basics/blocks-important","4a2"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-patterns",component:u("/docs/legacy/v7/basics/blocks-patterns","564"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-registration",component:u("/docs/legacy/v7/basics/blocks-registration","fa3"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-reusable",component:u("/docs/legacy/v7/basics/blocks-reusable","004"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-special-use-cases",component:u("/docs/legacy/v7/basics/blocks-special-use-cases","c80"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-storybook",component:u("/docs/legacy/v7/basics/blocks-storybook","8e7"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-structure",component:u("/docs/legacy/v7/basics/blocks-structure","66f"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-styles",component:u("/docs/legacy/v7/basics/blocks-styles","1d8"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-transforms",component:u("/docs/legacy/v7/basics/blocks-transforms","28a"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-variations",component:u("/docs/legacy/v7/basics/blocks-variations","ad7"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-wrapper",component:u("/docs/legacy/v7/basics/blocks-wrapper","e0d"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/browser-sync",component:u("/docs/legacy/v7/basics/browser-sync","e93"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/dynamic-import",component:u("/docs/legacy/v7/basics/dynamic-import","1b8"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/example-class",component:u("/docs/legacy/v7/basics/example-class","9af"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/extending-classes",component:u("/docs/legacy/v7/basics/extending-classes","727"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/fonts",component:u("/docs/legacy/v7/basics/fonts","193"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/frontend",component:u("/docs/legacy/v7/basics/frontend","9e4"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/global-settings",component:u("/docs/legacy/v7/basics/global-settings","a5a"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/helpers",component:u("/docs/legacy/v7/basics/helpers","e6d"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/helpers-javascript",component:u("/docs/legacy/v7/basics/helpers-javascript","4e6"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/helpers-php",component:u("/docs/legacy/v7/basics/helpers-php","4de"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/helpers-scss",component:u("/docs/legacy/v7/basics/helpers-scss","ab4"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/library",component:u("/docs/legacy/v7/basics/library","ed4"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/manifest",component:u("/docs/legacy/v7/basics/manifest","879"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/namespaces",component:u("/docs/legacy/v7/basics/namespaces","af7"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/rest",component:u("/docs/legacy/v7/basics/rest","663"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/rest-field",component:u("/docs/legacy/v7/basics/rest-field","e34"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/rest-route",component:u("/docs/legacy/v7/basics/rest-route","c0d"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/tips-tricks",component:u("/docs/legacy/v7/basics/tips-tricks","809"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/webpack",component:u("/docs/legacy/v7/basics/webpack","997"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/wp-cli",component:u("/docs/legacy/v7/basics/wp-cli","c18"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/writing-styles",component:u("/docs/legacy/v7/basics/writing-styles","5c4"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/versions",component:u("/docs/legacy/v7/versions","97b"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/architecture-concepts",component:u("/docs/legacy/v8/basics/architecture-concepts","4f4"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/autowiring",component:u("/docs/legacy/v8/basics/autowiring","23a"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/backend",component:u("/docs/legacy/v8/basics/backend","f1e"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/basics-intro",component:u("/docs/legacy/v8/basics/basics-intro","e1c"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/block-manifest",component:u("/docs/legacy/v8/basics/block-manifest","031"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/block-structure",component:u("/docs/legacy/v8/basics/block-structure","223"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks",component:u("/docs/legacy/v8/basics/blocks","689"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-attributes",component:u("/docs/legacy/v8/basics/blocks-attributes","0bc"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-component-in-block",component:u("/docs/legacy/v8/basics/blocks-component-in-block","617"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-component-manifest",component:u("/docs/legacy/v8/basics/blocks-component-manifest","f74"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-component-structure",component:u("/docs/legacy/v8/basics/blocks-component-structure","e87"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-faq",component:u("/docs/legacy/v8/basics/blocks-faq","780"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-global-manifest",component:u("/docs/legacy/v8/basics/blocks-global-manifest","6a2"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-hooks",component:u("/docs/legacy/v8/basics/blocks-hooks","f1b"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-important",component:u("/docs/legacy/v8/basics/blocks-important","5ec"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-patterns",component:u("/docs/legacy/v8/basics/blocks-patterns","c56"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-registration",component:u("/docs/legacy/v8/basics/blocks-registration","844"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-reusable",component:u("/docs/legacy/v8/basics/blocks-reusable","08c"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-special-use-cases",component:u("/docs/legacy/v8/basics/blocks-special-use-cases","652"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-storybook",component:u("/docs/legacy/v8/basics/blocks-storybook","df2"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-structure",component:u("/docs/legacy/v8/basics/blocks-structure","6d9"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-styles",component:u("/docs/legacy/v8/basics/blocks-styles","300"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-transforms",component:u("/docs/legacy/v8/basics/blocks-transforms","85a"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-variations",component:u("/docs/legacy/v8/basics/blocks-variations","cef"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-wrapper",component:u("/docs/legacy/v8/basics/blocks-wrapper","d8e"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/browser-sync",component:u("/docs/legacy/v8/basics/browser-sync","79a"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/dynamic-import",component:u("/docs/legacy/v8/basics/dynamic-import","9f8"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/example-class",component:u("/docs/legacy/v8/basics/example-class","b69"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/extending-classes",component:u("/docs/legacy/v8/basics/extending-classes","101"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/fonts",component:u("/docs/legacy/v8/basics/fonts","742"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/frontend",component:u("/docs/legacy/v8/basics/frontend","fe0"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/global-settings",component:u("/docs/legacy/v8/basics/global-settings","ded"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/helpers",component:u("/docs/legacy/v8/basics/helpers","006"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/helpers-javascript",component:u("/docs/legacy/v8/basics/helpers-javascript","653"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/helpers-php",component:u("/docs/legacy/v8/basics/helpers-php","a4a"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/helpers-scss",component:u("/docs/legacy/v8/basics/helpers-scss","b3b"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/library",component:u("/docs/legacy/v8/basics/library","ca8"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/manifest",component:u("/docs/legacy/v8/basics/manifest","1c5"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/namespaces",component:u("/docs/legacy/v8/basics/namespaces","e53"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/rest",component:u("/docs/legacy/v8/basics/rest","4c5"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/rest-field",component:u("/docs/legacy/v8/basics/rest-field","b4e"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/rest-route",component:u("/docs/legacy/v8/basics/rest-route","1ac"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/tips-tricks",component:u("/docs/legacy/v8/basics/tips-tricks","d75"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/webpack",component:u("/docs/legacy/v8/basics/webpack","c72"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/wp-cli",component:u("/docs/legacy/v8/basics/wp-cli","bc1"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/writing-styles",component:u("/docs/legacy/v8/basics/writing-styles","31c"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/versions",component:u("/docs/legacy/v8/versions","0e4"),exact:!0,sidebar:"docs"},{path:"/docs/migrations/10-11",component:u("/docs/migrations/10-11","d51"),exact:!0,sidebar:"docs"},{path:"/docs/migrations/5-6",component:u("/docs/migrations/5-6","8dc"),exact:!0,sidebar:"docs"},{path:"/docs/migrations/6-7",component:u("/docs/migrations/6-7","3d1"),exact:!0,sidebar:"docs"},{path:"/docs/migrations/7-8",component:u("/docs/migrations/7-8","2ef"),exact:!0,sidebar:"docs"},{path:"/docs/migrations/8-9",component:u("/docs/migrations/8-9","72c"),exact:!0,sidebar:"docs"},{path:"/docs/migrations/9-10",component:u("/docs/migrations/9-10","d0a"),exact:!0,sidebar:"docs"},{path:"/docs/plugin",component:u("/docs/plugin","354"),exact:!0,sidebar:"docs"},{path:"/docs/requirements",component:u("/docs/requirements","7d9"),exact:!0,sidebar:"docs"},{path:"/docs/theme",component:u("/docs/theme","bfe"),exact:!0,sidebar:"docs"},{path:"/docs/tutorials/intro",component:u("/docs/tutorials/intro","829"),exact:!0,sidebar:"docs"},{path:"/docs/versions",component:u("/docs/versions","9e4"),exact:!0,sidebar:"docs"},{path:"/docs/welcome",component:u("/docs/welcome","bc7"),exact:!0,sidebar:"docs"}]}]}]},{path:"/forms",component:u("/forms","8c1"),routes:[{path:"/forms",component:u("/forms","63a"),routes:[{path:"/forms",component:u("/forms","fae"),routes:[{path:"/forms/addons/create/addon-boilerplate",component:u("/forms/addons/create/addon-boilerplate","ddc"),exact:!0,sidebar:"forms"},{path:"/forms/addons/create/intro",component:u("/forms/addons/create/intro","5a4"),exact:!0,sidebar:"forms"},{path:"/forms/addons/create/requirements",component:u("/forms/addons/create/requirements","829"),exact:!0,sidebar:"forms"},{path:"/forms/addons/create/utils-library",component:u("/forms/addons/create/utils-library","e4b"),exact:!0,sidebar:"forms"},{path:"/forms/addons/free/intro",component:u("/forms/addons/free/intro","ad5"),exact:!0,sidebar:"forms"},{path:"/forms/addons/intro",component:u("/forms/addons/intro","edd"),exact:!0,sidebar:"forms"},{path:"/forms/addons/premium/computed-fields/blocks",component:u("/forms/addons/premium/computed-fields/blocks","cec"),exact:!0,sidebar:"forms"},{path:"/forms/addons/premium/computed-fields/data-flow",component:u("/forms/addons/premium/computed-fields/data-flow","310"),exact:!0,sidebar:"forms"},{path:"/forms/addons/premium/computed-fields/how-to-use",component:u("/forms/addons/premium/computed-fields/how-to-use","d23"),exact:!0,sidebar:"forms"},{path:"/forms/addons/premium/computed-fields/intro",component:u("/forms/addons/premium/computed-fields/intro","710"),exact:!0,sidebar:"forms"},{path:"/forms/addons/premium/computed-fields/settings",component:u("/forms/addons/premium/computed-fields/settings","664"),exact:!0,sidebar:"forms"},{path:"/forms/addons/premium/intro",component:u("/forms/addons/premium/intro","5d2"),exact:!0,sidebar:"forms"},{path:"/forms/basics",component:u("/forms/basics","6cc"),exact:!0,sidebar:"forms"},{path:"/forms/features/cache",component:u("/forms/features/cache","8b1"),exact:!0,sidebar:"forms"},{path:"/forms/features/cloudflare",component:u("/forms/features/cloudflare","49e"),exact:!0,sidebar:"forms"},{path:"/forms/features/conditional-tags",component:u("/forms/features/conditional-tags","c95"),exact:!0,sidebar:"forms"},{path:"/forms/features/country-list",component:u("/forms/features/country-list","c43"),exact:!0,sidebar:"forms"},{path:"/forms/features/dashboard",component:u("/forms/features/dashboard","689"),exact:!0,sidebar:"forms"},{path:"/forms/features/debug",component:u("/forms/features/debug","1a4"),exact:!0,sidebar:"forms"},{path:"/forms/features/enrichment",component:u("/forms/features/enrichment","7b4"),exact:!0,sidebar:"forms"},{path:"/forms/features/entries",component:u("/forms/features/entries","a5f"),exact:!0,sidebar:"forms"},{path:"/forms/features/fallback-emails",component:u("/forms/features/fallback-emails","bce"),exact:!0,sidebar:"forms"},{path:"/forms/features/geolocation",component:u("/forms/features/geolocation","b89"),exact:!0,sidebar:"forms"},{path:"/forms/features/import-export",component:u("/forms/features/import-export","fea"),exact:!0,sidebar:"forms"},{path:"/forms/features/labels",component:u("/forms/features/labels","2b2"),exact:!0,sidebar:"forms"},{path:"/forms/features/locations",component:u("/forms/features/locations","10b"),exact:!0,sidebar:"forms"},{path:"/forms/features/migrations",component:u("/forms/features/migrations","088"),exact:!0,sidebar:"forms"},{path:"/forms/features/multisteps-forms",component:u("/forms/features/multisteps-forms","032"),exact:!0,sidebar:"forms"},{path:"/forms/features/result-output",component:u("/forms/features/result-output","19e"),exact:!0,sidebar:"forms"},{path:"/forms/features/security",component:u("/forms/features/security","b5f"),exact:!0,sidebar:"forms"},{path:"/forms/features/show-as",component:u("/forms/features/show-as","184"),exact:!0,sidebar:"forms"},{path:"/forms/features/single-submit",component:u("/forms/features/single-submit","9b6"),exact:!0,sidebar:"forms"},{path:"/forms/features/spam-prevention",component:u("/forms/features/spam-prevention","7fe"),exact:!0,sidebar:"forms"},{path:"/forms/features/success-redirect",component:u("/forms/features/success-redirect","b64"),exact:!0,sidebar:"forms"},{path:"/forms/features/tracking",component:u("/forms/features/tracking","054"),exact:!0,sidebar:"forms"},{path:"/forms/features/validation",component:u("/forms/features/validation","405"),exact:!0,sidebar:"forms"},{path:"/forms/features/wpml",component:u("/forms/features/wpml","723"),exact:!0,sidebar:"forms"},{path:"/forms/first-form",component:u("/forms/first-form","288"),exact:!0,sidebar:"forms"},{path:"/forms/integrations/active-campaign",component:u("/forms/integrations/active-campaign","5f7"),exact:!0,sidebar:"forms"},{path:"/forms/integrations/airtable",component:u("/forms/integrations/airtable","1c5"),exact:!0,sidebar:"forms"},{path:"/forms/integrations/calculator",component:u("/forms/integrations/calculator","11a"),exact:!0,sidebar:"forms"},{path:"/forms/integrations/clearbit",component:u("/forms/integrations/clearbit","742"),exact:!0,sidebar:"forms"},{path:"/forms/integrations/goodbits",component:u("/forms/integrations/goodbits","2de"),exact:!0,sidebar:"forms"},{path:"/forms/integrations/greenhouse",component:u("/forms/integrations/greenhouse","710"),exact:!0,sidebar:"forms"},{path:"/forms/integrations/hubspot",component:u("/forms/integrations/hubspot","f27"),exact:!0,sidebar:"forms"},{path:"/forms/integrations/intro",component:u("/forms/integrations/intro","cc0"),exact:!0,sidebar:"forms"},{path:"/forms/integrations/jira",component:u("/forms/integrations/jira","1ab"),exact:!0,sidebar:"forms"},{path:"/forms/integrations/mailchimp",component:u("/forms/integrations/mailchimp","505"),exact:!0,sidebar:"forms"},{path:"/forms/integrations/mailer",component:u("/forms/integrations/mailer","6dd"),exact:!0,sidebar:"forms"},{path:"/forms/integrations/mailerlite",component:u("/forms/integrations/mailerlite","adf"),exact:!0,sidebar:"forms"},{path:"/forms/integrations/moments",component:u("/forms/integrations/moments","05e"),exact:!0,sidebar:"forms"},{path:"/forms/integrations/pipedrive",component:u("/forms/integrations/pipedrive","0e3"),exact:!0,sidebar:"forms"},{path:"/forms/integrations/workable",component:u("/forms/integrations/workable","8d9"),exact:!0,sidebar:"forms"},{path:"/forms/javascript/events/available-events",component:u("/forms/javascript/events/available-events","9cb"),exact:!0,sidebar:"forms"},{path:"/forms/javascript/events/how-to-use",component:u("/forms/javascript/events/how-to-use","9a8"),exact:!0,sidebar:"forms"},{path:"/forms/javascript/intro",component:u("/forms/javascript/intro","da4"),exact:!0,sidebar:"forms"},{path:"/forms/javascript/manual-initiation",component:u("/forms/javascript/manual-initiation","a14"),exact:!0,sidebar:"forms"},{path:"/forms/javascript/state/",component:u("/forms/javascript/state/","997"),exact:!0,sidebar:"forms"},{path:"/forms/javascript/state/captcha",component:u("/forms/javascript/state/captcha","60d"),exact:!0,sidebar:"forms"},{path:"/forms/javascript/state/conditional-tags",component:u("/forms/javascript/state/conditional-tags","275"),exact:!0,sidebar:"forms"},{path:"/forms/javascript/state/enrichment",component:u("/forms/javascript/state/enrichment","c6e"),exact:!0,sidebar:"forms"},{path:"/forms/javascript/state/form",component:u("/forms/javascript/state/form","b8f"),exact:!0,sidebar:"forms"},{path:"/forms/javascript/state/how-to-use",component:u("/forms/javascript/state/how-to-use","72b"),exact:!0,sidebar:"forms"},{path:"/forms/javascript/state/step",component:u("/forms/javascript/state/step","29e"),exact:!0,sidebar:"forms"},{path:"/forms/javascript/state/store",component:u("/forms/javascript/state/store","1a5"),exact:!0,sidebar:"forms"},{path:"/forms/javascript/state/utils",component:u("/forms/javascript/state/utils","48c"),exact:!0,sidebar:"forms"},{path:"/forms/known-issues",component:u("/forms/known-issues","42c"),exact:!0,sidebar:"forms"},{path:"/forms/php/actions/how-to-use",component:u("/forms/php/actions/how-to-use","659"),exact:!0,sidebar:"forms"},{path:"/forms/php/actions/migrations",component:u("/forms/php/actions/migrations","26c"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/admin/settings-data",component:u("/forms/php/filters/admin/settings-data","8e6"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/checkboxes/additional-content",component:u("/forms/php/filters/block/checkboxes/additional-content","782"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/country/additional-content",component:u("/forms/php/filters/block/country/additional-content","e06"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/country/alternative-data-set",component:u("/forms/php/filters/block/country/alternative-data-set","2eb"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/date/additional-content",component:u("/forms/php/filters/block/date/additional-content","7a7"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/field/additional-content",component:u("/forms/php/filters/block/field/additional-content","450"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/field/style-classes",component:u("/forms/php/filters/block/field/style-classes","755"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/field/style-options",component:u("/forms/php/filters/block/field/style-options","dd9"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/file/additional-content",component:u("/forms/php/filters/block/file/additional-content","d1b"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/file/preview-remove-label",component:u("/forms/php/filters/block/file/preview-remove-label","cff"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form-selector/additional-content",component:u("/forms/php/filters/block/form-selector/additional-content","99f"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form-selector/form-templates",component:u("/forms/php/filters/block/form-selector/form-templates","03f"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/additional-content",component:u("/forms/php/filters/block/form/additional-content","148"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/additional-hidden-fields",component:u("/forms/php/filters/block/form/additional-hidden-fields","477"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/data-type-selector",component:u("/forms/php/filters/block/form/data-type-selector","490"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/global-msg-headings",component:u("/forms/php/filters/block/form/global-msg-headings","6b9"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/hide-global-msg-timeout",component:u("/forms/php/filters/block/form/hide-global-msg-timeout","f91"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/phone-sync",component:u("/forms/php/filters/block/form/phone-sync","829"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/pre-response-addon-data",component:u("/forms/php/filters/block/form/pre-response-addon-data","9bc"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/pre-response-success-redirect-data",component:u("/forms/php/filters/block/form/pre-response-success-redirect-data","850"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/redirect-timeout",component:u("/forms/php/filters/block/form/redirect-timeout","23d"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/result-output-items",component:u("/forms/php/filters/block/form/result-output-items","796"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/result-output-parts",component:u("/forms/php/filters/block/form/result-output-parts","d3a"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/success-redirect-url",component:u("/forms/php/filters/block/form/success-redirect-url","f81"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/success-redirect-variation",component:u("/forms/php/filters/block/form/success-redirect-variation","b87"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/success-redirect-variation-options",component:u("/forms/php/filters/block/form/success-redirect-variation-options","160"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/tracking-additional-data",component:u("/forms/php/filters/block/form/tracking-additional-data","4f3"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/tracking-event-name",component:u("/forms/php/filters/block/form/tracking-event-name","fb6"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/forms/style-options",component:u("/forms/php/filters/block/forms/style-options","b71"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/input/additional-content",component:u("/forms/php/filters/block/input/additional-content","00d"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/phone/additional-content",component:u("/forms/php/filters/block/phone/additional-content","b0d"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/radios/additional-content",component:u("/forms/php/filters/block/radios/additional-content","594"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/rating/additional-content",component:u("/forms/php/filters/block/rating/additional-content","b96"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/select/additional-content",component:u("/forms/php/filters/block/select/additional-content","74c"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/step/component-next",component:u("/forms/php/filters/block/step/component-next","b38"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/step/component-prev",component:u("/forms/php/filters/block/step/component-prev","bed"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/submit/additional-content",component:u("/forms/php/filters/block/submit/additional-content","07e"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/submit/component",component:u("/forms/php/filters/block/submit/component","512"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/textarea/additional-content",component:u("/forms/php/filters/block/textarea/additional-content","d02"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/blocks/additional-blocks",component:u("/forms/php/filters/blocks/additional-blocks","42c"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/blocks/allowed-blocks",component:u("/forms/php/filters/blocks/allowed-blocks","5f3"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/blocks/media-breakpoints",component:u("/forms/php/filters/blocks/media-breakpoints","df7"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/enrichment/manual-map",component:u("/forms/php/filters/enrichment/manual-map","4df"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/entries/pre-post-params",component:u("/forms/php/filters/entries/pre-post-params","9c7"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/general/http-request-timeout",component:u("/forms/php/filters/general/http-request-timeout","885"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/general/locale",component:u("/forms/php/filters/general/locale","171"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/general/scripts-dependency",component:u("/forms/php/filters/general/scripts-dependency","ac8"),exact:!0},{path:"/forms/php/filters/geolocation/countries",component:u("/forms/php/filters/geolocation/countries","047"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/geolocation/db-location",component:u("/forms/php/filters/geolocation/db-location","79d"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/geolocation/phar-location",component:u("/forms/php/filters/geolocation/phar-location","feb"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/how-to-use",component:u("/forms/php/filters/how-to-use","005"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/integrations/active-campaign",component:u("/forms/php/filters/integrations/active-campaign","2bf"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/integrations/airtable",component:u("/forms/php/filters/integrations/airtable","daa"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/integrations/calculator",component:u("/forms/php/filters/integrations/calculator","afe"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/integrations/clearbit",component:u("/forms/php/filters/integrations/clearbit","849"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/integrations/goodbits",component:u("/forms/php/filters/integrations/goodbits","ee3"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/integrations/greenhouse",component:u("/forms/php/filters/integrations/greenhouse","c00"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/integrations/hubspot",component:u("/forms/php/filters/integrations/hubspot","334"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/integrations/jira",component:u("/forms/php/filters/integrations/jira","550"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/integrations/mailchimp",component:u("/forms/php/filters/integrations/mailchimp","a70"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/integrations/mailer",component:u("/forms/php/filters/integrations/mailer","e4e"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/integrations/mailerlite",component:u("/forms/php/filters/integrations/mailerlite","67f"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/integrations/moments",component:u("/forms/php/filters/integrations/moments","2ee"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/integrations/pipedrive",component:u("/forms/php/filters/integrations/pipedrive","d24"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/integrations/workable",component:u("/forms/php/filters/integrations/workable","1ac"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/scripts/dependency-admin",component:u("/forms/php/filters/scripts/dependency-admin","03c"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/scripts/dependency-blocks-editor",component:u("/forms/php/filters/scripts/dependency-blocks-editor","627"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/scripts/dependency-blocks-frontend",component:u("/forms/php/filters/scripts/dependency-blocks-frontend","3d6"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/scripts/dependency-theme",component:u("/forms/php/filters/scripts/dependency-theme","cd4"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/scripts/routes-private",component:u("/forms/php/filters/scripts/routes-private","8fc"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/scripts/routes-public",component:u("/forms/php/filters/scripts/routes-public","be1"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/validation/force-mimetype-from-fs",component:u("/forms/php/filters/validation/force-mimetype-from-fs","7fd"),exact:!0,sidebar:"forms"},{path:"/forms/php/global-variables/geolocation",component:u("/forms/php/global-variables/geolocation","d48"),exact:!0,sidebar:"forms"},{path:"/forms/php/global-variables/google-recaptcha",component:u("/forms/php/global-variables/google-recaptcha","12f"),exact:!0,sidebar:"forms"},{path:"/forms/php/global-variables/how-to-use",component:u("/forms/php/global-variables/how-to-use","7c5"),exact:!0,sidebar:"forms"},{path:"/forms/php/global-variables/integrations/active-campaign",component:u("/forms/php/global-variables/integrations/active-campaign","22c"),exact:!0,sidebar:"forms"},{path:"/forms/php/global-variables/integrations/airtable",component:u("/forms/php/global-variables/integrations/airtable","ede"),exact:!0,sidebar:"forms"},{path:"/forms/php/global-variables/integrations/clearbit",component:u("/forms/php/global-variables/integrations/clearbit","d1f"),exact:!0,sidebar:"forms"},{path:"/forms/php/global-variables/integrations/goodbits",component:u("/forms/php/global-variables/integrations/goodbits","ed2"),exact:!0,sidebar:"forms"},{path:"/forms/php/global-variables/integrations/greenhouse",component:u("/forms/php/global-variables/integrations/greenhouse","703"),exact:!0,sidebar:"forms"},{path:"/forms/php/global-variables/integrations/hubspot",component:u("/forms/php/global-variables/integrations/hubspot","5c9"),exact:!0,sidebar:"forms"},{path:"/forms/php/global-variables/integrations/jira",component:u("/forms/php/global-variables/integrations/jira","009"),exact:!0,sidebar:"forms"},{path:"/forms/php/global-variables/integrations/mailchimp",component:u("/forms/php/global-variables/integrations/mailchimp","2b4"),exact:!0,sidebar:"forms"},{path:"/forms/php/global-variables/integrations/mailerlite",component:u("/forms/php/global-variables/integrations/mailerlite","cdb"),exact:!0,sidebar:"forms"},{path:"/forms/php/global-variables/integrations/moments",component:u("/forms/php/global-variables/integrations/moments","4cb"),exact:!0,sidebar:"forms"},{path:"/forms/php/global-variables/integrations/pipedrive",component:u("/forms/php/global-variables/integrations/pipedrive","862"),exact:!0,sidebar:"forms"},{path:"/forms/php/global-variables/integrations/workable",component:u("/forms/php/global-variables/integrations/workable","b61"),exact:!0,sidebar:"forms"},{path:"/forms/php/helpers",component:u("/forms/php/helpers","e14"),exact:!0,sidebar:"forms"},{path:"/forms/php/intro",component:u("/forms/php/intro","4c4"),exact:!0,sidebar:"forms"},{path:"/forms/php/shortcodes",component:u("/forms/php/shortcodes","b86"),exact:!0,sidebar:"forms"},{path:"/forms/php/wp-cli",component:u("/forms/php/wp-cli","c73"),exact:!0,sidebar:"forms"},{path:"/forms/tutorials/playlist",component:u("/forms/tutorials/playlist","5b8"),exact:!0,sidebar:"forms"},{path:"/forms/welcome",component:u("/forms/welcome","d7a"),exact:!0,sidebar:"forms"}]}]}]},{path:"/",component:u("/","51f"),exact:!0},{path:"*",component:u("*")}]},6125:(e,t,n)=>{"use strict";n.d(t,{o:()=>a,x:()=>r});var s=n(96540),o=n(74848);const a=s.createContext(!1);function r(e){let{children:t}=e;const[n,r]=(0,s.useState)(!1);return(0,s.useEffect)((()=>{r(!0)}),[]),(0,o.jsx)(a.Provider,{value:n,children:t})}},38536:(e,t,n)=>{"use strict";var s=n(96540),o=n(5338),a=n(54625),r=n(80545),i=n(38193);const c=[n(31911),n(10119),n(26134),n(76294),n(82710),n(91218)];var l=n(35947),d=n(56347),u=n(22831),p=n(74848);function f(e){let{children:t}=e;return(0,p.jsx)(p.Fragment,{children:t})}var b=n(5260),h=n(44586),m=n(86025),g=n(6342),v=n(69024),y=n(32131),k=n(14090),x=n(2967),w=n(70440),_=n(41463);function j(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,h.A)(),s=(0,y.o)(),o=n[e].htmlLang,a=e=>e.replace("-","_");return(0,p.jsxs)(b.A,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,p.jsx)("link",{rel:"alternate",href:s.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,p.jsx)("link",{rel:"alternate",href:s.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,p.jsx)("meta",{property:"og:locale",content:a(o)}),Object.values(n).filter((e=>o!==e.htmlLang)).map((e=>(0,p.jsx)("meta",{property:"og:locale:alternate",content:a(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function C(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,h.A)(),s=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,h.A)(),{pathname:s}=(0,d.zy)();return e+(0,w.applyTrailingSlash)((0,m.A)(s),{trailingSlash:n,baseUrl:t})}(),o=t?`${n}${t}`:s;return(0,p.jsxs)(b.A,{children:[(0,p.jsx)("meta",{property:"og:url",content:o}),(0,p.jsx)("link",{rel:"canonical",href:o})]})}function S(){const{i18n:{currentLocale:e}}=(0,h.A)(),{metadata:t,image:n}=(0,g.p)();return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(b.A,{children:[(0,p.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,p.jsx)("body",{className:k.w})]}),n&&(0,p.jsx)(v.be,{image:n}),(0,p.jsx)(C,{}),(0,p.jsx)(j,{}),(0,p.jsx)(_.A,{tag:x.Cy,locale:e}),(0,p.jsx)(b.A,{children:t.map(((e,t)=>(0,p.jsx)("meta",{...e},t)))})]})}const M=new Map;function E(e){if(M.has(e.pathname))return{...e,pathname:M.get(e.pathname)};if((0,u.u)(l.A,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return M.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return M.set(e.pathname,t),{...e,pathname:t}}var L=n(6125),A=n(26988),T=n(205);function P(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),s=1;s<t;s++)n[s-1]=arguments[s];const o=c.map((t=>{const s=t.default?.[e]??t[e];return s?.(...n)}));return()=>o.forEach((e=>e?.()))}const R=function(e){let{children:t,location:n,previousLocation:s}=e;return(0,T.A)((()=>{s!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const s=t.pathname===n.pathname,o=t.hash===n.hash,a=t.search===n.search;if(s&&o&&!a)return;const{hash:r}=t;if(r){const e=decodeURIComponent(r.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:s}),P("onRouteDidUpdate",{previousLocation:s,location:n}))}),[s,n]),t};function N(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,u.u)(l.A,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class Z extends s.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=i.A.canUseDOM?P("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=P("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),N(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,p.jsx)(R,{previousLocation:this.previousLocation,location:t,children:(0,p.jsx)(d.qh,{location:t,render:()=>e})})}}const O=Z,D="__docusaurus-base-url-issue-banner-container",B="__docusaurus-base-url-issue-banner",I="__docusaurus-base-url-issue-banner-suggestion-container";function F(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${D}';\n var bannerHtml = ${JSON.stringify(function(e){return`\n<div id="${B}" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">${e}</span> ${"/"===e?" (default value)":""}</p>\n <p>We suggest trying baseUrl = <span id="${I}" style="font-weight: bold; color: green;"></span></p>\n</div>\n`}(e)).replace(/</g,"\\<")};\n bannerContainer.innerHTML = bannerHtml;\n document.body.prepend(bannerContainer);\n var suggestionContainer = document.getElementById('${I}');\n var actualHomePagePath = window.location.pathname;\n var suggestedBaseUrl = actualHomePagePath.substr(-1) === '/'\n ? actualHomePagePath\n : actualHomePagePath + '/';\n suggestionContainer.innerHTML = suggestedBaseUrl;\n}\n`}function z(){const{siteConfig:{baseUrl:e}}=(0,h.A)();return(0,p.jsx)(p.Fragment,{children:!i.A.canUseDOM&&(0,p.jsx)(b.A,{children:(0,p.jsx)("script",{children:F(e)})})})}function W(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,h.A)(),{pathname:n}=(0,d.zy)();return t&&n===e?(0,p.jsx)(z,{}):null}function $(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:s,localeConfigs:o}}=(0,h.A)(),a=(0,m.A)(e),{htmlLang:r,direction:i}=o[s];return(0,p.jsxs)(b.A,{children:[(0,p.jsx)("html",{lang:r,dir:i}),(0,p.jsx)("title",{children:t}),(0,p.jsx)("meta",{property:"og:title",content:t}),(0,p.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&(0,p.jsx)("meta",{name:"robots",content:"noindex, nofollow"}),e&&(0,p.jsx)("link",{rel:"icon",href:a})]})}var H=n(67489),V=n(92303);function U(){const e=(0,V.A)();return(0,p.jsx)(b.A,{children:(0,p.jsx)("html",{"data-has-hydrated":e})})}function q(){const e=(0,u.v)(l.A),t=(0,d.zy)();return(0,p.jsx)(H.A,{children:(0,p.jsx)(A.l,{children:(0,p.jsxs)(L.x,{children:[(0,p.jsxs)(f,{children:[(0,p.jsx)($,{}),(0,p.jsx)(S,{}),(0,p.jsx)(W,{}),(0,p.jsx)(O,{location:E(t),children:e})]}),(0,p.jsx)(U,{})]})})})}var G=n(84054);const K=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const s=document.createElement("link");s.setAttribute("rel","prefetch"),s.setAttribute("href",e),s.onload=()=>t(),s.onerror=()=>n();const o=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;o?.appendChild(s)}))}:function(e){return new Promise(((t,n)=>{const s=new XMLHttpRequest;s.open("GET",e,!0),s.withCredentials=!0,s.onload=()=>{200===s.status?t():n()},s.send(null)}))};var Y=n(86921);const Q=new Set,X=new Set,J=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ee={prefetch(e){if(!(e=>!J()&&!X.has(e)&&!Q.has(e))(e))return!1;Q.add(e);const t=(0,u.u)(l.A,e).flatMap((e=>{return t=e.route.path,Object.entries(G).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,Y.A)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?K(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!J()&&!X.has(e))(e)&&(X.add(e),N(e))},te=Object.freeze(ee),ne=Boolean(!0);if(i.A.canUseDOM){window.docusaurus=te;const e=document.getElementById("__docusaurus"),t=(0,p.jsx)(r.vd,{children:(0,p.jsx)(a.Kd,{children:(0,p.jsx)(q,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},i=()=>{if(ne)s.startTransition((()=>{o.hydrateRoot(e,t,{onRecoverableError:n})}));else{const a=o.createRoot(e,{onRecoverableError:n});s.startTransition((()=>{a.render(t)}))}};N(window.location.pathname).then(i)}},26988:(e,t,n)=>{"use strict";n.d(t,{o:()=>u,l:()=>p});var s=n(96540),o=n(4784);const a=JSON.parse('{"docusaurus-plugin-google-gtag":{"default":{"trackingID":["GTM-P5GG5DH"],"anonymizeIP":true,"id":"default"}},"docusaurus-plugin-content-docs":{"default":{"path":"/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/docs","mainDocId":"welcome","docs":[{"id":"additional-libraries/boilerplate","path":"/docs/additional-libraries/boilerplate","sidebar":"docs"},{"id":"additional-libraries/boilerplate-plugin","path":"/docs/additional-libraries/boilerplate-plugin","sidebar":"docs"},{"id":"additional-libraries/coding-standards","path":"/docs/additional-libraries/coding-standards","sidebar":"docs"},{"id":"additional-libraries/docs","path":"/docs/additional-libraries/docs","sidebar":"docs"},{"id":"additional-libraries/forms","path":"/docs/additional-libraries/forms","sidebar":"docs"},{"id":"additional-libraries/frontend-libs","path":"/docs/additional-libraries/frontend-libs","sidebar":"docs"},{"id":"additional-libraries/libs","path":"/docs/additional-libraries/libs","sidebar":"docs"},{"id":"additional-libraries/storybook","path":"/docs/additional-libraries/storybook","sidebar":"docs"},{"id":"additional-libraries/stubs","path":"/docs/additional-libraries/stubs","sidebar":"docs"},{"id":"basics/architecture-concepts","path":"/docs/basics/architecture-concepts","sidebar":"docs"},{"id":"basics/autowiring","path":"/docs/basics/autowiring","sidebar":"docs"},{"id":"basics/backend","path":"/docs/basics/backend","sidebar":"docs"},{"id":"basics/basics-intro","path":"/docs/basics/basics-intro","sidebar":"docs"},{"id":"basics/block-manifest","path":"/docs/basics/block-manifest","sidebar":"docs"},{"id":"basics/block-structure","path":"/docs/basics/block-structure","sidebar":"docs"},{"id":"basics/blocks","path":"/docs/basics/blocks","sidebar":"docs"},{"id":"basics/blocks-attributes","path":"/docs/basics/blocks-attributes","sidebar":"docs"},{"id":"basics/blocks-component-in-block","path":"/docs/basics/blocks-component-in-block","sidebar":"docs"},{"id":"basics/blocks-component-manifest","path":"/docs/basics/blocks-component-manifest","sidebar":"docs"},{"id":"basics/blocks-component-structure","path":"/docs/basics/blocks-component-structure","sidebar":"docs"},{"id":"basics/blocks-faq","path":"/docs/basics/blocks-faq","sidebar":"docs"},{"id":"basics/blocks-global-manifest","path":"/docs/basics/blocks-global-manifest","sidebar":"docs"},{"id":"basics/blocks-hooks","path":"/docs/basics/blocks-hooks","sidebar":"docs"},{"id":"basics/blocks-important","path":"/docs/basics/blocks-important","sidebar":"docs"},{"id":"basics/blocks-patterns","path":"/docs/basics/blocks-patterns","sidebar":"docs"},{"id":"basics/blocks-registration","path":"/docs/basics/blocks-registration","sidebar":"docs"},{"id":"basics/blocks-reusable","path":"/docs/basics/blocks-reusable","sidebar":"docs"},{"id":"basics/blocks-special-use-cases","path":"/docs/basics/blocks-special-use-cases","sidebar":"docs"},{"id":"basics/blocks-storybook","path":"/docs/basics/blocks-storybook","sidebar":"docs"},{"id":"basics/blocks-structure","path":"/docs/basics/blocks-structure","sidebar":"docs"},{"id":"basics/blocks-styles","path":"/docs/basics/blocks-styles","sidebar":"docs"},{"id":"basics/blocks-transforms","path":"/docs/basics/blocks-transforms","sidebar":"docs"},{"id":"basics/blocks-variations","path":"/docs/basics/blocks-variations","sidebar":"docs"},{"id":"basics/blocks-wrapper","path":"/docs/basics/blocks-wrapper","sidebar":"docs"},{"id":"basics/browser-sync","path":"/docs/basics/browser-sync","sidebar":"docs"},{"id":"basics/dynamic-import","path":"/docs/basics/dynamic-import","sidebar":"docs"},{"id":"basics/example-class","path":"/docs/basics/example-class","sidebar":"docs"},{"id":"basics/extending-classes","path":"/docs/basics/extending-classes","sidebar":"docs"},{"id":"basics/fonts","path":"/docs/basics/fonts","sidebar":"docs"},{"id":"basics/frontend","path":"/docs/basics/frontend","sidebar":"docs"},{"id":"basics/global-settings","path":"/docs/basics/global-settings","sidebar":"docs"},{"id":"basics/helpers","path":"/docs/basics/helpers","sidebar":"docs"},{"id":"basics/helpers-javascript","path":"/docs/basics/helpers-javascript","sidebar":"docs"},{"id":"basics/helpers-php","path":"/docs/basics/helpers-php","sidebar":"docs"},{"id":"basics/helpers-scss","path":"/docs/basics/helpers-scss","sidebar":"docs"},{"id":"basics/library","path":"/docs/basics/library","sidebar":"docs"},{"id":"basics/manifest","path":"/docs/basics/manifest","sidebar":"docs"},{"id":"basics/namespaces","path":"/docs/basics/namespaces","sidebar":"docs"},{"id":"basics/rest","path":"/docs/basics/rest","sidebar":"docs"},{"id":"basics/rest-field","path":"/docs/basics/rest-field","sidebar":"docs"},{"id":"basics/rest-route","path":"/docs/basics/rest-route","sidebar":"docs"},{"id":"basics/tips-tricks","path":"/docs/basics/tips-tricks","sidebar":"docs"},{"id":"basics/webpack","path":"/docs/basics/webpack","sidebar":"docs"},{"id":"basics/wp-cli","path":"/docs/basics/wp-cli","sidebar":"docs"},{"id":"basics/writing-styles","path":"/docs/basics/writing-styles","sidebar":"docs"},{"id":"crash-course/intro","path":"/docs/crash-course/intro","sidebar":"docs"},{"id":"eightshift-frontend-libs","path":"/docs/eightshift-frontend-libs","sidebar":"docs"},{"id":"eightshift-libs","path":"/docs/eightshift-libs","sidebar":"docs"},{"id":"legacy/v4/advanced/browsersync","path":"/docs/legacy/v4/advanced/browsersync","sidebar":"docs"},{"id":"legacy/v4/advanced/components-color-palette","path":"/docs/legacy/v4/advanced/components-color-palette","sidebar":"docs"},{"id":"legacy/v4/advanced/components-heading-level","path":"/docs/legacy/v4/advanced/components-heading-level","sidebar":"docs"},{"id":"legacy/v4/advanced/docs-sass","path":"/docs/legacy/v4/advanced/docs-sass","sidebar":"docs"},{"id":"legacy/v4/advanced/helpers-aliases-helpers","path":"/docs/legacy/v4/advanced/helpers-aliases-helpers","sidebar":"docs"},{"id":"legacy/v4/advanced/helpers-components-helpers","path":"/docs/legacy/v4/advanced/helpers-components-helpers","sidebar":"docs"},{"id":"legacy/v4/advanced/helpers-error-logger-helpers","path":"/docs/legacy/v4/advanced/helpers-error-logger-helpers","sidebar":"docs"},{"id":"legacy/v4/advanced/helpers-object-helpers","path":"/docs/legacy/v4/advanced/helpers-object-helpers","sidebar":"docs"},{"id":"legacy/v4/advanced/helpers-shortcode-helpers","path":"/docs/legacy/v4/advanced/helpers-shortcode-helpers","sidebar":"docs"},{"id":"legacy/v4/advanced/webpack","path":"/docs/legacy/v4/advanced/webpack","sidebar":"docs"},{"id":"legacy/v4/guides/blocks-block-from-components","path":"/docs/legacy/v4/guides/blocks-block-from-components","sidebar":"docs"},{"id":"legacy/v4/guides/blocks-filter-block-attributes-override","path":"/docs/legacy/v4/guides/blocks-filter-block-attributes-override","sidebar":"docs"},{"id":"legacy/v4/guides/blocks-get-actions-helper","path":"/docs/legacy/v4/guides/blocks-get-actions-helper","sidebar":"docs"},{"id":"legacy/v4/guides/blocks-registration","path":"/docs/legacy/v4/guides/blocks-registration","sidebar":"docs"},{"id":"legacy/v4/guides/blocks-render-block-view-helper","path":"/docs/legacy/v4/guides/blocks-render-block-view-helper","sidebar":"docs"},{"id":"legacy/v4/guides/blocks-structure","path":"/docs/legacy/v4/guides/blocks-structure","sidebar":"docs"},{"id":"legacy/v4/guides/blocks-structure-block-item","path":"/docs/legacy/v4/guides/blocks-structure-block-item","sidebar":"docs"},{"id":"legacy/v4/guides/blocks-structure-component","path":"/docs/legacy/v4/guides/blocks-structure-component","sidebar":"docs"},{"id":"legacy/v4/guides/blocks-structure-manifest","path":"/docs/legacy/v4/guides/blocks-structure-manifest","sidebar":"docs"},{"id":"legacy/v4/guides/columns-post-type","path":"/docs/legacy/v4/guides/columns-post-type","sidebar":"docs"},{"id":"legacy/v4/guides/columns-taxonomy","path":"/docs/legacy/v4/guides/columns-taxonomy","sidebar":"docs"},{"id":"legacy/v4/guides/columns-user","path":"/docs/legacy/v4/guides/columns-user","sidebar":"docs"},{"id":"legacy/v4/guides/config","path":"/docs/legacy/v4/guides/config","sidebar":"docs"},{"id":"legacy/v4/guides/di-container","path":"/docs/legacy/v4/guides/di-container","sidebar":"docs"},{"id":"legacy/v4/guides/enqueue","path":"/docs/legacy/v4/guides/enqueue","sidebar":"docs"},{"id":"legacy/v4/guides/extending-classes","path":"/docs/legacy/v4/guides/extending-classes","sidebar":"docs"},{"id":"legacy/v4/guides/fonts-custom","path":"/docs/legacy/v4/guides/fonts-custom","sidebar":"docs"},{"id":"legacy/v4/guides/fonts-icon","path":"/docs/legacy/v4/guides/fonts-icon","sidebar":"docs"},{"id":"legacy/v4/guides/i18n","path":"/docs/legacy/v4/guides/i18n","sidebar":"docs"},{"id":"legacy/v4/guides/login","path":"/docs/legacy/v4/guides/login","sidebar":"docs"},{"id":"legacy/v4/guides/manifest","path":"/docs/legacy/v4/guides/manifest","sidebar":"docs"},{"id":"legacy/v4/guides/media","path":"/docs/legacy/v4/guides/media","sidebar":"docs"},{"id":"legacy/v4/guides/menu","path":"/docs/legacy/v4/guides/menu","sidebar":"docs"},{"id":"legacy/v4/guides/post-type","path":"/docs/legacy/v4/guides/post-type","sidebar":"docs"},{"id":"legacy/v4/guides/rest-field-example","path":"/docs/legacy/v4/guides/rest-field-example","sidebar":"docs"},{"id":"legacy/v4/guides/rest-intro","path":"/docs/legacy/v4/guides/rest-intro","sidebar":"docs"},{"id":"legacy/v4/guides/rest-route-example","path":"/docs/legacy/v4/guides/rest-route-example","sidebar":"docs"},{"id":"legacy/v4/guides/taxonomy","path":"/docs/legacy/v4/guides/taxonomy","sidebar":"docs"},{"id":"legacy/v4/versions","path":"/docs/legacy/v4/versions","sidebar":"docs"},{"id":"legacy/v5/basics/autowiring","path":"/docs/legacy/v5/basics/autowiring","sidebar":"docs"},{"id":"legacy/v5/basics/backend","path":"/docs/legacy/v5/basics/backend","sidebar":"docs"},{"id":"legacy/v5/basics/basics-intro","path":"/docs/legacy/v5/basics/basics-intro","sidebar":"docs"},{"id":"legacy/v5/basics/block-manifest","path":"/docs/legacy/v5/basics/block-manifest","sidebar":"docs"},{"id":"legacy/v5/basics/block-structure","path":"/docs/legacy/v5/basics/block-structure","sidebar":"docs"},{"id":"legacy/v5/basics/blocks","path":"/docs/legacy/v5/basics/blocks","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-attributes","path":"/docs/legacy/v5/basics/blocks-attributes","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-component-in-block","path":"/docs/legacy/v5/basics/blocks-component-in-block","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-component-manifest","path":"/docs/legacy/v5/basics/blocks-component-manifest","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-component-structure","path":"/docs/legacy/v5/basics/blocks-component-structure","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-global-manifest","path":"/docs/legacy/v5/basics/blocks-global-manifest","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-hooks","path":"/docs/legacy/v5/basics/blocks-hooks","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-important","path":"/docs/legacy/v5/basics/blocks-important","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-intro","path":"/docs/legacy/v5/basics/blocks-intro","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-patterns","path":"/docs/legacy/v5/basics/blocks-patterns","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-registration","path":"/docs/legacy/v5/basics/blocks-registration","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-reusable","path":"/docs/legacy/v5/basics/blocks-reusable","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-special-use-cases","path":"/docs/legacy/v5/basics/blocks-special-use-cases","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-storybook","path":"/docs/legacy/v5/basics/blocks-storybook","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-structure","path":"/docs/legacy/v5/basics/blocks-structure","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-styles","path":"/docs/legacy/v5/basics/blocks-styles","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-transforms","path":"/docs/legacy/v5/basics/blocks-transforms","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-variations","path":"/docs/legacy/v5/basics/blocks-variations","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-wrapper","path":"/docs/legacy/v5/basics/blocks-wrapper","sidebar":"docs"},{"id":"legacy/v5/basics/browser-sync","path":"/docs/legacy/v5/basics/browser-sync","sidebar":"docs"},{"id":"legacy/v5/basics/dynamic-import","path":"/docs/legacy/v5/basics/dynamic-import","sidebar":"docs"},{"id":"legacy/v5/basics/example-class","path":"/docs/legacy/v5/basics/example-class","sidebar":"docs"},{"id":"legacy/v5/basics/extending-classes","path":"/docs/legacy/v5/basics/extending-classes","sidebar":"docs"},{"id":"legacy/v5/basics/fonts","path":"/docs/legacy/v5/basics/fonts","sidebar":"docs"},{"id":"legacy/v5/basics/frontend","path":"/docs/legacy/v5/basics/frontend","sidebar":"docs"},{"id":"legacy/v5/basics/global-settings","path":"/docs/legacy/v5/basics/global-settings","sidebar":"docs"},{"id":"legacy/v5/basics/helpers","path":"/docs/legacy/v5/basics/helpers","sidebar":"docs"},{"id":"legacy/v5/basics/helpers-javascript","path":"/docs/legacy/v5/basics/helpers-javascript","sidebar":"docs"},{"id":"legacy/v5/basics/helpers-php","path":"/docs/legacy/v5/basics/helpers-php","sidebar":"docs"},{"id":"legacy/v5/basics/helpers-scss","path":"/docs/legacy/v5/basics/helpers-scss","sidebar":"docs"},{"id":"legacy/v5/basics/library","path":"/docs/legacy/v5/basics/library","sidebar":"docs"},{"id":"legacy/v5/basics/manifest","path":"/docs/legacy/v5/basics/manifest","sidebar":"docs"},{"id":"legacy/v5/basics/namespaces","path":"/docs/legacy/v5/basics/namespaces","sidebar":"docs"},{"id":"legacy/v5/basics/rest","path":"/docs/legacy/v5/basics/rest","sidebar":"docs"},{"id":"legacy/v5/basics/rest-field","path":"/docs/legacy/v5/basics/rest-field","sidebar":"docs"},{"id":"legacy/v5/basics/rest-route","path":"/docs/legacy/v5/basics/rest-route","sidebar":"docs"},{"id":"legacy/v5/basics/the-structure","path":"/docs/legacy/v5/basics/the-structure","sidebar":"docs"},{"id":"legacy/v5/basics/webpack","path":"/docs/legacy/v5/basics/webpack","sidebar":"docs"},{"id":"legacy/v5/basics/wp-cli","path":"/docs/legacy/v5/basics/wp-cli","sidebar":"docs"},{"id":"legacy/v5/basics/writing-styles","path":"/docs/legacy/v5/basics/writing-styles","sidebar":"docs"},{"id":"legacy/v5/versions","path":"/docs/legacy/v5/versions","sidebar":"docs"},{"id":"legacy/v6/basics/architecture-concepts","path":"/docs/legacy/v6/basics/architecture-concepts","sidebar":"docs"},{"id":"legacy/v6/basics/autowiring","path":"/docs/legacy/v6/basics/autowiring","sidebar":"docs"},{"id":"legacy/v6/basics/backend","path":"/docs/legacy/v6/basics/backend","sidebar":"docs"},{"id":"legacy/v6/basics/basics-intro","path":"/docs/legacy/v6/basics/basics-intro","sidebar":"docs"},{"id":"legacy/v6/basics/block-manifest","path":"/docs/legacy/v6/basics/block-manifest","sidebar":"docs"},{"id":"legacy/v6/basics/block-structure","path":"/docs/legacy/v6/basics/block-structure","sidebar":"docs"},{"id":"legacy/v6/basics/blocks","path":"/docs/legacy/v6/basics/blocks","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-attributes","path":"/docs/legacy/v6/basics/blocks-attributes","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-component-in-block","path":"/docs/legacy/v6/basics/blocks-component-in-block","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-component-manifest","path":"/docs/legacy/v6/basics/blocks-component-manifest","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-component-structure","path":"/docs/legacy/v6/basics/blocks-component-structure","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-faq","path":"/docs/legacy/v6/basics/blocks-faq","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-global-manifest","path":"/docs/legacy/v6/basics/blocks-global-manifest","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-hooks","path":"/docs/legacy/v6/basics/blocks-hooks","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-important","path":"/docs/legacy/v6/basics/blocks-important","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-patterns","path":"/docs/legacy/v6/basics/blocks-patterns","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-registration","path":"/docs/legacy/v6/basics/blocks-registration","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-reusable","path":"/docs/legacy/v6/basics/blocks-reusable","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-special-use-cases","path":"/docs/legacy/v6/basics/blocks-special-use-cases","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-storybook","path":"/docs/legacy/v6/basics/blocks-storybook","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-structure","path":"/docs/legacy/v6/basics/blocks-structure","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-styles","path":"/docs/legacy/v6/basics/blocks-styles","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-transforms","path":"/docs/legacy/v6/basics/blocks-transforms","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-variations","path":"/docs/legacy/v6/basics/blocks-variations","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-wrapper","path":"/docs/legacy/v6/basics/blocks-wrapper","sidebar":"docs"},{"id":"legacy/v6/basics/browser-sync","path":"/docs/legacy/v6/basics/browser-sync","sidebar":"docs"},{"id":"legacy/v6/basics/dynamic-import","path":"/docs/legacy/v6/basics/dynamic-import","sidebar":"docs"},{"id":"legacy/v6/basics/example-class","path":"/docs/legacy/v6/basics/example-class","sidebar":"docs"},{"id":"legacy/v6/basics/extending-classes","path":"/docs/legacy/v6/basics/extending-classes","sidebar":"docs"},{"id":"legacy/v6/basics/fonts","path":"/docs/legacy/v6/basics/fonts","sidebar":"docs"},{"id":"legacy/v6/basics/frontend","path":"/docs/legacy/v6/basics/frontend","sidebar":"docs"},{"id":"legacy/v6/basics/global-settings","path":"/docs/legacy/v6/basics/global-settings","sidebar":"docs"},{"id":"legacy/v6/basics/helpers","path":"/docs/legacy/v6/basics/helpers","sidebar":"docs"},{"id":"legacy/v6/basics/helpers-javascript","path":"/docs/legacy/v6/basics/helpers-javascript","sidebar":"docs"},{"id":"legacy/v6/basics/helpers-php","path":"/docs/legacy/v6/basics/helpers-php","sidebar":"docs"},{"id":"legacy/v6/basics/helpers-scss","path":"/docs/legacy/v6/basics/helpers-scss","sidebar":"docs"},{"id":"legacy/v6/basics/library","path":"/docs/legacy/v6/basics/library","sidebar":"docs"},{"id":"legacy/v6/basics/manifest","path":"/docs/legacy/v6/basics/manifest","sidebar":"docs"},{"id":"legacy/v6/basics/namespaces","path":"/docs/legacy/v6/basics/namespaces","sidebar":"docs"},{"id":"legacy/v6/basics/rest","path":"/docs/legacy/v6/basics/rest","sidebar":"docs"},{"id":"legacy/v6/basics/rest-field","path":"/docs/legacy/v6/basics/rest-field","sidebar":"docs"},{"id":"legacy/v6/basics/rest-route","path":"/docs/legacy/v6/basics/rest-route","sidebar":"docs"},{"id":"legacy/v6/basics/tips-tricks","path":"/docs/legacy/v6/basics/tips-tricks","sidebar":"docs"},{"id":"legacy/v6/basics/webpack","path":"/docs/legacy/v6/basics/webpack","sidebar":"docs"},{"id":"legacy/v6/basics/wp-cli","path":"/docs/legacy/v6/basics/wp-cli","sidebar":"docs"},{"id":"legacy/v6/basics/writing-styles","path":"/docs/legacy/v6/basics/writing-styles","sidebar":"docs"},{"id":"legacy/v6/versions","path":"/docs/legacy/v6/versions","sidebar":"docs"},{"id":"legacy/v7/basics/architecture-concepts","path":"/docs/legacy/v7/basics/architecture-concepts","sidebar":"docs"},{"id":"legacy/v7/basics/autowiring","path":"/docs/legacy/v7/basics/autowiring","sidebar":"docs"},{"id":"legacy/v7/basics/backend","path":"/docs/legacy/v7/basics/backend","sidebar":"docs"},{"id":"legacy/v7/basics/basics-intro","path":"/docs/legacy/v7/basics/basics-intro","sidebar":"docs"},{"id":"legacy/v7/basics/block-manifest","path":"/docs/legacy/v7/basics/block-manifest","sidebar":"docs"},{"id":"legacy/v7/basics/block-structure","path":"/docs/legacy/v7/basics/block-structure","sidebar":"docs"},{"id":"legacy/v7/basics/blocks","path":"/docs/legacy/v7/basics/blocks","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-attributes","path":"/docs/legacy/v7/basics/blocks-attributes","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-component-in-block","path":"/docs/legacy/v7/basics/blocks-component-in-block","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-component-manifest","path":"/docs/legacy/v7/basics/blocks-component-manifest","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-component-structure","path":"/docs/legacy/v7/basics/blocks-component-structure","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-faq","path":"/docs/legacy/v7/basics/blocks-faq","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-global-manifest","path":"/docs/legacy/v7/basics/blocks-global-manifest","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-hooks","path":"/docs/legacy/v7/basics/blocks-hooks","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-important","path":"/docs/legacy/v7/basics/blocks-important","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-patterns","path":"/docs/legacy/v7/basics/blocks-patterns","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-registration","path":"/docs/legacy/v7/basics/blocks-registration","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-reusable","path":"/docs/legacy/v7/basics/blocks-reusable","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-special-use-cases","path":"/docs/legacy/v7/basics/blocks-special-use-cases","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-storybook","path":"/docs/legacy/v7/basics/blocks-storybook","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-structure","path":"/docs/legacy/v7/basics/blocks-structure","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-styles","path":"/docs/legacy/v7/basics/blocks-styles","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-transforms","path":"/docs/legacy/v7/basics/blocks-transforms","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-variations","path":"/docs/legacy/v7/basics/blocks-variations","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-wrapper","path":"/docs/legacy/v7/basics/blocks-wrapper","sidebar":"docs"},{"id":"legacy/v7/basics/browser-sync","path":"/docs/legacy/v7/basics/browser-sync","sidebar":"docs"},{"id":"legacy/v7/basics/dynamic-import","path":"/docs/legacy/v7/basics/dynamic-import","sidebar":"docs"},{"id":"legacy/v7/basics/example-class","path":"/docs/legacy/v7/basics/example-class","sidebar":"docs"},{"id":"legacy/v7/basics/extending-classes","path":"/docs/legacy/v7/basics/extending-classes","sidebar":"docs"},{"id":"legacy/v7/basics/fonts","path":"/docs/legacy/v7/basics/fonts","sidebar":"docs"},{"id":"legacy/v7/basics/frontend","path":"/docs/legacy/v7/basics/frontend","sidebar":"docs"},{"id":"legacy/v7/basics/global-settings","path":"/docs/legacy/v7/basics/global-settings","sidebar":"docs"},{"id":"legacy/v7/basics/helpers","path":"/docs/legacy/v7/basics/helpers","sidebar":"docs"},{"id":"legacy/v7/basics/helpers-javascript","path":"/docs/legacy/v7/basics/helpers-javascript","sidebar":"docs"},{"id":"legacy/v7/basics/helpers-php","path":"/docs/legacy/v7/basics/helpers-php","sidebar":"docs"},{"id":"legacy/v7/basics/helpers-scss","path":"/docs/legacy/v7/basics/helpers-scss","sidebar":"docs"},{"id":"legacy/v7/basics/library","path":"/docs/legacy/v7/basics/library","sidebar":"docs"},{"id":"legacy/v7/basics/manifest","path":"/docs/legacy/v7/basics/manifest","sidebar":"docs"},{"id":"legacy/v7/basics/namespaces","path":"/docs/legacy/v7/basics/namespaces","sidebar":"docs"},{"id":"legacy/v7/basics/rest","path":"/docs/legacy/v7/basics/rest","sidebar":"docs"},{"id":"legacy/v7/basics/rest-field","path":"/docs/legacy/v7/basics/rest-field","sidebar":"docs"},{"id":"legacy/v7/basics/rest-route","path":"/docs/legacy/v7/basics/rest-route","sidebar":"docs"},{"id":"legacy/v7/basics/tips-tricks","path":"/docs/legacy/v7/basics/tips-tricks","sidebar":"docs"},{"id":"legacy/v7/basics/webpack","path":"/docs/legacy/v7/basics/webpack","sidebar":"docs"},{"id":"legacy/v7/basics/wp-cli","path":"/docs/legacy/v7/basics/wp-cli","sidebar":"docs"},{"id":"legacy/v7/basics/writing-styles","path":"/docs/legacy/v7/basics/writing-styles","sidebar":"docs"},{"id":"legacy/v7/versions","path":"/docs/legacy/v7/versions","sidebar":"docs"},{"id":"legacy/v8/basics/architecture-concepts","path":"/docs/legacy/v8/basics/architecture-concepts","sidebar":"docs"},{"id":"legacy/v8/basics/autowiring","path":"/docs/legacy/v8/basics/autowiring","sidebar":"docs"},{"id":"legacy/v8/basics/backend","path":"/docs/legacy/v8/basics/backend","sidebar":"docs"},{"id":"legacy/v8/basics/basics-intro","path":"/docs/legacy/v8/basics/basics-intro","sidebar":"docs"},{"id":"legacy/v8/basics/block-manifest","path":"/docs/legacy/v8/basics/block-manifest","sidebar":"docs"},{"id":"legacy/v8/basics/block-structure","path":"/docs/legacy/v8/basics/block-structure","sidebar":"docs"},{"id":"legacy/v8/basics/blocks","path":"/docs/legacy/v8/basics/blocks","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-attributes","path":"/docs/legacy/v8/basics/blocks-attributes","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-component-in-block","path":"/docs/legacy/v8/basics/blocks-component-in-block","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-component-manifest","path":"/docs/legacy/v8/basics/blocks-component-manifest","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-component-structure","path":"/docs/legacy/v8/basics/blocks-component-structure","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-faq","path":"/docs/legacy/v8/basics/blocks-faq","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-global-manifest","path":"/docs/legacy/v8/basics/blocks-global-manifest","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-hooks","path":"/docs/legacy/v8/basics/blocks-hooks","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-important","path":"/docs/legacy/v8/basics/blocks-important","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-patterns","path":"/docs/legacy/v8/basics/blocks-patterns","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-registration","path":"/docs/legacy/v8/basics/blocks-registration","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-reusable","path":"/docs/legacy/v8/basics/blocks-reusable","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-special-use-cases","path":"/docs/legacy/v8/basics/blocks-special-use-cases","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-storybook","path":"/docs/legacy/v8/basics/blocks-storybook","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-structure","path":"/docs/legacy/v8/basics/blocks-structure","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-styles","path":"/docs/legacy/v8/basics/blocks-styles","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-transforms","path":"/docs/legacy/v8/basics/blocks-transforms","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-variations","path":"/docs/legacy/v8/basics/blocks-variations","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-wrapper","path":"/docs/legacy/v8/basics/blocks-wrapper","sidebar":"docs"},{"id":"legacy/v8/basics/browser-sync","path":"/docs/legacy/v8/basics/browser-sync","sidebar":"docs"},{"id":"legacy/v8/basics/dynamic-import","path":"/docs/legacy/v8/basics/dynamic-import","sidebar":"docs"},{"id":"legacy/v8/basics/example-class","path":"/docs/legacy/v8/basics/example-class","sidebar":"docs"},{"id":"legacy/v8/basics/extending-classes","path":"/docs/legacy/v8/basics/extending-classes","sidebar":"docs"},{"id":"legacy/v8/basics/fonts","path":"/docs/legacy/v8/basics/fonts","sidebar":"docs"},{"id":"legacy/v8/basics/frontend","path":"/docs/legacy/v8/basics/frontend","sidebar":"docs"},{"id":"legacy/v8/basics/global-settings","path":"/docs/legacy/v8/basics/global-settings","sidebar":"docs"},{"id":"legacy/v8/basics/helpers","path":"/docs/legacy/v8/basics/helpers","sidebar":"docs"},{"id":"legacy/v8/basics/helpers-javascript","path":"/docs/legacy/v8/basics/helpers-javascript","sidebar":"docs"},{"id":"legacy/v8/basics/helpers-php","path":"/docs/legacy/v8/basics/helpers-php","sidebar":"docs"},{"id":"legacy/v8/basics/helpers-scss","path":"/docs/legacy/v8/basics/helpers-scss","sidebar":"docs"},{"id":"legacy/v8/basics/library","path":"/docs/legacy/v8/basics/library","sidebar":"docs"},{"id":"legacy/v8/basics/manifest","path":"/docs/legacy/v8/basics/manifest","sidebar":"docs"},{"id":"legacy/v8/basics/namespaces","path":"/docs/legacy/v8/basics/namespaces","sidebar":"docs"},{"id":"legacy/v8/basics/rest","path":"/docs/legacy/v8/basics/rest","sidebar":"docs"},{"id":"legacy/v8/basics/rest-field","path":"/docs/legacy/v8/basics/rest-field","sidebar":"docs"},{"id":"legacy/v8/basics/rest-route","path":"/docs/legacy/v8/basics/rest-route","sidebar":"docs"},{"id":"legacy/v8/basics/tips-tricks","path":"/docs/legacy/v8/basics/tips-tricks","sidebar":"docs"},{"id":"legacy/v8/basics/webpack","path":"/docs/legacy/v8/basics/webpack","sidebar":"docs"},{"id":"legacy/v8/basics/wp-cli","path":"/docs/legacy/v8/basics/wp-cli","sidebar":"docs"},{"id":"legacy/v8/basics/writing-styles","path":"/docs/legacy/v8/basics/writing-styles","sidebar":"docs"},{"id":"legacy/v8/versions","path":"/docs/legacy/v8/versions","sidebar":"docs"},{"id":"migrations/10-11","path":"/docs/migrations/10-11","sidebar":"docs"},{"id":"migrations/5-6","path":"/docs/migrations/5-6","sidebar":"docs"},{"id":"migrations/6-7","path":"/docs/migrations/6-7","sidebar":"docs"},{"id":"migrations/7-8","path":"/docs/migrations/7-8","sidebar":"docs"},{"id":"migrations/8-9","path":"/docs/migrations/8-9","sidebar":"docs"},{"id":"migrations/9-10","path":"/docs/migrations/9-10","sidebar":"docs"},{"id":"plugin","path":"/docs/plugin","sidebar":"docs"},{"id":"requirements","path":"/docs/requirements","sidebar":"docs"},{"id":"theme","path":"/docs/theme","sidebar":"docs"},{"id":"tutorials/intro","path":"/docs/tutorials/intro","sidebar":"docs"},{"id":"versions","path":"/docs/versions","sidebar":"docs"},{"id":"welcome","path":"/docs/welcome","sidebar":"docs"}],"draftIds":[],"sidebars":{"docs":{"link":{"path":"/docs/welcome","label":"welcome"}}}}],"breadcrumbs":true},"forms":{"path":"/forms","versions":[{"name":"current","label":"Next","isLast":true,"path":"/forms","mainDocId":"welcome","docs":[{"id":"addons/create/addon-boilerplate","path":"/forms/addons/create/addon-boilerplate","sidebar":"forms"},{"id":"addons/create/intro","path":"/forms/addons/create/intro","sidebar":"forms"},{"id":"addons/create/requirements","path":"/forms/addons/create/requirements","sidebar":"forms"},{"id":"addons/create/utils-library","path":"/forms/addons/create/utils-library","sidebar":"forms"},{"id":"addons/free/intro","path":"/forms/addons/free/intro","sidebar":"forms"},{"id":"addons/intro","path":"/forms/addons/intro","sidebar":"forms"},{"id":"addons/premium/computed-fields/blocks","path":"/forms/addons/premium/computed-fields/blocks","sidebar":"forms"},{"id":"addons/premium/computed-fields/data-flow","path":"/forms/addons/premium/computed-fields/data-flow","sidebar":"forms"},{"id":"addons/premium/computed-fields/how-to-use","path":"/forms/addons/premium/computed-fields/how-to-use","sidebar":"forms"},{"id":"addons/premium/computed-fields/intro","path":"/forms/addons/premium/computed-fields/intro","sidebar":"forms"},{"id":"addons/premium/computed-fields/settings","path":"/forms/addons/premium/computed-fields/settings","sidebar":"forms"},{"id":"addons/premium/intro","path":"/forms/addons/premium/intro","sidebar":"forms"},{"id":"basics","path":"/forms/basics","sidebar":"forms"},{"id":"features/cache","path":"/forms/features/cache","sidebar":"forms"},{"id":"features/cloudflare","path":"/forms/features/cloudflare","sidebar":"forms"},{"id":"features/conditional-tags","path":"/forms/features/conditional-tags","sidebar":"forms"},{"id":"features/country-list","path":"/forms/features/country-list","sidebar":"forms"},{"id":"features/dashboard","path":"/forms/features/dashboard","sidebar":"forms"},{"id":"features/debug","path":"/forms/features/debug","sidebar":"forms"},{"id":"features/enrichment","path":"/forms/features/enrichment","sidebar":"forms"},{"id":"features/entries","path":"/forms/features/entries","sidebar":"forms"},{"id":"features/fallback-emails","path":"/forms/features/fallback-emails","sidebar":"forms"},{"id":"features/geolocation","path":"/forms/features/geolocation","sidebar":"forms"},{"id":"features/import-export","path":"/forms/features/import-export","sidebar":"forms"},{"id":"features/labels","path":"/forms/features/labels","sidebar":"forms"},{"id":"features/locations","path":"/forms/features/locations","sidebar":"forms"},{"id":"features/migrations","path":"/forms/features/migrations","sidebar":"forms"},{"id":"features/multisteps-forms","path":"/forms/features/multisteps-forms","sidebar":"forms"},{"id":"features/result-output","path":"/forms/features/result-output","sidebar":"forms"},{"id":"features/security","path":"/forms/features/security","sidebar":"forms"},{"id":"features/show-as","path":"/forms/features/show-as","sidebar":"forms"},{"id":"features/single-submit","path":"/forms/features/single-submit","sidebar":"forms"},{"id":"features/spam-prevention","path":"/forms/features/spam-prevention","sidebar":"forms"},{"id":"features/success-redirect","path":"/forms/features/success-redirect","sidebar":"forms"},{"id":"features/tracking","path":"/forms/features/tracking","sidebar":"forms"},{"id":"features/validation","path":"/forms/features/validation","sidebar":"forms"},{"id":"features/wpml","path":"/forms/features/wpml","sidebar":"forms"},{"id":"first-form","path":"/forms/first-form","sidebar":"forms"},{"id":"integrations/active-campaign","path":"/forms/integrations/active-campaign","sidebar":"forms"},{"id":"integrations/airtable","path":"/forms/integrations/airtable","sidebar":"forms"},{"id":"integrations/calculator","path":"/forms/integrations/calculator","sidebar":"forms"},{"id":"integrations/clearbit","path":"/forms/integrations/clearbit","sidebar":"forms"},{"id":"integrations/goodbits","path":"/forms/integrations/goodbits","sidebar":"forms"},{"id":"integrations/greenhouse","path":"/forms/integrations/greenhouse","sidebar":"forms"},{"id":"integrations/hubspot","path":"/forms/integrations/hubspot","sidebar":"forms"},{"id":"integrations/intro","path":"/forms/integrations/intro","sidebar":"forms"},{"id":"integrations/jira","path":"/forms/integrations/jira","sidebar":"forms"},{"id":"integrations/mailchimp","path":"/forms/integrations/mailchimp","sidebar":"forms"},{"id":"integrations/mailer","path":"/forms/integrations/mailer","sidebar":"forms"},{"id":"integrations/mailerlite","path":"/forms/integrations/mailerlite","sidebar":"forms"},{"id":"integrations/moments","path":"/forms/integrations/moments","sidebar":"forms"},{"id":"integrations/pipedrive","path":"/forms/integrations/pipedrive","sidebar":"forms"},{"id":"integrations/workable","path":"/forms/integrations/workable","sidebar":"forms"},{"id":"javascript/events/available-events","path":"/forms/javascript/events/available-events","sidebar":"forms"},{"id":"javascript/events/how-to-use","path":"/forms/javascript/events/how-to-use","sidebar":"forms"},{"id":"javascript/intro","path":"/forms/javascript/intro","sidebar":"forms"},{"id":"javascript/manual-initiation","path":"/forms/javascript/manual-initiation","sidebar":"forms"},{"id":"javascript/state/captcha","path":"/forms/javascript/state/captcha","sidebar":"forms"},{"id":"javascript/state/conditional-tags","path":"/forms/javascript/state/conditional-tags","sidebar":"forms"},{"id":"javascript/state/enrichment","path":"/forms/javascript/state/enrichment","sidebar":"forms"},{"id":"javascript/state/form","path":"/forms/javascript/state/form","sidebar":"forms"},{"id":"javascript/state/how-to-use","path":"/forms/javascript/state/how-to-use","sidebar":"forms"},{"id":"javascript/state/state","path":"/forms/javascript/state/","sidebar":"forms"},{"id":"javascript/state/step","path":"/forms/javascript/state/step","sidebar":"forms"},{"id":"javascript/state/store","path":"/forms/javascript/state/store","sidebar":"forms"},{"id":"javascript/state/utils","path":"/forms/javascript/state/utils","sidebar":"forms"},{"id":"known-issues","path":"/forms/known-issues","sidebar":"forms"},{"id":"php/actions/how-to-use","path":"/forms/php/actions/how-to-use","sidebar":"forms"},{"id":"php/actions/migrations","path":"/forms/php/actions/migrations","sidebar":"forms"},{"id":"php/filters/admin/settings-data","path":"/forms/php/filters/admin/settings-data","sidebar":"forms"},{"id":"php/filters/block/checkboxes/additional-content","path":"/forms/php/filters/block/checkboxes/additional-content","sidebar":"forms"},{"id":"php/filters/block/country/additional-content","path":"/forms/php/filters/block/country/additional-content","sidebar":"forms"},{"id":"php/filters/block/country/alternative-data-set","path":"/forms/php/filters/block/country/alternative-data-set","sidebar":"forms"},{"id":"php/filters/block/date/additional-content","path":"/forms/php/filters/block/date/additional-content","sidebar":"forms"},{"id":"php/filters/block/field/additional-content","path":"/forms/php/filters/block/field/additional-content","sidebar":"forms"},{"id":"php/filters/block/field/style-classes","path":"/forms/php/filters/block/field/style-classes","sidebar":"forms"},{"id":"php/filters/block/field/style-options","path":"/forms/php/filters/block/field/style-options","sidebar":"forms"},{"id":"php/filters/block/file/additional-content","path":"/forms/php/filters/block/file/additional-content","sidebar":"forms"},{"id":"php/filters/block/file/preview-remove-label","path":"/forms/php/filters/block/file/preview-remove-label","sidebar":"forms"},{"id":"php/filters/block/form-selector/additional-content","path":"/forms/php/filters/block/form-selector/additional-content","sidebar":"forms"},{"id":"php/filters/block/form-selector/form-templates","path":"/forms/php/filters/block/form-selector/form-templates","sidebar":"forms"},{"id":"php/filters/block/form/additional-content","path":"/forms/php/filters/block/form/additional-content","sidebar":"forms"},{"id":"php/filters/block/form/additional-hidden-fields","path":"/forms/php/filters/block/form/additional-hidden-fields","sidebar":"forms"},{"id":"php/filters/block/form/data-type-selector","path":"/forms/php/filters/block/form/data-type-selector","sidebar":"forms"},{"id":"php/filters/block/form/global-msg-headings","path":"/forms/php/filters/block/form/global-msg-headings","sidebar":"forms"},{"id":"php/filters/block/form/hide-global-msg-timeout","path":"/forms/php/filters/block/form/hide-global-msg-timeout","sidebar":"forms"},{"id":"php/filters/block/form/phone-sync","path":"/forms/php/filters/block/form/phone-sync","sidebar":"forms"},{"id":"php/filters/block/form/pre-response-addon-data","path":"/forms/php/filters/block/form/pre-response-addon-data","sidebar":"forms"},{"id":"php/filters/block/form/pre-response-success-redirect-data","path":"/forms/php/filters/block/form/pre-response-success-redirect-data","sidebar":"forms"},{"id":"php/filters/block/form/redirect-timeout","path":"/forms/php/filters/block/form/redirect-timeout","sidebar":"forms"},{"id":"php/filters/block/form/result-output-items","path":"/forms/php/filters/block/form/result-output-items","sidebar":"forms"},{"id":"php/filters/block/form/result-output-parts","path":"/forms/php/filters/block/form/result-output-parts","sidebar":"forms"},{"id":"php/filters/block/form/success-redirect-url","path":"/forms/php/filters/block/form/success-redirect-url","sidebar":"forms"},{"id":"php/filters/block/form/success-redirect-variation","path":"/forms/php/filters/block/form/success-redirect-variation","sidebar":"forms"},{"id":"php/filters/block/form/success-redirect-variation-options","path":"/forms/php/filters/block/form/success-redirect-variation-options","sidebar":"forms"},{"id":"php/filters/block/form/tracking-additional-data","path":"/forms/php/filters/block/form/tracking-additional-data","sidebar":"forms"},{"id":"php/filters/block/form/tracking-event-name","path":"/forms/php/filters/block/form/tracking-event-name","sidebar":"forms"},{"id":"php/filters/block/forms/style-options","path":"/forms/php/filters/block/forms/style-options","sidebar":"forms"},{"id":"php/filters/block/input/additional-content","path":"/forms/php/filters/block/input/additional-content","sidebar":"forms"},{"id":"php/filters/block/phone/additional-content","path":"/forms/php/filters/block/phone/additional-content","sidebar":"forms"},{"id":"php/filters/block/radios/additional-content","path":"/forms/php/filters/block/radios/additional-content","sidebar":"forms"},{"id":"php/filters/block/rating/additional-content","path":"/forms/php/filters/block/rating/additional-content","sidebar":"forms"},{"id":"php/filters/block/select/additional-content","path":"/forms/php/filters/block/select/additional-content","sidebar":"forms"},{"id":"php/filters/block/step/component-next","path":"/forms/php/filters/block/step/component-next","sidebar":"forms"},{"id":"php/filters/block/step/component-prev","path":"/forms/php/filters/block/step/component-prev","sidebar":"forms"},{"id":"php/filters/block/submit/additional-content","path":"/forms/php/filters/block/submit/additional-content","sidebar":"forms"},{"id":"php/filters/block/submit/component","path":"/forms/php/filters/block/submit/component","sidebar":"forms"},{"id":"php/filters/block/textarea/additional-content","path":"/forms/php/filters/block/textarea/additional-content","sidebar":"forms"},{"id":"php/filters/blocks/additional-blocks","path":"/forms/php/filters/blocks/additional-blocks","sidebar":"forms"},{"id":"php/filters/blocks/allowed-blocks","path":"/forms/php/filters/blocks/allowed-blocks","sidebar":"forms"},{"id":"php/filters/blocks/media-breakpoints","path":"/forms/php/filters/blocks/media-breakpoints","sidebar":"forms"},{"id":"php/filters/enrichment/manual-map","path":"/forms/php/filters/enrichment/manual-map","sidebar":"forms"},{"id":"php/filters/entries/pre-post-params","path":"/forms/php/filters/entries/pre-post-params","sidebar":"forms"},{"id":"php/filters/general/http-request-timeout","path":"/forms/php/filters/general/http-request-timeout","sidebar":"forms"},{"id":"php/filters/general/locale","path":"/forms/php/filters/general/locale","sidebar":"forms"},{"id":"php/filters/general/scripts-dependency","path":"/forms/php/filters/general/scripts-dependency"},{"id":"php/filters/geolocation/countries","path":"/forms/php/filters/geolocation/countries","sidebar":"forms"},{"id":"php/filters/geolocation/db-location","path":"/forms/php/filters/geolocation/db-location","sidebar":"forms"},{"id":"php/filters/geolocation/phar-location","path":"/forms/php/filters/geolocation/phar-location","sidebar":"forms"},{"id":"php/filters/how-to-use","path":"/forms/php/filters/how-to-use","sidebar":"forms"},{"id":"php/filters/integrations/active-campaign","path":"/forms/php/filters/integrations/active-campaign","sidebar":"forms"},{"id":"php/filters/integrations/airtable","path":"/forms/php/filters/integrations/airtable","sidebar":"forms"},{"id":"php/filters/integrations/calculator","path":"/forms/php/filters/integrations/calculator","sidebar":"forms"},{"id":"php/filters/integrations/clearbit","path":"/forms/php/filters/integrations/clearbit","sidebar":"forms"},{"id":"php/filters/integrations/goodbits","path":"/forms/php/filters/integrations/goodbits","sidebar":"forms"},{"id":"php/filters/integrations/greenhouse","path":"/forms/php/filters/integrations/greenhouse","sidebar":"forms"},{"id":"php/filters/integrations/hubspot","path":"/forms/php/filters/integrations/hubspot","sidebar":"forms"},{"id":"php/filters/integrations/jira","path":"/forms/php/filters/integrations/jira","sidebar":"forms"},{"id":"php/filters/integrations/mailchimp","path":"/forms/php/filters/integrations/mailchimp","sidebar":"forms"},{"id":"php/filters/integrations/mailer","path":"/forms/php/filters/integrations/mailer","sidebar":"forms"},{"id":"php/filters/integrations/mailerlite","path":"/forms/php/filters/integrations/mailerlite","sidebar":"forms"},{"id":"php/filters/integrations/moments","path":"/forms/php/filters/integrations/moments","sidebar":"forms"},{"id":"php/filters/integrations/pipedrive","path":"/forms/php/filters/integrations/pipedrive","sidebar":"forms"},{"id":"php/filters/integrations/workable","path":"/forms/php/filters/integrations/workable","sidebar":"forms"},{"id":"php/filters/scripts/dependency-admin","path":"/forms/php/filters/scripts/dependency-admin","sidebar":"forms"},{"id":"php/filters/scripts/dependency-blocks-editor","path":"/forms/php/filters/scripts/dependency-blocks-editor","sidebar":"forms"},{"id":"php/filters/scripts/dependency-blocks-frontend","path":"/forms/php/filters/scripts/dependency-blocks-frontend","sidebar":"forms"},{"id":"php/filters/scripts/dependency-theme","path":"/forms/php/filters/scripts/dependency-theme","sidebar":"forms"},{"id":"php/filters/scripts/routes-private","path":"/forms/php/filters/scripts/routes-private","sidebar":"forms"},{"id":"php/filters/scripts/routes-public","path":"/forms/php/filters/scripts/routes-public","sidebar":"forms"},{"id":"php/filters/validation/force-mimetype-from-fs","path":"/forms/php/filters/validation/force-mimetype-from-fs","sidebar":"forms"},{"id":"php/global-variables/geolocation","path":"/forms/php/global-variables/geolocation","sidebar":"forms"},{"id":"php/global-variables/google-recaptcha","path":"/forms/php/global-variables/google-recaptcha","sidebar":"forms"},{"id":"php/global-variables/how-to-use","path":"/forms/php/global-variables/how-to-use","sidebar":"forms"},{"id":"php/global-variables/integrations/active-campaign","path":"/forms/php/global-variables/integrations/active-campaign","sidebar":"forms"},{"id":"php/global-variables/integrations/airtable","path":"/forms/php/global-variables/integrations/airtable","sidebar":"forms"},{"id":"php/global-variables/integrations/clearbit","path":"/forms/php/global-variables/integrations/clearbit","sidebar":"forms"},{"id":"php/global-variables/integrations/goodbits","path":"/forms/php/global-variables/integrations/goodbits","sidebar":"forms"},{"id":"php/global-variables/integrations/greenhouse","path":"/forms/php/global-variables/integrations/greenhouse","sidebar":"forms"},{"id":"php/global-variables/integrations/hubspot","path":"/forms/php/global-variables/integrations/hubspot","sidebar":"forms"},{"id":"php/global-variables/integrations/jira","path":"/forms/php/global-variables/integrations/jira","sidebar":"forms"},{"id":"php/global-variables/integrations/mailchimp","path":"/forms/php/global-variables/integrations/mailchimp","sidebar":"forms"},{"id":"php/global-variables/integrations/mailerlite","path":"/forms/php/global-variables/integrations/mailerlite","sidebar":"forms"},{"id":"php/global-variables/integrations/moments","path":"/forms/php/global-variables/integrations/moments","sidebar":"forms"},{"id":"php/global-variables/integrations/pipedrive","path":"/forms/php/global-variables/integrations/pipedrive","sidebar":"forms"},{"id":"php/global-variables/integrations/workable","path":"/forms/php/global-variables/integrations/workable","sidebar":"forms"},{"id":"php/helpers","path":"/forms/php/helpers","sidebar":"forms"},{"id":"php/intro","path":"/forms/php/intro","sidebar":"forms"},{"id":"php/shortcodes","path":"/forms/php/shortcodes","sidebar":"forms"},{"id":"php/wp-cli","path":"/forms/php/wp-cli","sidebar":"forms"},{"id":"tutorials/playlist","path":"/forms/tutorials/playlist","sidebar":"forms"},{"id":"welcome","path":"/forms/welcome","sidebar":"forms"}],"draftIds":[],"sidebars":{"forms":{"link":{"path":"/forms/welcome","label":"welcome"}}}}],"breadcrumbs":true}}}'),r=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var i=n(22654);const c=JSON.parse('{"docusaurusVersion":"3.1.1","siteVersion":"9.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.1.1"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.1.1"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.1.1"},"docusaurus-plugin-google-gtag":{"type":"package","name":"@docusaurus/plugin-google-gtag","version":"3.1.1"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.1.1"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.1.1"},"docusaurus-theme-search-algolia":{"type":"package","name":"@docusaurus/theme-search-algolia","version":"3.1.1"},"es-text-loader":{"type":"package","name":"es-text-loader","version":"0.0.0"}}}');var l=n(74848);const d={siteConfig:o.default,siteMetadata:c,globalData:a,i18n:r,codeTranslations:i},u=s.createContext(d);function p(e){let{children:t}=e;return(0,l.jsx)(u.Provider,{value:d,children:t})}},67489:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});var s=n(96540),o=n(38193),a=n(5260),r=n(70440),i=n(49641),c=n(74848);function l(e){let{error:t,tryAgain:n}=e;return(0,c.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,c.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,c.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,c.jsx)(d,{error:t})]})}function d(e){let{error:t}=e;const n=(0,r.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function u(e){let{error:t,tryAgain:n}=e;return(0,c.jsxs)(f,{fallback:()=>(0,c.jsx)(l,{error:t,tryAgain:n}),children:[(0,c.jsx)(a.A,{children:(0,c.jsx)("title",{children:"Page Error"})}),(0,c.jsx)(i.A,{children:(0,c.jsx)(l,{error:t,tryAgain:n})})]})}const p=e=>(0,c.jsx)(u,{...e});class f extends s.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.A.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??p)(e)}return e??null}}},38193:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const s="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,o={canUseDOM:s,canUseEventListeners:s&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:s&&"IntersectionObserver"in window,canUseViewport:s&&"screen"in window}},5260:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(96540);var s=n(80545),o=n(74848);function a(e){return(0,o.jsx)(s.mg,{...e})}},28774:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});var s=n(96540),o=n(54625),a=n(70440),r=n(44586),i=n(16654),c=n(38193),l=n(63427),d=n(86025),u=n(74848);function p(e,t){let{isNavLink:n,to:p,href:f,activeClassName:b,isActive:h,"data-noBrokenLinkCheck":m,autoAddBaseUrl:g=!0,...v}=e;const{siteConfig:{trailingSlash:y,baseUrl:k}}=(0,r.A)(),{withBaseUrl:x}=(0,d.h)(),w=(0,l.A)(),_=(0,s.useRef)(null);(0,s.useImperativeHandle)(t,(()=>_.current));const j=p||f;const C=(0,i.A)(j),S=j?.replace("pathname://","");let M=void 0!==S?(E=S,g&&(e=>e.startsWith("/"))(E)?x(E):E):void 0;var E;M&&C&&(M=(0,a.applyTrailingSlash)(M,{trailingSlash:y,baseUrl:k}));const L=(0,s.useRef)(!1),A=n?o.k2:o.N_,T=c.A.canUseIntersectionObserver,P=(0,s.useRef)(),R=()=>{L.current||null==M||(window.docusaurus.preload(M),L.current=!0)};(0,s.useEffect)((()=>(!T&&C&&null!=M&&window.docusaurus.prefetch(M),()=>{T&&P.current&&P.current.disconnect()})),[P,M,T,C]);const N=M?.startsWith("#")??!1,Z=!v.target||"_self"===v.target,O=!M||!C||!Z||N;return m||!N&&O||w.collectLink(M),v.id&&w.collectAnchor(v.id),O?(0,u.jsx)("a",{ref:_,href:M,...j&&!C&&{target:"_blank",rel:"noopener noreferrer"},...v}):(0,u.jsx)(A,{...v,onMouseEnter:R,onTouchStart:R,innerRef:e=>{_.current=e,T&&e&&C&&(P.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(P.current.unobserve(e),P.current.disconnect(),null!=M&&window.docusaurus.prefetch(M))}))})),P.current.observe(e))},to:M,...n&&{isActive:h,activeClassName:b}})}const f=s.forwardRef(p)},21312:(e,t,n)=>{"use strict";n.d(t,{A:()=>l,T:()=>c});var s=n(96540),o=n(74848);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,s.isValidElement)(e)))?n.map(((e,t)=>(0,s.isValidElement)(e)?s.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var r=n(22654);function i(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return r[t??n]??n??t}function c(e,t){let{message:n,id:s}=e;return a(i({message:n,id:s}),t)}function l(e){let{children:t,id:n,values:s}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal <Translate> children",t),new Error("The Docusaurus <Translate> component only accept simple string values");const r=i({message:t,id:n});return(0,o.jsx)(o.Fragment,{children:a(r,s)})}},17065:(e,t,n)=>{"use strict";n.d(t,{W:()=>s});const s="default"},16654:(e,t,n)=>{"use strict";function s(e){return/^(?:\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!s(e)}n.d(t,{A:()=>o,z:()=>s})},86025:(e,t,n)=>{"use strict";n.d(t,{A:()=>i,h:()=>r});var s=n(96540),o=n(44586),a=n(16654);function r(){const{siteConfig:{baseUrl:e,url:t}}=(0,o.A)(),n=(0,s.useCallback)(((n,s)=>function(e,t,n,s){let{forcePrependBaseUrl:o=!1,absolute:r=!1}=void 0===s?{}:s;if(!n||n.startsWith("#")||(0,a.z)(n))return n;if(o)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const i=n.startsWith(t)?n:t+n.replace(/^\//,"");return r?e+i:i}(t,e,n,s)),[t,e]);return{withBaseUrl:n}}function i(e,t){void 0===t&&(t={});const{withBaseUrl:n}=r();return n(e,t)}},63427:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});var s=n(96540);n(74848);const o=s.createContext({collectAnchor:()=>{},collectLink:()=>{}}),a=()=>(0,s.useContext)(o);function r(){return a()}},44586:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var s=n(96540),o=n(26988);function a(){return(0,s.useContext)(o.o)}},92303:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var s=n(96540),o=n(6125);function a(){return(0,s.useContext)(o.o)}},205:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var s=n(96540);const o=n(38193).A.canUseDOM?s.useLayoutEffect:s.useEffect},86921:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const s=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function o(e){const t={};return function e(n,o){Object.entries(n).forEach((n=>{let[a,r]=n;const i=o?`${o}.${a}`:a;s(r)?e(r,i):t[i]=r}))}(e),t}},53102:(e,t,n)=>{"use strict";n.d(t,{W:()=>r,o:()=>a});var s=n(96540),o=n(74848);const a=s.createContext(null);function r(e){let{children:t,value:n}=e;const r=s.useContext(a),i=(0,s.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const s={...t.data,...n?.data};return{plugin:t.plugin,data:s}}({parent:r,value:n})),[r,n]);return(0,o.jsx)(a.Provider,{value:i,children:t})}},44070:(e,t,n)=>{"use strict";n.d(t,{zK:()=>g,vT:()=>f,gk:()=>b,Gy:()=>u,HW:()=>v,ht:()=>p,r7:()=>m,jh:()=>h});var s=n(56347),o=n(44586),a=n(17065);function r(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,o.A)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const i=e=>e.versions.find((e=>e.isLast));function c(e,t){const n=i(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,s.B6)(t,{path:e.path,exact:!1,strict:!1})))}function l(e,t){const n=c(e,t),o=n?.docs.find((e=>!!(0,s.B6)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:o,alternateDocVersions:o?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((s=>{s.id===t&&(n[e.name]=s)}))})),n}(o.id):{}}}const d={},u=()=>r("docusaurus-plugin-content-docs")??d,p=e=>function(e,t,n){void 0===t&&(t=a.W),void 0===n&&(n={});const s=r(e),o=s?.[t];if(!o&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return o}("docusaurus-plugin-content-docs",e,{failfast:!0});function f(e){void 0===e&&(e={});const t=u(),{pathname:n}=(0,s.zy)();return function(e,t,n){void 0===n&&(n={});const o=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,s.B6)(t,{path:n.path,exact:!1,strict:!1})})),a=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!a&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return a}(t,n,e)}function b(e){void 0===e&&(e={});const t=f(e),{pathname:n}=(0,s.zy)();if(!t)return;return{activePlugin:t,activeVersion:c(t.pluginData,n)}}function h(e){return p(e).versions}function m(e){const t=p(e);return i(t)}function g(e){const t=p(e),{pathname:n}=(0,s.zy)();return l(t,n)}function v(e){const t=p(e),{pathname:n}=(0,s.zy)();return function(e,t){const n=i(e);return{latestDocSuggestion:l(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},31911:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>s});const s={onRouteDidUpdate(e){let{location:t,previousLocation:n}=e;!n||t.pathname===n.pathname&&t.search===n.search&&t.hash===n.hash||setTimeout((()=>{window.gtag("set","page_path",t.pathname+t.search+t.hash),window.gtag("event","page_view")}))}}},76294:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});var s=n(5947),o=n.n(s);o().configure({showSpinner:!1});const a={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{o().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){o().done()}}},26134:(e,t,n)=>{"use strict";n.r(t);var s=n(71765),o=n(4784);!function(e){const{themeConfig:{prism:t}}=o.default,{additionalLanguages:s}=t;globalThis.Prism=e,s.forEach((e=>{"php"===e&&n(19700),n(18209)(`./prism-${e}`)})),delete globalThis.Prism}(s.My)},51107:(e,t,n)=>{"use strict";n.d(t,{A:()=>d});n(96540);var s=n(34164),o=n(21312),a=n(6342),r=n(28774),i=n(63427);const c={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var l=n(74848);function d(e){let{as:t,id:n,...d}=e;const u=(0,i.A)(),{navbar:{hideOnScroll:p}}=(0,a.p)();if("h1"===t||!n)return(0,l.jsx)(t,{...d,id:void 0});u.collectAnchor(n);const f=(0,o.T)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof d.children?d.children:n});return(0,l.jsxs)(t,{...d,className:(0,s.A)("anchor",p?c.anchorWithHideOnScrollNavbar:c.anchorWithStickyNavbar,d.className),id:n,children:[d.children,(0,l.jsx)(r.A,{className:"hash-link",to:`#${n}`,"aria-label":f,title:f,children:"\u200b"})]})}},43186:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(96540);const s={iconExternalLink:"iconExternalLink_nPIU"};var o=n(74848);function a(e){let{width:t=13.5,height:n=13.5}=e;return(0,o.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:s.iconExternalLink,children:(0,o.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},49641:(e,t,n)=>{"use strict";n.d(t,{A:()=>kt});var s=n(96540),o=n(34164),a=n(67489),r=n(69024),i=n(56347),c=n(21312),l=n(75062),d=n(74848);const u="__docusaurus_skipToContent_fallback";function p(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){const e=(0,s.useRef)(null),{action:t}=(0,i.W6)(),n=(0,s.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(u);t&&p(t)}),[]);return(0,l.$)((n=>{let{location:s}=n;e.current&&!s.hash&&"PUSH"===t&&p(e.current)})),{containerRef:e,onClick:n}}const b=(0,c.T)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function h(e){const t=e.children??b,{containerRef:n,onClick:s}=f();return(0,d.jsx)("div",{ref:n,role:"region","aria-label":b,children:(0,d.jsx)("a",{...e,href:`#${u}`,onClick:s,children:t})})}var m=n(17559),g=n(14090);const v={skipToContent:"skipToContent_fXgn"};function y(){return(0,d.jsx)(h,{className:v.skipToContent})}var k=n(6342),x=n(65041);function w(e){let{width:t=21,height:n=21,color:s="currentColor",strokeWidth:o=1.2,className:a,...r}=e;return(0,d.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...r,children:(0,d.jsx)("g",{stroke:s,strokeWidth:o,children:(0,d.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const _={closeButton:"closeButton_CVFx"};function j(e){return(0,d.jsx)("button",{type:"button","aria-label":(0,c.T)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,o.A)("clean-btn close",_.closeButton,e.className),children:(0,d.jsx)(w,{width:14,height:14,strokeWidth:3.1})})}const C={content:"content_knG7"};function S(e){const{announcementBar:t}=(0,k.p)(),{content:n}=t;return(0,d.jsx)("div",{...e,className:(0,o.A)(C.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const M={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function E(){const{announcementBar:e}=(0,k.p)(),{isActive:t,close:n}=(0,x.Mj)();if(!t)return null;const{backgroundColor:s,textColor:o,isCloseable:a}=e;return(0,d.jsxs)("div",{className:M.announcementBar,style:{backgroundColor:s,color:o},role:"banner",children:[a&&(0,d.jsx)("div",{className:M.announcementBarPlaceholder}),(0,d.jsx)(S,{className:M.announcementBarContent}),a&&(0,d.jsx)(j,{onClick:n,className:M.announcementBarClose})]})}var L=n(22069),A=n(23104);var T=n(89532),P=n(75600);const R=s.createContext(null);function N(e){let{children:t}=e;const n=function(){const e=(0,L.M)(),t=(0,P.YL)(),[n,o]=(0,s.useState)(!1),a=null!==t.component,r=(0,T.ZC)(a);return(0,s.useEffect)((()=>{a&&!r&&o(!0)}),[a,r]),(0,s.useEffect)((()=>{a?e.shown||o(!0):o(!1)}),[e.shown,a]),(0,s.useMemo)((()=>[n,o]),[n])}();return(0,d.jsx)(R.Provider,{value:n,children:t})}function Z(e){if(e.component){const t=e.component;return(0,d.jsx)(t,{...e.props})}}function O(){const e=(0,s.useContext)(R);if(!e)throw new T.dV("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,o=(0,s.useCallback)((()=>n(!1)),[n]),a=(0,P.YL)();return(0,s.useMemo)((()=>({shown:t,hide:o,content:Z(a)})),[o,a,t])}function D(e){let{header:t,primaryMenu:n,secondaryMenu:s}=e;const{shown:a}=O();return(0,d.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,d.jsxs)("div",{className:(0,o.A)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":a}),children:[(0,d.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,d.jsx)("div",{className:"navbar-sidebar__item menu",children:s})]})]})}var B=n(95293),I=n(92303);function F(e){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,d.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function z(e){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,d.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const W={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function $(e){let{className:t,buttonClassName:n,value:s,onChange:a}=e;const r=(0,I.A)(),i=(0,c.T)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===s?(0,c.T)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,c.T)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,d.jsx)("div",{className:(0,o.A)(W.toggle,t),children:(0,d.jsxs)("button",{className:(0,o.A)("clean-btn",W.toggleButton,!r&&W.toggleButtonDisabled,n),type:"button",onClick:()=>a("dark"===s?"light":"dark"),disabled:!r,title:i,"aria-label":i,"aria-live":"polite",children:[(0,d.jsx)(F,{className:(0,o.A)(W.toggleIcon,W.lightToggleIcon)}),(0,d.jsx)(z,{className:(0,o.A)(W.toggleIcon,W.darkToggleIcon)})]})})}const H=s.memo($),V={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function U(e){let{className:t}=e;const n=(0,k.p)().navbar.style,s=(0,k.p)().colorMode.disableSwitch,{colorMode:o,setColorMode:a}=(0,B.G)();return s?null:(0,d.jsx)(H,{className:t,buttonClassName:"dark"===n?V.darkNavbarColorModeToggle:void 0,value:o,onChange:a})}var q=n(39529);function G(){return(0,d.jsx)(q.A,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function K(){const e=(0,L.M)();return(0,d.jsx)("button",{type:"button","aria-label":(0,c.T)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,d.jsx)(w,{color:"var(--ifm-color-emphasis-600)"})})}function Y(){return(0,d.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,d.jsx)(G,{}),(0,d.jsx)(U,{className:"margin-right--md"}),(0,d.jsx)(K,{})]})}var Q=n(28774),X=n(86025),J=n(16654),ee=n(91252),te=n(43186);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:s,href:o,label:a,html:r,isDropdownLink:i,prependBaseUrlToHref:c,...l}=e;const u=(0,X.A)(s),p=(0,X.A)(t),f=(0,X.A)(o,{forcePrependBaseUrl:!0}),b=a&&o&&!(0,J.A)(o),h=r?{dangerouslySetInnerHTML:{__html:r}}:{children:(0,d.jsxs)(d.Fragment,{children:[a,b&&(0,d.jsx)(te.A,{...i&&{width:12,height:12}})]})};return o?(0,d.jsx)(Q.A,{href:c?f:o,...l,...h}):(0,d.jsx)(Q.A,{to:u,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?(0,ee.G)(n,t.pathname):t.pathname.startsWith(p)},...l,...h})}function se(e){let{className:t,isDropdownItem:n=!1,...s}=e;const a=(0,d.jsx)(ne,{className:(0,o.A)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...s});return n?(0,d.jsx)("li",{children:a}):a}function oe(e){let{className:t,isDropdownItem:n,...s}=e;return(0,d.jsx)("li",{className:"menu__list-item",children:(0,d.jsx)(ne,{className:(0,o.A)("menu__link",t),...s})})}function ae(e){let{mobile:t=!1,position:n,...s}=e;const o=t?oe:se;return(0,d.jsx)(o,{...s,activeClassName:s.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var re=n(41422),ie=n(99169),ce=n(44586);const le={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_S0Fm"};function de(e,t){return e.some((e=>function(e,t){return!!(0,ie.ys)(e.to,t)||!!(0,ee.G)(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function ue(e){let{items:t,position:n,className:a,onClick:r,...i}=e;const c=(0,s.useRef)(null),[l,u]=(0,s.useState)(!1);return(0,s.useEffect)((()=>{const e=e=>{c.current&&!c.current.contains(e.target)&&u(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[c]),(0,d.jsxs)("div",{ref:c,className:(0,o.A)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":l}),children:[(0,d.jsx)(ne,{"aria-haspopup":"true","aria-expanded":l,role:"button",href:i.to?void 0:"#",className:(0,o.A)("navbar__link",a),...i,onClick:i.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),u(!l))},children:i.children??i.label}),(0,d.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,s.createElement)(Ve,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function pe(e){let{items:t,className:n,position:a,onClick:r,...c}=e;const l=function(){const{siteConfig:{baseUrl:e}}=(0,ce.A)(),{pathname:t}=(0,i.zy)();return t.replace(e,"/")}(),u=de(t,l),{collapsed:p,toggleCollapsed:f,setCollapsed:b}=(0,re.u)({initialState:()=>!u});return(0,s.useEffect)((()=>{u&&b(!u)}),[l,u,b]),(0,d.jsxs)("li",{className:(0,o.A)("menu__list-item",{"menu__list-item--collapsed":p}),children:[(0,d.jsx)(ne,{role:"button",className:(0,o.A)(le.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...c,onClick:e=>{e.preventDefault(),f()},children:c.children??c.label}),(0,d.jsx)(re.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:p,children:t.map(((e,t)=>(0,s.createElement)(Ve,{mobile:!0,isDropdownItem:!0,onClick:r,activeClassName:"menu__link--active",...e,key:t})))})]})}function fe(e){let{mobile:t=!1,...n}=e;const s=t?pe:ue;return(0,d.jsx)(s,{...n})}var be=n(32131);function he(e){let{width:t=20,height:n=20,...s}=e;return(0,d.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...s,children:(0,d.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const me="iconLanguage_nlXk";var ge=n(40961);function ve(){return s.createElement("svg",{width:"15",height:"15",className:"DocSearch-Control-Key-Icon"},s.createElement("path",{d:"M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953",strokeWidth:"1.2",stroke:"currentColor",fill:"none",strokeLinecap:"square"}))}var ye=n(89188),ke=["translations"];function xe(){return xe=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e},xe.apply(this,arguments)}function we(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var s,o,a=[],r=!0,i=!1;try{for(n=n.call(e);!(r=(s=n.next()).done)&&(a.push(s.value),!t||a.length!==t);r=!0);}catch(c){i=!0,o=c}finally{try{r||null==n.return||n.return()}finally{if(i)throw o}}return a}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return _e(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _e(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _e(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,s=new Array(t);n<t;n++)s[n]=e[n];return s}function je(e,t){if(null==e)return{};var n,s,o=function(e,t){if(null==e)return{};var n,s,o={},a=Object.keys(e);for(s=0;s<a.length;s++)n=a[s],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(s=0;s<a.length;s++)n=a[s],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var Ce="Ctrl";var Se=s.forwardRef((function(e,t){var n=e.translations,o=void 0===n?{}:n,a=je(e,ke),r=o.buttonText,i=void 0===r?"Search":r,c=o.buttonAriaLabel,l=void 0===c?"Search":c,d=we((0,s.useState)(null),2),u=d[0],p=d[1];return(0,s.useEffect)((function(){"undefined"!=typeof navigator&&(/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?p("\u2318"):p(Ce))}),[]),s.createElement("button",xe({type:"button",className:"DocSearch DocSearch-Button","aria-label":l},a,{ref:t}),s.createElement("span",{className:"DocSearch-Button-Container"},s.createElement(ye.W,null),s.createElement("span",{className:"DocSearch-Button-Placeholder"},i)),s.createElement("span",{className:"DocSearch-Button-Keys"},null!==u&&s.createElement(s.Fragment,null,s.createElement(Me,{reactsToKey:u===Ce?Ce:"Meta"},u===Ce?s.createElement(ve,null):u),s.createElement(Me,{reactsToKey:"k"},"K"))))}));function Me(e){var t=e.reactsToKey,n=e.children,o=we((0,s.useState)(!1),2),a=o[0],r=o[1];return(0,s.useEffect)((function(){if(t)return window.addEventListener("keydown",e),window.addEventListener("keyup",n),function(){window.removeEventListener("keydown",e),window.removeEventListener("keyup",n)};function e(e){e.key===t&&r(!0)}function n(e){e.key!==t&&"Meta"!==e.key||r(!1)}}),[t]),s.createElement("kbd",{className:a?"DocSearch-Button-Key DocSearch-Button-Key--pressed":"DocSearch-Button-Key"},n)}var Ee=n(5260),Le=n(24255),Ae=n(51062),Te=n(2967);const Pe={button:{buttonText:(0,c.T)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),buttonAriaLabel:(0,c.T)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"})},modal:{searchBox:{resetButtonTitle:(0,c.T)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),resetButtonAriaLabel:(0,c.T)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),cancelButtonText:(0,c.T)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"}),cancelButtonAriaLabel:(0,c.T)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"})},startScreen:{recentSearchesTitle:(0,c.T)({id:"theme.SearchModal.startScreen.recentSearchesTitle",message:"Recent",description:"The title for recent searches"}),noRecentSearchesText:(0,c.T)({id:"theme.SearchModal.startScreen.noRecentSearchesText",message:"No recent searches",description:"The text when no recent searches"}),saveRecentSearchButtonTitle:(0,c.T)({id:"theme.SearchModal.startScreen.saveRecentSearchButtonTitle",message:"Save this search",description:"The label for save recent search button"}),removeRecentSearchButtonTitle:(0,c.T)({id:"theme.SearchModal.startScreen.removeRecentSearchButtonTitle",message:"Remove this search from history",description:"The label for remove recent search button"}),favoriteSearchesTitle:(0,c.T)({id:"theme.SearchModal.startScreen.favoriteSearchesTitle",message:"Favorite",description:"The title for favorite searches"}),removeFavoriteSearchButtonTitle:(0,c.T)({id:"theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle",message:"Remove this search from favorites",description:"The label for remove favorite search button"})},errorScreen:{titleText:(0,c.T)({id:"theme.SearchModal.errorScreen.titleText",message:"Unable to fetch results",description:"The title for error screen of search modal"}),helpText:(0,c.T)({id:"theme.SearchModal.errorScreen.helpText",message:"You might want to check your network connection.",description:"The help text for error screen of search modal"})},footer:{selectText:(0,c.T)({id:"theme.SearchModal.footer.selectText",message:"to select",description:"The explanatory text of the action for the enter key"}),selectKeyAriaLabel:(0,c.T)({id:"theme.SearchModal.footer.selectKeyAriaLabel",message:"Enter key",description:"The ARIA label for the Enter key button that makes the selection"}),navigateText:(0,c.T)({id:"theme.SearchModal.footer.navigateText",message:"to navigate",description:"The explanatory text of the action for the Arrow up and Arrow down key"}),navigateUpKeyAriaLabel:(0,c.T)({id:"theme.SearchModal.footer.navigateUpKeyAriaLabel",message:"Arrow up",description:"The ARIA label for the Arrow up key button that makes the navigation"}),navigateDownKeyAriaLabel:(0,c.T)({id:"theme.SearchModal.footer.navigateDownKeyAriaLabel",message:"Arrow down",description:"The ARIA label for the Arrow down key button that makes the navigation"}),closeText:(0,c.T)({id:"theme.SearchModal.footer.closeText",message:"to close",description:"The explanatory text of the action for Escape key"}),closeKeyAriaLabel:(0,c.T)({id:"theme.SearchModal.footer.closeKeyAriaLabel",message:"Escape key",description:"The ARIA label for the Escape key button that close the modal"}),searchByText:(0,c.T)({id:"theme.SearchModal.footer.searchByText",message:"Search by",description:"The text explain that the search is making by Algolia"})},noResultsScreen:{noResultsText:(0,c.T)({id:"theme.SearchModal.noResultsScreen.noResultsText",message:"No results for",description:"The text explains that there are no results for the following search"}),suggestedQueryText:(0,c.T)({id:"theme.SearchModal.noResultsScreen.suggestedQueryText",message:"Try searching for",description:"The text for the suggested query when no results are found for the following search"}),reportMissingResultsText:(0,c.T)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsText",message:"Believe this query should return results?",description:"The text for the question where the user thinks there are missing results"}),reportMissingResultsLinkText:(0,c.T)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsLinkText",message:"Let us know.",description:"The text for the link to report missing results"})}},placeholder:(0,c.T)({id:"theme.SearchModal.placeholder",message:"Search docs",description:"The placeholder of the input of the DocSearch pop-up modal"})};let Re=null;function Ne(e){let{hit:t,children:n}=e;return(0,d.jsx)(Q.A,{to:t.url,children:n})}function Ze(e){let{state:t,onClose:n}=e;const s=(0,Le.w)();return(0,d.jsx)(Q.A,{to:s(t.query),onClick:n,children:(0,d.jsx)(c.A,{id:"theme.SearchBar.seeAll",values:{count:t.context.nbHits},children:"See all {count} results"})})}function Oe(e){let{contextualSearch:t,externalUrlRegex:o,...a}=e;const{siteMetadata:r}=(0,ce.A)(),c=(0,Ae.C)(),l=function(){const{locale:e,tags:t}=(0,Te.af)();return[`language:${e}`,t.map((e=>`docusaurus_tag:${e}`))]}(),u=a.searchParameters?.facetFilters??[],p=t?function(e,t){const n=e=>"string"==typeof e?[e]:e;return[...n(e),...n(t)]}(l,u):u,f={...a.searchParameters,facetFilters:p},b=(0,i.W6)(),h=(0,s.useRef)(null),m=(0,s.useRef)(null),[g,v]=(0,s.useState)(!1),[y,k]=(0,s.useState)(void 0),x=(0,s.useCallback)((()=>Re?Promise.resolve():Promise.all([n.e(9462).then(n.bind(n,9462)),Promise.all([n.e(71869),n.e(58913)]).then(n.bind(n,58913)),Promise.all([n.e(71869),n.e(90416)]).then(n.bind(n,90416))]).then((e=>{let[{DocSearchModal:t}]=e;Re=t}))),[]),w=(0,s.useCallback)((()=>{x().then((()=>{h.current=document.createElement("div"),document.body.insertBefore(h.current,document.body.firstChild),v(!0)}))}),[x,v]),_=(0,s.useCallback)((()=>{v(!1),h.current?.remove()}),[v]),j=(0,s.useCallback)((e=>{x().then((()=>{v(!0),k(e.key)}))}),[x,v,k]),C=(0,s.useRef)({navigate(e){let{itemUrl:t}=e;(0,ee.G)(o,t)?window.location.href=t:b.push(t)}}).current,S=(0,s.useRef)((e=>a.transformItems?a.transformItems(e):e.map((e=>({...e,url:c(e.url)}))))).current,M=(0,s.useMemo)((()=>e=>(0,d.jsx)(Ze,{...e,onClose:_})),[_]),E=(0,s.useCallback)((e=>(e.addAlgoliaAgent("docusaurus",r.docusaurusVersion),e)),[r.docusaurusVersion]);return function(e){var t=e.isOpen,n=e.onOpen,o=e.onClose,a=e.onInput,r=e.searchButtonRef;s.useEffect((function(){function e(e){var s;(27===e.keyCode&&t||"k"===(null===(s=e.key)||void 0===s?void 0:s.toLowerCase())&&(e.metaKey||e.ctrlKey)||!function(e){var t=e.target,n=t.tagName;return t.isContentEditable||"INPUT"===n||"SELECT"===n||"TEXTAREA"===n}(e)&&"/"===e.key&&!t)&&(e.preventDefault(),t?o():document.body.classList.contains("DocSearch--active")||document.body.classList.contains("DocSearch--active")||n()),r&&r.current===document.activeElement&&a&&/[a-zA-Z0-9]/.test(String.fromCharCode(e.keyCode))&&a(e)}return window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}}),[t,n,o,a,r])}({isOpen:g,onOpen:w,onClose:_,onInput:j,searchButtonRef:m}),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Ee.A,{children:(0,d.jsx)("link",{rel:"preconnect",href:`https://${a.appId}-dsn.algolia.net`,crossOrigin:"anonymous"})}),(0,d.jsx)(Se,{onTouchStart:x,onFocus:x,onMouseOver:x,onClick:w,ref:m,translations:Pe.button}),g&&Re&&h.current&&(0,ge.createPortal)((0,d.jsx)(Re,{onClose:_,initialScrollY:window.scrollY,initialQuery:y,navigator:C,transformItems:S,hitComponent:Ne,transformSearchClient:E,...a.searchPagePath&&{resultsFooterComponent:M},...a,searchParameters:f,placeholder:Pe.placeholder,translations:Pe.modal}),h.current)]})}function De(){const{siteConfig:e}=(0,ce.A)();return(0,d.jsx)(Oe,{...e.themeConfig.algolia})}const Be={navbarSearchContainer:"navbarSearchContainer_Bca1"};function Ie(e){let{children:t,className:n}=e;return(0,d.jsx)("div",{className:(0,o.A)(n,Be.navbarSearchContainer),children:t})}var Fe=n(44070),ze=n(81754);var We=n(55597);const $e=e=>e.docs.find((t=>t.id===e.mainDocId));const He={default:ae,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:s,queryString:o="",...a}=e;const{i18n:{currentLocale:r,locales:l,localeConfigs:u}}=(0,ce.A)(),p=(0,be.o)(),{search:f,hash:b}=(0,i.zy)(),h=[...n,...l.map((e=>{const n=`${`pathname://${p.createUrl({locale:e,fullyQualified:!1})}`}${f}${b}${o}`;return{label:u[e].label,lang:u[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===r?t?"menu__link--active":"dropdown__link--active":""}})),...s],m=t?(0,c.T)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):u[r].label;return(0,d.jsx)(fe,{...a,mobile:t,label:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(he,{className:me}),m]}),items:h})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,d.jsx)(Ie,{className:n,children:(0,d.jsx)(De,{})})},dropdown:fe,html:function(e){let{value:t,className:n,mobile:s=!1,isDropdownItem:a=!1}=e;const r=a?"li":"div";return(0,d.jsx)(r,{className:(0,o.A)({navbar__item:!s&&!a,"menu__list-item":s},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:s,...o}=e;const{activeDoc:a}=(0,Fe.zK)(s),r=(0,ze.QB)(t,s),i=a?.path===r?.path;return null===r||r.unlisted&&!i?null:(0,d.jsx)(ae,{exact:!0,...o,isActive:()=>i||!!a?.sidebar&&a.sidebar===r.sidebar,label:n??r.id,to:r.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:s,...o}=e;const{activeDoc:a}=(0,Fe.zK)(s),r=(0,ze.fW)(t,s).link;if(!r)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,d.jsx)(ae,{exact:!0,...o,isActive:()=>a?.sidebar===t,label:n??r.label,to:r.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:s,...o}=e;const a=(0,ze.Vd)(s)[0],r=t??a.label,i=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(a).path;return(0,d.jsx)(ae,{...o,label:r,to:i})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:s,dropdownItemsBefore:o,dropdownItemsAfter:a,...r}=e;const{search:l,hash:u}=(0,i.zy)(),p=(0,Fe.zK)(n),f=(0,Fe.jh)(n),{savePreferredVersionName:b}=(0,We.g1)(n),h=[...o,...f.map((e=>{const t=p.alternateDocVersions[e.name]??$e(e);return{label:e.label,to:`${t.path}${l}${u}`,isActive:()=>e===p.activeVersion,onClick:()=>b(e.name)}})),...a],m=(0,ze.Vd)(n)[0],g=t&&h.length>1?(0,c.T)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):m.label,v=t&&h.length>1?void 0:$e(m).path;return h.length<=1?(0,d.jsx)(ae,{...r,mobile:t,label:g,to:v,isActive:s?()=>!1:void 0}):(0,d.jsx)(fe,{...r,mobile:t,label:g,to:v,items:h,isActive:s?()=>!1:void 0})}};function Ve(e){let{type:t,...n}=e;const s=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=He[s];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,d.jsx)(o,{...n})}function Ue(){const e=(0,L.M)(),t=(0,k.p)().navbar.items;return(0,d.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,s.createElement)(Ve,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function qe(e){return(0,d.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,d.jsx)(c.A,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function Ge(){const e=0===(0,k.p)().navbar.items.length,t=O();return(0,d.jsxs)(d.Fragment,{children:[!e&&(0,d.jsx)(qe,{onClick:()=>t.hide()}),t.content]})}function Ke(){const e=(0,L.M)();var t;return void 0===(t=e.shown)&&(t=!0),(0,s.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,d.jsx)(D,{header:(0,d.jsx)(Y,{}),primaryMenu:(0,d.jsx)(Ue,{}),secondaryMenu:(0,d.jsx)(Ge,{})}):null}const Ye={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Qe(e){return(0,d.jsx)("div",{role:"presentation",...e,className:(0,o.A)("navbar-sidebar__backdrop",e.className)})}function Xe(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:a}}=(0,k.p)(),r=(0,L.M)(),{navbarRef:i,isNavbarVisible:u}=function(e){const[t,n]=(0,s.useState)(e),o=(0,s.useRef)(!1),a=(0,s.useRef)(0),r=(0,s.useCallback)((e=>{null!==e&&(a.current=e.getBoundingClientRect().height)}),[]);return(0,A.Mq)(((t,s)=>{let{scrollY:r}=t;if(!e)return;if(r<a.current)return void n(!0);if(o.current)return void(o.current=!1);const i=s?.scrollY,c=document.documentElement.scrollHeight-a.current,l=window.innerHeight;i&&r>=i?n(!1):r+l<c&&n(!0)})),(0,l.$)((t=>{if(!e)return;const s=t.location.hash;if(s?document.getElementById(s.substring(1)):void 0)return o.current=!0,void n(!1);n(!0)})),{navbarRef:r,isNavbarVisible:t}}(n);return(0,d.jsxs)("nav",{ref:i,"aria-label":(0,c.T)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,o.A)("navbar","navbar--fixed-top",n&&[Ye.navbarHideable,!u&&Ye.navbarHidden],{"navbar--dark":"dark"===a,"navbar--primary":"primary"===a,"navbar-sidebar--show":r.shown}),children:[t,(0,d.jsx)(Qe,{onClick:r.toggle}),(0,d.jsx)(Ke,{})]})}var Je=n(70440);const et={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};function tt(e){return(0,d.jsx)("button",{type:"button",...e,children:(0,d.jsx)(c.A,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function nt(e){let{error:t}=e;const n=(0,Je.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,d.jsx)("p",{className:et.errorBoundaryError,children:n})}class st extends s.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const ot="right";function at(e){let{width:t=30,height:n=30,className:s,...o}=e;return(0,d.jsx)("svg",{className:s,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...o,children:(0,d.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function rt(){const{toggle:e,shown:t}=(0,L.M)();return(0,d.jsx)("button",{onClick:e,"aria-label":(0,c.T)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,d.jsx)(at,{})})}const it={colorModeToggle:"colorModeToggle_DEke"};function ct(e){let{items:t}=e;return(0,d.jsx)(d.Fragment,{children:t.map(((e,t)=>(0,d.jsx)(st,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,d.jsx)(Ve,{...e})},t)))})}function lt(e){let{left:t,right:n}=e;return(0,d.jsxs)("div",{className:"navbar__inner",children:[(0,d.jsx)("div",{className:"navbar__items",children:t}),(0,d.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function dt(){const e=(0,L.M)(),t=(0,k.p)().navbar.items,[n,s]=function(e){function t(e){return"left"===(e.position??ot)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return(0,d.jsx)(lt,{left:(0,d.jsxs)(d.Fragment,{children:[!e.disabled&&(0,d.jsx)(rt,{}),(0,d.jsx)(G,{}),(0,d.jsx)(ct,{items:n})]}),right:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(ct,{items:s}),(0,d.jsx)(U,{className:it.colorModeToggle}),!o&&(0,d.jsx)(Ie,{children:(0,d.jsx)(De,{})})]})})}function ut(){return(0,d.jsx)(Xe,{children:(0,d.jsx)(dt,{})})}var pt=n(25552);function ft(){const{footer:e}=(0,k.p)();return(0,d.jsx)(pt.wi,{footer:e})}const bt=s.memo(ft),ht=(0,T.fM)([B.a,x.oq,A.Tv,We.VQ,r.Jx,function(e){let{children:t}=e;return(0,d.jsx)(P.y_,{children:(0,d.jsx)(L.e,{children:(0,d.jsx)(N,{children:t})})})}]);function mt(e){let{children:t}=e;return(0,d.jsx)(ht,{children:t})}var gt=n(51107);function vt(e){let{error:t,tryAgain:n}=e;return(0,d.jsx)("main",{className:"container margin-vert--xl",children:(0,d.jsx)("div",{className:"row",children:(0,d.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,d.jsx)(gt.A,{as:"h1",className:"hero__title",children:(0,d.jsx)(c.A,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,d.jsx)("div",{className:"margin-vert--lg",children:(0,d.jsx)(tt,{onClick:n,className:"button button--primary shadow--lw"})}),(0,d.jsx)("hr",{}),(0,d.jsx)("div",{className:"margin-vert--md",children:(0,d.jsx)(nt,{error:t})})]})})})}const yt={mainWrapper:"mainWrapper_z2l0"};function kt(e){const{children:t,noFooter:n,wrapperClassName:s,title:i,description:c}=e;return(0,g.J)(),(0,d.jsxs)(mt,{children:[(0,d.jsx)(r.be,{title:i,description:c}),(0,d.jsx)(y,{}),(0,d.jsx)(E,{}),(0,d.jsx)(ut,{}),(0,d.jsx)("div",{id:u,className:(0,o.A)(m.G.wrapper.main,yt.mainWrapper,s),children:(0,d.jsx)(a.A,{fallback:e=>(0,d.jsx)(vt,{...e}),children:t})}),!n&&(0,d.jsx)(bt,{})]})}},39529:(e,t,n)=>{"use strict";n.d(t,{A:()=>m});var s=n(96540),o=n(28774),a=n(86025),r=n(44586),i=n(6342),c=n(34164),l=n(92303),d=n(95293);const u={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var p=n(74848);function f(e){let{className:t,children:n}=e;const o=(0,l.A)(),{colorMode:a}=(0,d.G)();return(0,p.jsx)(p.Fragment,{children:(o?"dark"===a?["dark"]:["light"]:["light","dark"]).map((e=>{const o=n({theme:e,className:(0,c.A)(t,u.themedComponent,u[`themedComponent--${e}`])});return(0,p.jsx)(s.Fragment,{children:o},e)}))})}function b(e){const{sources:t,className:n,alt:s,...o}=e;return(0,p.jsx)(f,{className:n,children:e=>{let{theme:n,className:a}=e;return(0,p.jsx)("img",{src:t[n],alt:s,className:a,...o})}})}function h(e){let{logo:t,alt:n,imageClassName:s}=e;const o={light:(0,a.A)(t.src),dark:(0,a.A)(t.srcDark||t.src)},r=(0,p.jsx)(b,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return s?(0,p.jsx)("div",{className:s,children:r}):r}function m(e){const{siteConfig:{title:t}}=(0,r.A)(),{navbar:{title:n,logo:s}}=(0,i.p)(),{imageClassName:c,titleClassName:l,...d}=e,u=(0,a.A)(s?.href||"/"),f=n?"":t,b=s?.alt??f;return(0,p.jsxs)(o.A,{to:u,...d,...s?.target&&{target:s.target},children:[s&&(0,p.jsx)(h,{logo:s,alt:b,imageClassName:c}),null!=n&&(0,p.jsx)("b",{className:l,children:n})]})}},41463:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(96540);var s=n(5260),o=n(74848);function a(e){let{locale:t,version:n,tag:a}=e;const r=t;return(0,o.jsxs)(s.A,{children:[t&&(0,o.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,o.jsx)("meta",{name:"docusaurus_version",content:n}),a&&(0,o.jsx)("meta",{name:"docusaurus_tag",content:a}),r&&(0,o.jsx)("meta",{name:"docsearch:language",content:r}),n&&(0,o.jsx)("meta",{name:"docsearch:version",content:n}),a&&(0,o.jsx)("meta",{name:"docsearch:docusaurus_tag",content:a})]})}},41422:(e,t,n)=>{"use strict";n.d(t,{N:()=>g,u:()=>l});var s=n(96540),o=n(38193),a=n(205),r=n(53109),i=n(74848);const c="ease-in-out";function l(e){let{initialState:t}=e;const[n,o]=(0,s.useState)(t??!1),a=(0,s.useCallback)((()=>{o((e=>!e))}),[]);return{collapsed:n,setCollapsed:o,toggleCollapsed:a}}const d={display:"none",overflow:"hidden",height:"0px"},u={display:"block",overflow:"visible",height:"auto"};function p(e,t){const n=t?d:u;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{collapsibleRef:t,collapsed:n,animation:o}=e;const a=(0,s.useRef)(!1);(0,s.useEffect)((()=>{const e=t.current;function s(){const t=e.scrollHeight,n=o?.duration??function(e){if((0,r.O)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${o?.easing??c}`,height:`${t}px`}}function i(){const t=s();e.style.transition=t.transition,e.style.height=t.height}if(!a.current)return p(e,n),void(a.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(i(),requestAnimationFrame((()=>{e.style.height=d.height,e.style.overflow=d.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{i()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,o])}function b(e){if(!o.A.canUseDOM)return e?d:u}function h(e){let{as:t="div",collapsed:n,children:o,animation:a,onCollapseTransitionEnd:r,className:c,disableSSRStyle:l}=e;const d=(0,s.useRef)(null);return f({collapsibleRef:d,collapsed:n,animation:a}),(0,i.jsx)(t,{ref:d,style:l?void 0:b(n),onTransitionEnd:e=>{"height"===e.propertyName&&(p(d.current,n),r?.(n))},className:c,children:o})}function m(e){let{collapsed:t,...n}=e;const[o,r]=(0,s.useState)(!t),[c,l]=(0,s.useState)(t);return(0,a.A)((()=>{t||r(!0)}),[t]),(0,a.A)((()=>{o&&l(t)}),[o,t]),o?(0,i.jsx)(h,{...n,collapsed:c}):null}function g(e){let{lazy:t,...n}=e;const s=t?m:h;return(0,i.jsx)(s,{...n})}},65041:(e,t,n)=>{"use strict";n.d(t,{Mj:()=>h,oq:()=>b});var s=n(96540),o=n(92303),a=n(89466),r=n(89532),i=n(6342),c=n(74848);const l=(0,a.Wf)("docusaurus.announcement.dismiss"),d=(0,a.Wf)("docusaurus.announcement.id"),u=()=>"true"===l.get(),p=e=>l.set(String(e)),f=s.createContext(null);function b(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,i.p)(),t=(0,o.A)(),[n,a]=(0,s.useState)((()=>!!t&&u()));(0,s.useEffect)((()=>{a(u())}),[]);const r=(0,s.useCallback)((()=>{p(!0),a(!0)}),[]);return(0,s.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=d.get();"annoucement-bar"===n&&(n="announcement-bar");const s=t!==n;d.set(t),s&&p(!1),!s&&u()||a(!1)}),[e]),(0,s.useMemo)((()=>({isActive:!!e&&!n,close:r})),[e,n,r])}();return(0,c.jsx)(f.Provider,{value:n,children:t})}function h(){const e=(0,s.useContext)(f);if(!e)throw new r.dV("AnnouncementBarProvider");return e}},95293:(e,t,n)=>{"use strict";n.d(t,{G:()=>g,a:()=>m});var s=n(96540),o=n(38193),a=n(89532),r=n(89466),i=n(6342),c=n(74848);const l=s.createContext(void 0),d="theme",u=(0,r.Wf)(d),p={light:"light",dark:"dark"},f=e=>e===p.dark?p.dark:p.light,b=e=>o.A.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),h=e=>{u.set(f(e))};function m(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,i.p)(),[o,a]=(0,s.useState)(b(e));(0,s.useEffect)((()=>{t&&u.del()}),[t]);const r=(0,s.useCallback)((function(t,s){void 0===s&&(s={});const{persist:o=!0}=s;t?(a(t),o&&h(t)):(a(n?window.matchMedia("(prefers-color-scheme: dark)").matches?p.dark:p.light:e),u.del())}),[n,e]);(0,s.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(o))}),[o]),(0,s.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==d)return;const t=u.get();null!==t&&r(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,r]);const c=(0,s.useRef)(!1);return(0,s.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),s=()=>{window.matchMedia("print").matches||c.current?c.current=window.matchMedia("print").matches:r(null)};return e.addListener(s),()=>e.removeListener(s)}),[r,t,n]),(0,s.useMemo)((()=>({colorMode:o,setColorMode:r,get isDarkTheme(){return o===p.dark},setLightTheme(){r(p.light)},setDarkTheme(){r(p.dark)}})),[o,r])}();return(0,c.jsx)(l.Provider,{value:n,children:t})}function g(){const e=(0,s.useContext)(l);if(null==e)throw new a.dV("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},55597:(e,t,n)=>{"use strict";n.d(t,{VQ:()=>g,XK:()=>k,g1:()=>y});var s=n(96540),o=n(44070),a=n(17065),r=n(6342),i=n(81754),c=n(89532),l=n(89466),d=n(74848);const u=e=>`docs-preferred-version-${e}`,p={save:(e,t,n)=>{(0,l.Wf)(u(e),{persistence:t}).set(n)},read:(e,t)=>(0,l.Wf)(u(e),{persistence:t}).get(),clear:(e,t)=>{(0,l.Wf)(u(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const b=s.createContext(null);function h(){const e=(0,o.Gy)(),t=(0,r.p)().docs.versionPersistence,n=(0,s.useMemo)((()=>Object.keys(e)),[e]),[a,i]=(0,s.useState)((()=>f(n)));(0,s.useEffect)((()=>{i(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:s}=e;function o(e){const t=p.read(e,n);return s[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(p.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,o(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[a,(0,s.useMemo)((()=>({savePreferredVersion:function(e,n){p.save(e,t,n),i((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function m(e){let{children:t}=e;const n=h();return(0,d.jsx)(b.Provider,{value:n,children:t})}function g(e){let{children:t}=e;return i.C5?(0,d.jsx)(m,{children:t}):(0,d.jsx)(d.Fragment,{children:t})}function v(){const e=(0,s.useContext)(b);if(!e)throw new c.dV("DocsPreferredVersionContextProvider");return e}function y(e){void 0===e&&(e=a.W);const t=(0,o.ht)(e),[n,r]=v(),{preferredVersionName:i}=n[e];return{preferredVersion:t.versions.find((e=>e.name===i))??null,savePreferredVersionName:(0,s.useCallback)((t=>{r.savePreferredVersion(e,t)}),[r,e])}}function k(){const e=(0,o.Gy)(),[t]=v();function n(n){const s=e[n],{preferredVersionName:o}=t[n];return s.versions.find((e=>e.name===o))??null}const s=Object.keys(e);return Object.fromEntries(s.map((e=>[e,n(e)])))}},26588:(e,t,n)=>{"use strict";n.d(t,{V:()=>c,t:()=>l});var s=n(96540),o=n(89532),a=n(74848);const r=Symbol("EmptyContext"),i=s.createContext(r);function c(e){let{children:t,name:n,items:o}=e;const r=(0,s.useMemo)((()=>n&&o?{name:n,items:o}:null),[n,o]);return(0,a.jsx)(i.Provider,{value:r,children:t})}function l(){const e=(0,s.useContext)(i);if(e===r)throw new o.dV("DocsSidebarProvider");return e}},32252:(e,t,n)=>{"use strict";n.d(t,{n:()=>i,r:()=>c});var s=n(96540),o=n(89532),a=n(74848);const r=s.createContext(null);function i(e){let{children:t,version:n}=e;return(0,a.jsx)(r.Provider,{value:n,children:t})}function c(){const e=(0,s.useContext)(r);if(null===e)throw new o.dV("DocsVersionProvider");return e}},22069:(e,t,n)=>{"use strict";n.d(t,{M:()=>f,e:()=>p});var s=n(96540),o=n(75600),a=n(24581),r=n(57485),i=n(6342),c=n(89532),l=n(74848);const d=s.createContext(void 0);function u(){const e=function(){const e=(0,o.YL)(),{items:t}=(0,i.p)().navbar;return 0===t.length&&!e.component}(),t=(0,a.l)(),n=!e&&"mobile"===t,[c,l]=(0,s.useState)(!1);(0,r.$Z)((()=>{if(c)return l(!1),!1}));const d=(0,s.useCallback)((()=>{l((e=>!e))}),[]);return(0,s.useEffect)((()=>{"desktop"===t&&l(!1)}),[t]),(0,s.useMemo)((()=>({disabled:e,shouldRender:n,toggle:d,shown:c})),[e,n,d,c])}function p(e){let{children:t}=e;const n=u();return(0,l.jsx)(d.Provider,{value:n,children:t})}function f(){const e=s.useContext(d);if(void 0===e)throw new c.dV("NavbarMobileSidebarProvider");return e}},75600:(e,t,n)=>{"use strict";n.d(t,{GX:()=>l,YL:()=>c,y_:()=>i});var s=n(96540),o=n(89532),a=n(74848);const r=s.createContext(null);function i(e){let{children:t}=e;const n=(0,s.useState)({component:null,props:null});return(0,a.jsx)(r.Provider,{value:n,children:t})}function c(){const e=(0,s.useContext)(r);if(!e)throw new o.dV("NavbarSecondaryMenuContentProvider");return e[0]}function l(e){let{component:t,props:n}=e;const a=(0,s.useContext)(r);if(!a)throw new o.dV("NavbarSecondaryMenuContentProvider");const[,i]=a,c=(0,o.Be)(n);return(0,s.useEffect)((()=>{i({component:t,props:c})}),[i,t,c]),(0,s.useEffect)((()=>()=>i({component:null,props:null})),[i]),null}},14090:(e,t,n)=>{"use strict";n.d(t,{w:()=>o,J:()=>a});var s=n(96540);const o="navigation-with-keyboard";function a(){(0,s.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(o),"mousedown"===e.type&&document.body.classList.remove(o)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(o),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},24255:(e,t,n)=>{"use strict";n.d(t,{b:()=>i,w:()=>c});var s=n(96540),o=n(44586),a=n(57485);const r="q";function i(){return(0,a.l)(r)}function c(){const{siteConfig:{baseUrl:e,themeConfig:t}}=(0,o.A)(),{algolia:{searchPagePath:n}}=t;return(0,s.useCallback)((t=>`${e}${n}?${r}=${encodeURIComponent(t)}`),[e,n])}},24581:(e,t,n)=>{"use strict";n.d(t,{l:()=>i});var s=n(96540),o=n(38193);const a={desktop:"desktop",mobile:"mobile",ssr:"ssr"},r=996;function i(e){let{desktopBreakpoint:t=r}=void 0===e?{}:e;const[n,i]=(0,s.useState)((()=>"ssr"));return(0,s.useEffect)((()=>{function e(){i(function(e){if(!o.A.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?a.desktop:a.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},17559:(e,t,n)=>{"use strict";n.d(t,{G:()=>s});const s={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},53109:(e,t,n)=>{"use strict";function s(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{O:()=>s})},81754:(e,t,n)=>{"use strict";n.d(t,{Nr:()=>f,w8:()=>m,C5:()=>p,B5:()=>j,Vd:()=>x,QB:()=>_,fW:()=>w,OF:()=>k,Y:()=>v});var s=n(96540),o=n(56347),a=n(22831),r=n(44070),i=n(55597),c=n(32252),l=n(26588);function d(e){return Array.from(new Set(e))}var u=n(99169);const p=!!r.Gy;function f(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=f(t);if(e)return e}}(e):void 0:e.href}const b=(e,t)=>void 0!==e&&(0,u.ys)(e,t),h=(e,t)=>e.some((e=>m(e,t)));function m(e,t){return"link"===e.type?b(e.href,t):"category"===e.type&&(b(e.href,t)||h(e.items,t))}function g(e,t){switch(e.type){case"category":return m(e,t)||e.items.some((e=>g(e,t)));case"link":return!e.unlisted||m(e,t);default:return!0}}function v(e,t){return(0,s.useMemo)((()=>e.filter((e=>g(e,t)))),[e,t])}function y(e){let{sidebarItems:t,pathname:n,onlyCategories:s=!1}=e;const o=[];return function e(t){for(const a of t)if("category"===a.type&&((0,u.ys)(a.href,n)||e(a.items))||"link"===a.type&&(0,u.ys)(a.href,n)){return s&&"category"!==a.type||o.unshift(a),!0}return!1}(t),o}function k(){const e=(0,l.t)(),{pathname:t}=(0,o.zy)(),n=(0,r.vT)()?.pluginData.breadcrumbs;return!1!==n&&e?y({sidebarItems:e.items,pathname:t}):null}function x(e){const{activeVersion:t}=(0,r.zK)(e),{preferredVersion:n}=(0,i.g1)(e),o=(0,r.r7)(e);return(0,s.useMemo)((()=>d([t,n,o].filter(Boolean))),[t,n,o])}function w(e,t){const n=x(t);return(0,s.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),s=t.find((t=>t[0]===e));if(!s)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return s[1]}),[e,n])}function _(e,t){const n=x(t);return(0,s.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),s=t.find((t=>t.id===e));if(!s){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${d(t.map((e=>e.id))).join("\n- ")}`)}return s}),[e,n])}function j(e){let{route:t}=e;const n=(0,o.zy)(),s=(0,c.r)(),r=t.routes,i=r.find((e=>(0,o.B6)(n.pathname,e)));if(!i)return null;const l=i.sidebar,d=l?s.docsSidebars[l]:void 0;return{docElement:(0,a.v)(r),sidebarName:l,sidebarItems:d}}},20481:(e,t,n)=>{"use strict";n.d(t,{s:()=>o});var s=n(44586);function o(e){const{siteConfig:t}=(0,s.A)(),{title:n,titleDelimiter:o}=t;return e?.trim().length?`${e.trim()} ${o} ${n}`:n}},57485:(e,t,n)=>{"use strict";n.d(t,{$Z:()=>r,l:()=>c});var s=n(96540),o=n(56347),a=n(89532);function r(e){!function(e){const t=(0,o.W6)(),n=(0,a._q)(e);(0,s.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}function i(e){return function(e){const t=(0,o.W6)();return(0,s.useSyncExternalStore)(t.listen,(()=>e(t)),(()=>e(t)))}((t=>null===e?null:new URLSearchParams(t.location.search).get(e)))}function c(e){const t=i(e)??"",n=function(){const e=(0,o.W6)();return(0,s.useCallback)(((t,n,s)=>{const o=new URLSearchParams(e.location.search);n?o.set(t,n):o.delete(t),(s?.push?e.push:e.replace)({search:o.toString()})}),[e])}();return[t,(0,s.useCallback)(((t,s)=>{n(e,t,s)}),[n,e])]}},69024:(e,t,n)=>{"use strict";n.d(t,{e3:()=>f,be:()=>u,Jx:()=>b});var s=n(96540),o=n(34164),a=n(5260),r=n(53102);function i(){const e=s.useContext(r.o);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var c=n(86025),l=n(20481),d=n(74848);function u(e){let{title:t,description:n,keywords:s,image:o,children:r}=e;const i=(0,l.s)(t),{withBaseUrl:u}=(0,c.h)(),p=o?u(o,{absolute:!0}):void 0;return(0,d.jsxs)(a.A,{children:[t&&(0,d.jsx)("title",{children:i}),t&&(0,d.jsx)("meta",{property:"og:title",content:i}),n&&(0,d.jsx)("meta",{name:"description",content:n}),n&&(0,d.jsx)("meta",{property:"og:description",content:n}),s&&(0,d.jsx)("meta",{name:"keywords",content:Array.isArray(s)?s.join(","):s}),p&&(0,d.jsx)("meta",{property:"og:image",content:p}),p&&(0,d.jsx)("meta",{name:"twitter:image",content:p}),r]})}const p=s.createContext(void 0);function f(e){let{className:t,children:n}=e;const r=s.useContext(p),i=(0,o.A)(r,t);return(0,d.jsxs)(p.Provider,{value:i,children:[(0,d.jsx)(a.A,{children:(0,d.jsx)("html",{className:i})}),n]})}function b(e){let{children:t}=e;const n=i(),s=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const a=`plugin-id-${n.plugin.id}`;return(0,d.jsx)(f,{className:(0,o.A)(s,a),children:t})}},89532:(e,t,n)=>{"use strict";n.d(t,{Be:()=>l,ZC:()=>i,_q:()=>r,dV:()=>c,fM:()=>d});var s=n(96540),o=n(205),a=n(74848);function r(e){const t=(0,s.useRef)(e);return(0,o.A)((()=>{t.current=e}),[e]),(0,s.useCallback)((function(){return t.current(...arguments)}),[])}function i(e){const t=(0,s.useRef)();return(0,o.A)((()=>{t.current=e})),t.current}class c extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?<name>\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function l(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,s.useMemo)((()=>e),t.flat())}function d(e){return t=>{let{children:n}=t;return(0,a.jsx)(a.Fragment,{children:e.reduceRight(((e,t)=>(0,a.jsx)(t,{children:e})),n)})}}},91252:(e,t,n)=>{"use strict";function s(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}n.d(t,{G:()=>s})},99169:(e,t,n)=>{"use strict";n.d(t,{Dt:()=>i,ys:()=>r});var s=n(96540),o=n(35947),a=n(44586);function r(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function i(){const{baseUrl:e}=(0,a.A)().siteConfig;return(0,s.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function s(e){return e.path===t&&!0===e.exact}function o(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(s)||e(t.filter(o).flatMap((e=>e.routes??[])))}(n)}({routes:o.A,baseUrl:e})),[e])}},23104:(e,t,n)=>{"use strict";n.d(t,{Mq:()=>p,Tv:()=>l,gk:()=>f});var s=n(96540),o=n(38193),a=n(92303),r=(n(205),n(89532)),i=n(74848);const c=s.createContext(void 0);function l(e){let{children:t}=e;const n=function(){const e=(0,s.useRef)(!0);return(0,s.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,i.jsx)(c.Provider,{value:n,children:t})}function d(){const e=(0,s.useContext)(c);if(null==e)throw new r.dV("ScrollControllerProvider");return e}const u=()=>o.A.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function p(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=d(),o=(0,s.useRef)(u()),a=(0,r._q)(e);(0,s.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=u();a(e,o.current),o.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[a,n,...t])}function f(){const e=(0,s.useRef)(null),t=(0,a.A)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function s(){const o=document.documentElement.scrollTop;(n&&o>e||!n&&o<e)&&(t=requestAnimationFrame(s),window.scrollTo(0,Math.floor(.85*(o-e))+e))}(),()=>t&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},2967:(e,t,n)=>{"use strict";n.d(t,{Cy:()=>r,af:()=>c,tU:()=>i});var s=n(44070),o=n(44586),a=n(55597);const r="default";function i(e,t){return`docs-${e}-${t}`}function c(){const{i18n:e}=(0,o.A)(),t=(0,s.Gy)(),n=(0,s.gk)(),c=(0,a.XK)();const l=[r,...Object.keys(t).map((function(e){const s=n?.activePlugin.pluginId===e?n.activeVersion:void 0,o=c[e],a=t[e].versions.find((e=>e.isLast));return i(e,(s??o??a).name)}))];return{locale:e.currentLocale,tags:l}}},89466:(e,t,n)=>{"use strict";n.d(t,{Wf:()=>c});n(96540);const s="localStorage";function o(e){let{key:t,oldValue:n,newValue:s,storage:o}=e;if(n===s)return;const a=document.createEvent("StorageEvent");a.initStorageEvent("storage",!1,!1,t,n,s,window.location.href,o),window.dispatchEvent(a)}function a(e){if(void 0===e&&(e=s),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,r||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),r=!0),null}var t}let r=!1;const i={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function c(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=a(t?.persistence);return null===n?i:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const s=n.getItem(e);n.setItem(e,t),o({key:e,oldValue:s,newValue:t,storage:n})}catch(s){console.error(`Docusaurus storage error, can't set ${e}=${t}`,s)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),o({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const s=s=>{s.storageArea===n&&s.key===e&&t(s)};return window.addEventListener("storage",s),()=>window.removeEventListener("storage",s)}catch(s){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,s),()=>{}}}}}},32131:(e,t,n)=>{"use strict";n.d(t,{o:()=>r});var s=n(44586),o=n(56347),a=n(70440);function r(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:r,currentLocale:i}}=(0,s.A)(),{pathname:c}=(0,o.zy)(),l=(0,a.applyTrailingSlash)(c,{trailingSlash:n,baseUrl:e}),d=i===r?e:e.replace(`/${i}/`,"/"),u=l.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:s}=e;return`${s?t:""}${function(e){return e===r?`${d}`:`${d}${e}/`}(n)}${u}`}}}},75062:(e,t,n)=>{"use strict";n.d(t,{$:()=>r});var s=n(96540),o=n(56347),a=n(89532);function r(e){const t=(0,o.zy)(),n=(0,a.ZC)(t),r=(0,a._q)(e);(0,s.useEffect)((()=>{n&&t!==n&&r({location:t,previousLocation:n})}),[r,t,n])}},6342:(e,t,n)=>{"use strict";n.d(t,{p:()=>o});var s=n(44586);function o(){return(0,s.A)().siteConfig.themeConfig}},38126:(e,t,n)=>{"use strict";n.d(t,{c:()=>o});var s=n(44586);function o(){const{siteConfig:{themeConfig:e}}=(0,s.A)();return e}},51062:(e,t,n)=>{"use strict";n.d(t,{C:()=>i});var s=n(96540),o=n(91252),a=n(86025),r=n(38126);function i(){const{withBaseUrl:e}=(0,a.h)(),{algolia:{externalUrlRegex:t,replaceSearchResultPathname:n}}=(0,r.c)();return(0,s.useCallback)((s=>{const a=new URL(s);if((0,o.G)(t,a.href))return s;const r=`${a.pathname+a.hash}`;return e(function(e,t){return t?e.replaceAll(new RegExp(t.from,"g"),t.to):e}(r,n))}),[e,t,n])}},12983:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:s}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[o]=e.split(/[#?]/),a="/"===o||o===s?o:(r=o,n?function(e){return e.endsWith("/")?e:`${e}/`}(r):function(e){return e.endsWith("/")?e.slice(0,-1):e}(r));var r;return e.replace(o,a)}},80253:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},70440:function(e,t,n){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var o=n(12983);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return s(o).default}});var a=n(80253);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return a.getErrorCausalChain}})},31513:(e,t,n)=>{"use strict";n.d(t,{zR:()=>k,TM:()=>S,yJ:()=>f,sC:()=>E,AO:()=>p});var s=n(58168);function o(e){return"/"===e.charAt(0)}function a(e,t){for(var n=t,s=n+1,o=e.length;s<o;n+=1,s+=1)e[n]=e[s];e.pop()}const r=function(e,t){void 0===t&&(t="");var n,s=e&&e.split("/")||[],r=t&&t.split("/")||[],i=e&&o(e),c=t&&o(t),l=i||c;if(e&&o(e)?r=s:s.length&&(r.pop(),r=r.concat(s)),!r.length)return"/";if(r.length){var d=r[r.length-1];n="."===d||".."===d||""===d}else n=!1;for(var u=0,p=r.length;p>=0;p--){var f=r[p];"."===f?a(r,p):".."===f?(a(r,p),u++):u&&(a(r,p),u--)}if(!l)for(;u--;u)r.unshift("..");!l||""===r[0]||r[0]&&o(r[0])||r.unshift("");var b=r.join("/");return n&&"/"!==b.substr(-1)&&(b+="/"),b};var i=n(11561);function c(e){return"/"===e.charAt(0)?e:"/"+e}function l(e){return"/"===e.charAt(0)?e.substr(1):e}function d(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function u(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function p(e){var t=e.pathname,n=e.search,s=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),s&&"#"!==s&&(o+="#"===s.charAt(0)?s:"#"+s),o}function f(e,t,n,o){var a;"string"==typeof e?(a=function(e){var t=e||"/",n="",s="",o=t.indexOf("#");-1!==o&&(s=t.substr(o),t=t.substr(0,o));var a=t.indexOf("?");return-1!==a&&(n=t.substr(a),t=t.substr(0,a)),{pathname:t,search:"?"===n?"":n,hash:"#"===s?"":s}}(e),a.state=t):(void 0===(a=(0,s.A)({},e)).pathname&&(a.pathname=""),a.search?"?"!==a.search.charAt(0)&&(a.search="?"+a.search):a.search="",a.hash?"#"!==a.hash.charAt(0)&&(a.hash="#"+a.hash):a.hash="",void 0!==t&&void 0===a.state&&(a.state=t));try{a.pathname=decodeURI(a.pathname)}catch(i){throw i instanceof URIError?new URIError('Pathname "'+a.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):i}return n&&(a.key=n),o?a.pathname?"/"!==a.pathname.charAt(0)&&(a.pathname=r(a.pathname,o.pathname)):a.pathname=o.pathname:a.pathname||(a.pathname="/"),a}function b(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,s,o){if(null!=e){var a="function"==typeof e?e(t,n):e;"string"==typeof a?"function"==typeof s?s(a,o):o(!0):o(!1!==a)}else o(!0)},appendListener:function(e){var n=!0;function s(){n&&e.apply(void 0,arguments)}return t.push(s),function(){n=!1,t=t.filter((function(e){return e!==s}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),s=0;s<e;s++)n[s]=arguments[s];t.forEach((function(e){return e.apply(void 0,n)}))}}}var h=!("undefined"==typeof window||!window.document||!window.document.createElement);function m(e,t){t(window.confirm(e))}var g="popstate",v="hashchange";function y(){try{return window.history.state||{}}catch(e){return{}}}function k(e){void 0===e&&(e={}),h||(0,i.A)(!1);var t,n=window.history,o=(-1===(t=window.navigator.userAgent).indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,a=!(-1===window.navigator.userAgent.indexOf("Trident")),r=e,l=r.forceRefresh,k=void 0!==l&&l,x=r.getUserConfirmation,w=void 0===x?m:x,_=r.keyLength,j=void 0===_?6:_,C=e.basename?u(c(e.basename)):"";function S(e){var t=e||{},n=t.key,s=t.state,o=window.location,a=o.pathname+o.search+o.hash;return C&&(a=d(a,C)),f(a,s,n)}function M(){return Math.random().toString(36).substr(2,j)}var E=b();function L(e){(0,s.A)(z,e),z.length=n.length,E.notifyListeners(z.location,z.action)}function A(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||R(S(e.state))}function T(){R(S(y()))}var P=!1;function R(e){if(P)P=!1,L();else{E.confirmTransitionTo(e,"POP",w,(function(t){t?L({action:"POP",location:e}):function(e){var t=z.location,n=Z.indexOf(t.key);-1===n&&(n=0);var s=Z.indexOf(e.key);-1===s&&(s=0);var o=n-s;o&&(P=!0,D(o))}(e)}))}}var N=S(y()),Z=[N.key];function O(e){return C+p(e)}function D(e){n.go(e)}var B=0;function I(e){1===(B+=e)&&1===e?(window.addEventListener(g,A),a&&window.addEventListener(v,T)):0===B&&(window.removeEventListener(g,A),a&&window.removeEventListener(v,T))}var F=!1;var z={length:n.length,action:"POP",location:N,createHref:O,push:function(e,t){var s="PUSH",a=f(e,t,M(),z.location);E.confirmTransitionTo(a,s,w,(function(e){if(e){var t=O(a),r=a.key,i=a.state;if(o)if(n.pushState({key:r,state:i},null,t),k)window.location.href=t;else{var c=Z.indexOf(z.location.key),l=Z.slice(0,c+1);l.push(a.key),Z=l,L({action:s,location:a})}else window.location.href=t}}))},replace:function(e,t){var s="REPLACE",a=f(e,t,M(),z.location);E.confirmTransitionTo(a,s,w,(function(e){if(e){var t=O(a),r=a.key,i=a.state;if(o)if(n.replaceState({key:r,state:i},null,t),k)window.location.replace(t);else{var c=Z.indexOf(z.location.key);-1!==c&&(Z[c]=a.key),L({action:s,location:a})}else window.location.replace(t)}}))},go:D,goBack:function(){D(-1)},goForward:function(){D(1)},block:function(e){void 0===e&&(e=!1);var t=E.setPrompt(e);return F||(I(1),F=!0),function(){return F&&(F=!1,I(-1)),t()}},listen:function(e){var t=E.appendListener(e);return I(1),function(){I(-1),t()}}};return z}var x="hashchange",w={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+l(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:l,decodePath:c},slash:{encodePath:c,decodePath:c}};function _(e){var t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function j(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function C(e){window.location.replace(_(window.location.href)+"#"+e)}function S(e){void 0===e&&(e={}),h||(0,i.A)(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),o=n.getUserConfirmation,a=void 0===o?m:o,r=n.hashType,l=void 0===r?"slash":r,g=e.basename?u(c(e.basename)):"",v=w[l],y=v.encodePath,k=v.decodePath;function S(){var e=k(j());return g&&(e=d(e,g)),f(e)}var M=b();function E(e){(0,s.A)(F,e),F.length=t.length,M.notifyListeners(F.location,F.action)}var L=!1,A=null;function T(){var e,t,n=j(),s=y(n);if(n!==s)C(s);else{var o=S(),r=F.location;if(!L&&(t=o,(e=r).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(A===p(o))return;A=null,function(e){if(L)L=!1,E();else{var t="POP";M.confirmTransitionTo(e,t,a,(function(n){n?E({action:t,location:e}):function(e){var t=F.location,n=Z.lastIndexOf(p(t));-1===n&&(n=0);var s=Z.lastIndexOf(p(e));-1===s&&(s=0);var o=n-s;o&&(L=!0,O(o))}(e)}))}}(o)}}var P=j(),R=y(P);P!==R&&C(R);var N=S(),Z=[p(N)];function O(e){t.go(e)}var D=0;function B(e){1===(D+=e)&&1===e?window.addEventListener(x,T):0===D&&window.removeEventListener(x,T)}var I=!1;var F={length:t.length,action:"POP",location:N,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=_(window.location.href)),n+"#"+y(g+p(e))},push:function(e,t){var n="PUSH",s=f(e,void 0,void 0,F.location);M.confirmTransitionTo(s,n,a,(function(e){if(e){var t=p(s),o=y(g+t);if(j()!==o){A=t,function(e){window.location.hash=e}(o);var a=Z.lastIndexOf(p(F.location)),r=Z.slice(0,a+1);r.push(t),Z=r,E({action:n,location:s})}else E()}}))},replace:function(e,t){var n="REPLACE",s=f(e,void 0,void 0,F.location);M.confirmTransitionTo(s,n,a,(function(e){if(e){var t=p(s),o=y(g+t);j()!==o&&(A=t,C(o));var a=Z.indexOf(p(F.location));-1!==a&&(Z[a]=t),E({action:n,location:s})}}))},go:O,goBack:function(){O(-1)},goForward:function(){O(1)},block:function(e){void 0===e&&(e=!1);var t=M.setPrompt(e);return I||(B(1),I=!0),function(){return I&&(I=!1,B(-1)),t()}},listen:function(e){var t=M.appendListener(e);return B(1),function(){B(-1),t()}}};return F}function M(e,t,n){return Math.min(Math.max(e,t),n)}function E(e){void 0===e&&(e={});var t=e,n=t.getUserConfirmation,o=t.initialEntries,a=void 0===o?["/"]:o,r=t.initialIndex,i=void 0===r?0:r,c=t.keyLength,l=void 0===c?6:c,d=b();function u(e){(0,s.A)(k,e),k.length=k.entries.length,d.notifyListeners(k.location,k.action)}function h(){return Math.random().toString(36).substr(2,l)}var m=M(i,0,a.length-1),g=a.map((function(e){return f(e,void 0,"string"==typeof e?h():e.key||h())})),v=p;function y(e){var t=M(k.index+e,0,k.entries.length-1),s=k.entries[t];d.confirmTransitionTo(s,"POP",n,(function(e){e?u({action:"POP",location:s,index:t}):u()}))}var k={length:g.length,action:"POP",location:g[m],index:m,entries:g,createHref:v,push:function(e,t){var s="PUSH",o=f(e,t,h(),k.location);d.confirmTransitionTo(o,s,n,(function(e){if(e){var t=k.index+1,n=k.entries.slice(0);n.length>t?n.splice(t,n.length-t,o):n.push(o),u({action:s,location:o,index:t,entries:n})}}))},replace:function(e,t){var s="REPLACE",o=f(e,t,h(),k.location);d.confirmTransitionTo(o,s,n,(function(e){e&&(k.entries[k.index]=o,u({action:s,location:o}))}))},go:y,goBack:function(){y(-1)},goForward:function(){y(1)},canGo:function(e){var t=k.index+e;return t>=0&&t<k.entries.length},block:function(e){return void 0===e&&(e=!1),d.setPrompt(e)},listen:function(e){return d.appendListener(e)}};return k}},4146:(e,t,n)=>{"use strict";var s=n(44363),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},r={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},i={};function c(e){return s.isMemo(e)?r:i[e.$$typeof]||o}i[s.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},i[s.Memo]=r;var l=Object.defineProperty,d=Object.getOwnPropertyNames,u=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,b=Object.prototype;e.exports=function e(t,n,s){if("string"!=typeof n){if(b){var o=f(n);o&&o!==b&&e(t,o,s)}var r=d(n);u&&(r=r.concat(u(n)));for(var i=c(t),h=c(n),m=0;m<r.length;++m){var g=r[m];if(!(a[g]||s&&s[g]||h&&h[g]||i&&i[g])){var v=p(n,g);try{l(t,g,v)}catch(y){}}}}return t}},20311:e=>{"use strict";e.exports=function(e,t,n,s,o,a,r,i){if(!e){var c;if(void 0===t)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[n,s,o,a,r,i],d=0;(c=new Error(t.replace(/%s/g,(function(){return l[d++]})))).name="Invariant Violation"}throw c.framesToPop=1,c}}},64634:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},91218:(e,t,n)=>{"use strict";n.r(t)},10119:(e,t,n)=>{"use strict";n.r(t)},82710:(e,t,n)=>{"use strict";n.r(t)},5947:function(e,t,n){var s,o;s=function(){var e,t,n={version:"0.2.0"},s=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};function o(e,t,n){return e<t?t:e>n?n:e}function a(e){return 100*(-1+e)}function r(e,t,n){var o;return(o="translate3d"===s.positionUsing?{transform:"translate3d("+a(e)+"%,0,0)"}:"translate"===s.positionUsing?{transform:"translate("+a(e)+"%,0)"}:{"margin-left":a(e)+"%"}).transition="all "+t+"ms "+n,o}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(s[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=o(e,s.minimum,1),n.status=1===e?null:e;var a=n.render(!t),l=a.querySelector(s.barSelector),d=s.speed,u=s.easing;return a.offsetWidth,i((function(t){""===s.positionUsing&&(s.positionUsing=n.getPositioningCSS()),c(l,r(e,d,u)),1===e?(c(a,{transition:"none",opacity:1}),a.offsetWidth,setTimeout((function(){c(a,{transition:"all "+d+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),d)}),d)):setTimeout(t,d)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),s.trickleSpeed)};return s.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*s.trickleRate)},e=0,t=0,n.promise=function(s){return s&&"resolved"!==s.state()?(0===t&&n.start(),e++,t++,s.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");d(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=s.template;var o,r=t.querySelector(s.barSelector),i=e?"-100":a(n.status||0),l=document.querySelector(s.parent);return c(r,{transition:"all 0 linear",transform:"translate3d("+i+"%,0,0)"}),s.showSpinner||(o=t.querySelector(s.spinnerSelector))&&f(o),l!=document.body&&d(l,"nprogress-custom-parent"),l.appendChild(t),t},n.remove=function(){u(document.documentElement,"nprogress-busy"),u(document.querySelector(s.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var i=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),c=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function s(t){var n=document.body.style;if(t in n)return t;for(var s,o=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((s=e[o]+a)in n)return s;return t}function o(e){return e=n(e),t[e]||(t[e]=s(e))}function a(e,t,n){t=o(t),e.style[t]=n}return function(e,t){var n,s,o=arguments;if(2==o.length)for(n in t)void 0!==(s=t[n])&&t.hasOwnProperty(n)&&a(e,n,s);else a(e,o[1],o[2])}}();function l(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function d(e,t){var n=p(e),s=n+t;l(n,t)||(e.className=s.substring(1))}function u(e,t){var n,s=p(e);l(e,t)&&(n=s.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(o="function"==typeof s?s.call(t,n,t,e):s)||(e.exports=o)},35302:(e,t,n)=>{var s=n(64634);e.exports=f,e.exports.parse=a,e.exports.compile=function(e,t){return i(a(e,t),t)},e.exports.tokensToFunction=i,e.exports.tokensToRegExp=p;var o=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function a(e,t){for(var n,s=[],a=0,r=0,i="",d=t&&t.delimiter||"/";null!=(n=o.exec(e));){var u=n[0],p=n[1],f=n.index;if(i+=e.slice(r,f),r=f+u.length,p)i+=p[1];else{var b=e[r],h=n[2],m=n[3],g=n[4],v=n[5],y=n[6],k=n[7];i&&(s.push(i),i="");var x=null!=h&&null!=b&&b!==h,w="+"===y||"*"===y,_="?"===y||"*"===y,j=n[2]||d,C=g||v;s.push({name:m||a++,prefix:h||"",delimiter:j,optional:_,repeat:w,partial:x,asterisk:!!k,pattern:C?l(C):k?".*":"[^"+c(j)+"]+?"})}}return r<e.length&&(i+=e.substr(r)),i&&s.push(i),s}function r(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function i(e,t){for(var n=new Array(e.length),o=0;o<e.length;o++)"object"==typeof e[o]&&(n[o]=new RegExp("^(?:"+e[o].pattern+")$",u(t)));return function(t,o){for(var a="",i=t||{},c=(o||{}).pretty?r:encodeURIComponent,l=0;l<e.length;l++){var d=e[l];if("string"!=typeof d){var u,p=i[d.name];if(null==p){if(d.optional){d.partial&&(a+=d.prefix);continue}throw new TypeError('Expected "'+d.name+'" to be defined')}if(s(p)){if(!d.repeat)throw new TypeError('Expected "'+d.name+'" to not repeat, but received `'+JSON.stringify(p)+"`");if(0===p.length){if(d.optional)continue;throw new TypeError('Expected "'+d.name+'" to not be empty')}for(var f=0;f<p.length;f++){if(u=c(p[f]),!n[l].test(u))throw new TypeError('Expected all "'+d.name+'" to match "'+d.pattern+'", but received `'+JSON.stringify(u)+"`");a+=(0===f?d.prefix:d.delimiter)+u}}else{if(u=d.asterisk?encodeURI(p).replace(/[?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})):c(p),!n[l].test(u))throw new TypeError('Expected "'+d.name+'" to match "'+d.pattern+'", but received "'+u+'"');a+=d.prefix+u}}else a+=d}return a}}function c(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function l(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function d(e,t){return e.keys=t,e}function u(e){return e&&e.sensitive?"":"i"}function p(e,t,n){s(t)||(n=t||n,t=[]);for(var o=(n=n||{}).strict,a=!1!==n.end,r="",i=0;i<e.length;i++){var l=e[i];if("string"==typeof l)r+=c(l);else{var p=c(l.prefix),f="(?:"+l.pattern+")";t.push(l),l.repeat&&(f+="(?:"+p+f+")*"),r+=f=l.optional?l.partial?p+"("+f+")?":"(?:"+p+"("+f+"))?":p+"("+f+")"}}var b=c(n.delimiter||"/"),h=r.slice(-b.length)===b;return o||(r=(h?r.slice(0,-b.length):r)+"(?:"+b+"(?=$))?"),r+=a?"$":o&&h?"":"(?="+b+"|$)",d(new RegExp("^"+r,u(n)),t)}function f(e,t,n){return s(t)||(n=t||n,t=[]),n=n||{},e instanceof RegExp?function(e,t){var n=e.source.match(/\((?!\?)/g);if(n)for(var s=0;s<n.length;s++)t.push({name:s,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return d(e,t)}(e,t):s(e)?function(e,t,n){for(var s=[],o=0;o<e.length;o++)s.push(f(e[o],t,n).source);return d(new RegExp("(?:"+s.join("|")+")",u(n)),t)}(e,t,n):function(e,t,n){return p(a(e,n),t,n)}(e,t,n)}},91113:()=>{!function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(Prism)},19700:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,s,o,a){if(n.language===s){var r=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof a&&!a(e))return e;for(var o,i=r.length;-1!==n.code.indexOf(o=t(s,i));)++i;return r[i]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,s){if(n.language===s&&n.tokenStack){n.grammar=e.languages[s];var o=0,a=Object.keys(n.tokenStack);!function r(i){for(var c=0;c<i.length&&!(o>=a.length);c++){var l=i[c];if("string"==typeof l||l.content&&"string"==typeof l.content){var d=a[o],u=n.tokenStack[d],p="string"==typeof l?l:l.content,f=t(s,d),b=p.indexOf(f);if(b>-1){++o;var h=p.substring(0,b),m=new e.Token(s,e.tokenize(u,n.grammar),"language-"+s,u),g=p.substring(b+f.length),v=[];h&&v.push.apply(v,r([h])),v.push(m),g&&v.push.apply(v,r([g])),"string"==typeof l?i.splice.apply(i,[c,1].concat(v)):l.content=v}}else l.content&&r(l.content)}return i}(n.tokens)}}}})}(Prism)},43554:()=>{!function(e){var t=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,n=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],s=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,o=/<?=>|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,a=/[{}\[\](),:;]/;e.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:t,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:s,operator:o,punctuation:a};var r={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:e.languages.php},i=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:r}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:r}}];e.languages.insertBefore("php","variable",{string:i,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:t,string:i,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,number:s,operator:o,punctuation:a}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),e.hooks.add("before-tokenize",(function(t){if(/<\?/.test(t.code)){e.languages["markup-templating"].buildPlaceholders(t,"php",/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g)}})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"php")}))}(Prism)},94604:()=>{Prism.languages.scss=Prism.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),Prism.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),Prism.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),Prism.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),Prism.languages.scss.atrule.inside.rest=Prism.languages.scss},18209:(e,t,n)=>{var s={"./prism-css":91113,"./prism-php":43554,"./prism-scss":94604};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(s,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return s[e]}o.keys=function(){return Object.keys(s)},o.resolve=a,e.exports=o,o.id=18209},2694:(e,t,n)=>{"use strict";var s=n(6925);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,r){if(r!==s){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},5556:(e,t,n)=>{e.exports=n(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},22551:(e,t,n)=>{"use strict";var s=n(96540),o=n(69982);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var r=new Set,i={};function c(e,t){l(e,t),l(e+"Capture",t)}function l(e,t){for(i[e]=t,e=0;e<t.length;e++)r.add(t[e])}var d=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),u=Object.prototype.hasOwnProperty,p=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,f={},b={};function h(e,t,n,s,o,a,r){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=s,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=r}var m={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){m[e]=new h(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];m[t]=new h(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){m[e]=new h(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){m[e]=new h(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){m[e]=new h(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){m[e]=new h(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){m[e]=new h(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){m[e]=new h(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){m[e]=new h(e,5,!1,e.toLowerCase(),null,!1,!1)}));var g=/[\-:]([a-z])/g;function v(e){return e[1].toUpperCase()}function y(e,t,n,s){var o=m.hasOwnProperty(t)?m[t]:null;(null!==o?0!==o.type:s||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,s){if(null==t||function(e,t,n,s){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!s&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,s))return!0;if(s)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,o,s)&&(n=null),s||null===o?function(e){return!!u.call(b,e)||!u.call(f,e)&&(p.test(e)?b[e]=!0:(f[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):o.mustUseProperty?e[o.propertyName]=null===n?3!==o.type&&"":n:(t=o.attributeName,s=o.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(o=o.type)||4===o&&!0===n?"":""+n,s?e.setAttributeNS(s,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(g,v);m[t]=new h(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(g,v);m[t]=new h(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(g,v);m[t]=new h(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){m[e]=new h(e,1,!1,e.toLowerCase(),null,!1,!1)})),m.xlinkHref=new h("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){m[e]=new h(e,1,!1,e.toLowerCase(),null,!0,!0)}));var k=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,x=Symbol.for("react.element"),w=Symbol.for("react.portal"),_=Symbol.for("react.fragment"),j=Symbol.for("react.strict_mode"),C=Symbol.for("react.profiler"),S=Symbol.for("react.provider"),M=Symbol.for("react.context"),E=Symbol.for("react.forward_ref"),L=Symbol.for("react.suspense"),A=Symbol.for("react.suspense_list"),T=Symbol.for("react.memo"),P=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var R=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var N=Symbol.iterator;function Z(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=N&&e[N]||e["@@iterator"])?e:null}var O,D=Object.assign;function B(e){if(void 0===O)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);O=t&&t[1]||""}return"\n"+O+e}var I=!1;function F(e,t){if(!e||I)return"";I=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(l){var s=l}Reflect.construct(e,[],t)}else{try{t.call()}catch(l){s=l}e.call(t.prototype)}else{try{throw Error()}catch(l){s=l}e()}}catch(l){if(l&&s&&"string"==typeof l.stack){for(var o=l.stack.split("\n"),a=s.stack.split("\n"),r=o.length-1,i=a.length-1;1<=r&&0<=i&&o[r]!==a[i];)i--;for(;1<=r&&0<=i;r--,i--)if(o[r]!==a[i]){if(1!==r||1!==i)do{if(r--,0>--i||o[r]!==a[i]){var c="\n"+o[r].replace(" at new "," at ");return e.displayName&&c.includes("<anonymous>")&&(c=c.replace("<anonymous>",e.displayName)),c}}while(1<=r&&0<=i);break}}}finally{I=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?B(e):""}function z(e){switch(e.tag){case 5:return B(e.type);case 16:return B("Lazy");case 13:return B("Suspense");case 19:return B("SuspenseList");case 0:case 2:case 15:return e=F(e.type,!1);case 11:return e=F(e.type.render,!1);case 1:return e=F(e.type,!0);default:return""}}function W(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case _:return"Fragment";case w:return"Portal";case C:return"Profiler";case j:return"StrictMode";case L:return"Suspense";case A:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case M:return(e.displayName||"Context")+".Consumer";case S:return(e._context.displayName||"Context")+".Provider";case E:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case T:return null!==(t=e.displayName||null)?t:W(e.type)||"Memo";case P:t=e._payload,e=e._init;try{return W(e(t))}catch(n){}}return null}function $(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return W(t);case 8:return t===j?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function H(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function V(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function U(e){e._valueTracker||(e._valueTracker=function(e){var t=V(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),s=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var o=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(e){s=""+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return s},setValue:function(e){s=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function q(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),s="";return e&&(s=V(e)?e.checked?"true":"false":e.value),(e=s)!==n&&(t.setValue(e),!0)}function G(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function K(e,t){var n=t.checked;return D({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function Y(e,t){var n=null==t.defaultValue?"":t.defaultValue,s=null!=t.checked?t.checked:t.defaultChecked;n=H(null!=t.value?t.value:n),e._wrapperState={initialChecked:s,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function Q(e,t){null!=(t=t.checked)&&y(e,"checked",t,!1)}function X(e,t){Q(e,t);var n=H(t.value),s=t.type;if(null!=n)"number"===s?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===s||"reset"===s)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,n):t.hasOwnProperty("defaultValue")&&ee(e,t.type,H(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function J(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var s=t.type;if(!("submit"!==s&&"reset"!==s||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ee(e,t,n){"number"===t&&G(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var te=Array.isArray;function ne(e,t,n,s){if(e=e.options,t){t={};for(var o=0;o<n.length;o++)t["$"+n[o]]=!0;for(n=0;n<e.length;n++)o=t.hasOwnProperty("$"+e[n].value),e[n].selected!==o&&(e[n].selected=o),o&&s&&(e[n].defaultSelected=!0)}else{for(n=""+H(n),t=null,o=0;o<e.length;o++){if(e[o].value===n)return e[o].selected=!0,void(s&&(e[o].defaultSelected=!0));null!==t||e[o].disabled||(t=e[o])}null!==t&&(t.selected=!0)}}function se(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(a(91));return D({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function oe(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(a(92));if(te(n)){if(1<n.length)throw Error(a(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:H(n)}}function ae(e,t){var n=H(t.value),s=H(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=s&&(e.defaultValue=""+s)}function re(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function ie(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function ce(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?ie(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var le,de,ue=(de=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((le=le||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=le.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,s){MSApp.execUnsafeLocalFunction((function(){return de(e,t)}))}:de);function pe(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var fe={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},be=["Webkit","ms","Moz","O"];function he(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||fe.hasOwnProperty(e)&&fe[e]?(""+t).trim():t+"px"}function me(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var s=0===n.indexOf("--"),o=he(n,t[n],s);"float"===n&&(n="cssFloat"),s?e.setProperty(n,o):e[n]=o}}Object.keys(fe).forEach((function(e){be.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),fe[t]=fe[e]}))}));var ge=D({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ve(e,t){if(t){if(ge[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(a(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(a(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(a(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(a(62))}}function ye(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ke=null;function xe(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var we=null,_e=null,je=null;function Ce(e){if(e=ko(e)){if("function"!=typeof we)throw Error(a(280));var t=e.stateNode;t&&(t=wo(t),we(e.stateNode,e.type,t))}}function Se(e){_e?je?je.push(e):je=[e]:_e=e}function Me(){if(_e){var e=_e,t=je;if(je=_e=null,Ce(e),t)for(e=0;e<t.length;e++)Ce(t[e])}}function Ee(e,t){return e(t)}function Le(){}var Ae=!1;function Te(e,t,n){if(Ae)return e(t,n);Ae=!0;try{return Ee(e,t,n)}finally{Ae=!1,(null!==_e||null!==je)&&(Le(),Me())}}function Pe(e,t){var n=e.stateNode;if(null===n)return null;var s=wo(n);if(null===s)return null;n=s[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(s=!s.disabled)||(s=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!s;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(a(231,t,typeof n));return n}var Re=!1;if(d)try{var Ne={};Object.defineProperty(Ne,"passive",{get:function(){Re=!0}}),window.addEventListener("test",Ne,Ne),window.removeEventListener("test",Ne,Ne)}catch(de){Re=!1}function Ze(e,t,n,s,o,a,r,i,c){var l=Array.prototype.slice.call(arguments,3);try{t.apply(n,l)}catch(d){this.onError(d)}}var Oe=!1,De=null,Be=!1,Ie=null,Fe={onError:function(e){Oe=!0,De=e}};function ze(e,t,n,s,o,a,r,i,c){Oe=!1,De=null,Ze.apply(Fe,arguments)}function We(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{!!(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function $e(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function He(e){if(We(e)!==e)throw Error(a(188))}function Ve(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=We(e)))throw Error(a(188));return t!==e?null:e}for(var n=e,s=t;;){var o=n.return;if(null===o)break;var r=o.alternate;if(null===r){if(null!==(s=o.return)){n=s;continue}break}if(o.child===r.child){for(r=o.child;r;){if(r===n)return He(o),e;if(r===s)return He(o),t;r=r.sibling}throw Error(a(188))}if(n.return!==s.return)n=o,s=r;else{for(var i=!1,c=o.child;c;){if(c===n){i=!0,n=o,s=r;break}if(c===s){i=!0,s=o,n=r;break}c=c.sibling}if(!i){for(c=r.child;c;){if(c===n){i=!0,n=r,s=o;break}if(c===s){i=!0,s=r,n=o;break}c=c.sibling}if(!i)throw Error(a(189))}}if(n.alternate!==s)throw Error(a(190))}if(3!==n.tag)throw Error(a(188));return n.stateNode.current===n?e:t}(e))?Ue(e):null}function Ue(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=Ue(e);if(null!==t)return t;e=e.sibling}return null}var qe=o.unstable_scheduleCallback,Ge=o.unstable_cancelCallback,Ke=o.unstable_shouldYield,Ye=o.unstable_requestPaint,Qe=o.unstable_now,Xe=o.unstable_getCurrentPriorityLevel,Je=o.unstable_ImmediatePriority,et=o.unstable_UserBlockingPriority,tt=o.unstable_NormalPriority,nt=o.unstable_LowPriority,st=o.unstable_IdlePriority,ot=null,at=null;var rt=Math.clz32?Math.clz32:function(e){return e>>>=0,0===e?32:31-(it(e)/ct|0)|0},it=Math.log,ct=Math.LN2;var lt=64,dt=4194304;function ut(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function pt(e,t){var n=e.pendingLanes;if(0===n)return 0;var s=0,o=e.suspendedLanes,a=e.pingedLanes,r=268435455&n;if(0!==r){var i=r&~o;0!==i?s=ut(i):0!==(a&=r)&&(s=ut(a))}else 0!==(r=n&~o)?s=ut(r):0!==a&&(s=ut(a));if(0===s)return 0;if(0!==t&&t!==s&&!(t&o)&&((o=s&-s)>=(a=t&-t)||16===o&&4194240&a))return t;if(4&s&&(s|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=s;0<t;)o=1<<(n=31-rt(t)),s|=e[n],t&=~o;return s}function ft(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function bt(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function ht(){var e=lt;return!(4194240&(lt<<=1))&&(lt=64),e}function mt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function gt(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-rt(t)]=n}function vt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var s=31-rt(n),o=1<<s;o&t|e[s]&t&&(e[s]|=t),n&=~o}}var yt=0;function kt(e){return 1<(e&=-e)?4<e?268435455&e?16:536870912:4:1}var xt,wt,_t,jt,Ct,St=!1,Mt=[],Et=null,Lt=null,At=null,Tt=new Map,Pt=new Map,Rt=[],Nt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Zt(e,t){switch(e){case"focusin":case"focusout":Et=null;break;case"dragenter":case"dragleave":Lt=null;break;case"mouseover":case"mouseout":At=null;break;case"pointerover":case"pointerout":Tt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Pt.delete(t.pointerId)}}function Ot(e,t,n,s,o,a){return null===e||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:s,nativeEvent:a,targetContainers:[o]},null!==t&&(null!==(t=ko(t))&&wt(t)),e):(e.eventSystemFlags|=s,t=e.targetContainers,null!==o&&-1===t.indexOf(o)&&t.push(o),e)}function Dt(e){var t=yo(e.target);if(null!==t){var n=We(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=$e(n)))return e.blockedOn=t,void Ct(e.priority,(function(){_t(n)}))}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Bt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Kt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=ko(n))&&wt(t),e.blockedOn=n,!1;var s=new(n=e.nativeEvent).constructor(n.type,n);ke=s,n.target.dispatchEvent(s),ke=null,t.shift()}return!0}function It(e,t,n){Bt(e)&&n.delete(t)}function Ft(){St=!1,null!==Et&&Bt(Et)&&(Et=null),null!==Lt&&Bt(Lt)&&(Lt=null),null!==At&&Bt(At)&&(At=null),Tt.forEach(It),Pt.forEach(It)}function zt(e,t){e.blockedOn===t&&(e.blockedOn=null,St||(St=!0,o.unstable_scheduleCallback(o.unstable_NormalPriority,Ft)))}function Wt(e){function t(t){return zt(t,e)}if(0<Mt.length){zt(Mt[0],e);for(var n=1;n<Mt.length;n++){var s=Mt[n];s.blockedOn===e&&(s.blockedOn=null)}}for(null!==Et&&zt(Et,e),null!==Lt&&zt(Lt,e),null!==At&&zt(At,e),Tt.forEach(t),Pt.forEach(t),n=0;n<Rt.length;n++)(s=Rt[n]).blockedOn===e&&(s.blockedOn=null);for(;0<Rt.length&&null===(n=Rt[0]).blockedOn;)Dt(n),null===n.blockedOn&&Rt.shift()}var $t=k.ReactCurrentBatchConfig,Ht=!0;function Vt(e,t,n,s){var o=yt,a=$t.transition;$t.transition=null;try{yt=1,qt(e,t,n,s)}finally{yt=o,$t.transition=a}}function Ut(e,t,n,s){var o=yt,a=$t.transition;$t.transition=null;try{yt=4,qt(e,t,n,s)}finally{yt=o,$t.transition=a}}function qt(e,t,n,s){if(Ht){var o=Kt(e,t,n,s);if(null===o)Hs(e,t,s,Gt,n),Zt(e,s);else if(function(e,t,n,s,o){switch(t){case"focusin":return Et=Ot(Et,e,t,n,s,o),!0;case"dragenter":return Lt=Ot(Lt,e,t,n,s,o),!0;case"mouseover":return At=Ot(At,e,t,n,s,o),!0;case"pointerover":var a=o.pointerId;return Tt.set(a,Ot(Tt.get(a)||null,e,t,n,s,o)),!0;case"gotpointercapture":return a=o.pointerId,Pt.set(a,Ot(Pt.get(a)||null,e,t,n,s,o)),!0}return!1}(o,e,t,n,s))s.stopPropagation();else if(Zt(e,s),4&t&&-1<Nt.indexOf(e)){for(;null!==o;){var a=ko(o);if(null!==a&&xt(a),null===(a=Kt(e,t,n,s))&&Hs(e,t,s,Gt,n),a===o)break;o=a}null!==o&&s.stopPropagation()}else Hs(e,t,s,null,n)}}var Gt=null;function Kt(e,t,n,s){if(Gt=null,null!==(e=yo(e=xe(s))))if(null===(t=We(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=$e(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Gt=e,null}function Yt(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Xe()){case Je:return 1;case et:return 4;case tt:case nt:return 16;case st:return 536870912;default:return 16}default:return 16}}var Qt=null,Xt=null,Jt=null;function en(){if(Jt)return Jt;var e,t,n=Xt,s=n.length,o="value"in Qt?Qt.value:Qt.textContent,a=o.length;for(e=0;e<s&&n[e]===o[e];e++);var r=s-e;for(t=1;t<=r&&n[s-t]===o[a-t];t++);return Jt=o.slice(e,1<t?1-t:void 0)}function tn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function nn(){return!0}function sn(){return!1}function on(e){function t(t,n,s,o,a){for(var r in this._reactName=t,this._targetInst=s,this.type=n,this.nativeEvent=o,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(r)&&(t=e[r],this[r]=t?t(o):o[r]);return this.isDefaultPrevented=(null!=o.defaultPrevented?o.defaultPrevented:!1===o.returnValue)?nn:sn,this.isPropagationStopped=sn,this}return D(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=nn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=nn)},persist:function(){},isPersistent:nn}),t}var an,rn,cn,ln={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},dn=on(ln),un=D({},ln,{view:0,detail:0}),pn=on(un),fn=D({},un,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Cn,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==cn&&(cn&&"mousemove"===e.type?(an=e.screenX-cn.screenX,rn=e.screenY-cn.screenY):rn=an=0,cn=e),an)},movementY:function(e){return"movementY"in e?e.movementY:rn}}),bn=on(fn),hn=on(D({},fn,{dataTransfer:0})),mn=on(D({},un,{relatedTarget:0})),gn=on(D({},ln,{animationName:0,elapsedTime:0,pseudoElement:0})),vn=D({},ln,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),yn=on(vn),kn=on(D({},ln,{data:0})),xn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},wn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},_n={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function jn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=_n[e])&&!!t[e]}function Cn(){return jn}var Sn=D({},un,{key:function(e){if(e.key){var t=xn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?wn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Cn,charCode:function(e){return"keypress"===e.type?tn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),Mn=on(Sn),En=on(D({},fn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Ln=on(D({},un,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Cn})),An=on(D({},ln,{propertyName:0,elapsedTime:0,pseudoElement:0})),Tn=D({},fn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Pn=on(Tn),Rn=[9,13,27,32],Nn=d&&"CompositionEvent"in window,Zn=null;d&&"documentMode"in document&&(Zn=document.documentMode);var On=d&&"TextEvent"in window&&!Zn,Dn=d&&(!Nn||Zn&&8<Zn&&11>=Zn),Bn=String.fromCharCode(32),In=!1;function Fn(e,t){switch(e){case"keyup":return-1!==Rn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function zn(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Wn=!1;var $n={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Hn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!$n[e.type]:"textarea"===t}function Vn(e,t,n,s){Se(s),0<(t=Us(t,"onChange")).length&&(n=new dn("onChange","change",null,n,s),e.push({event:n,listeners:t}))}var Un=null,qn=null;function Gn(e){Bs(e,0)}function Kn(e){if(q(xo(e)))return e}function Yn(e,t){if("change"===e)return t}var Qn=!1;if(d){var Xn;if(d){var Jn="oninput"in document;if(!Jn){var es=document.createElement("div");es.setAttribute("oninput","return;"),Jn="function"==typeof es.oninput}Xn=Jn}else Xn=!1;Qn=Xn&&(!document.documentMode||9<document.documentMode)}function ts(){Un&&(Un.detachEvent("onpropertychange",ns),qn=Un=null)}function ns(e){if("value"===e.propertyName&&Kn(qn)){var t=[];Vn(t,qn,e,xe(e)),Te(Gn,t)}}function ss(e,t,n){"focusin"===e?(ts(),qn=n,(Un=t).attachEvent("onpropertychange",ns)):"focusout"===e&&ts()}function os(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Kn(qn)}function as(e,t){if("click"===e)return Kn(t)}function rs(e,t){if("input"===e||"change"===e)return Kn(t)}var is="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function cs(e,t){if(is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),s=Object.keys(t);if(n.length!==s.length)return!1;for(s=0;s<n.length;s++){var o=n[s];if(!u.call(t,o)||!is(e[o],t[o]))return!1}return!0}function ls(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ds(e,t){var n,s=ls(e);for(e=0;s;){if(3===s.nodeType){if(n=e+s.textContent.length,e<=t&&n>=t)return{node:s,offset:t-e};e=n}e:{for(;s;){if(s.nextSibling){s=s.nextSibling;break e}s=s.parentNode}s=void 0}s=ls(s)}}function us(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?us(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function ps(){for(var e=window,t=G();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(s){n=!1}if(!n)break;t=G((e=t.contentWindow).document)}return t}function fs(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function bs(e){var t=ps(),n=e.focusedElem,s=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&us(n.ownerDocument.documentElement,n)){if(null!==s&&fs(n))if(t=s.start,void 0===(e=s.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var o=n.textContent.length,a=Math.min(s.start,o);s=void 0===s.end?a:Math.min(s.end,o),!e.extend&&a>s&&(o=s,s=a,a=o),o=ds(n,a);var r=ds(n,s);o&&r&&(1!==e.rangeCount||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==r.node||e.focusOffset!==r.offset)&&((t=t.createRange()).setStart(o.node,o.offset),e.removeAllRanges(),a>s?(e.addRange(t),e.extend(r.node,r.offset)):(t.setEnd(r.node,r.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var hs=d&&"documentMode"in document&&11>=document.documentMode,ms=null,gs=null,vs=null,ys=!1;function ks(e,t,n){var s=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;ys||null==ms||ms!==G(s)||("selectionStart"in(s=ms)&&fs(s)?s={start:s.selectionStart,end:s.selectionEnd}:s={anchorNode:(s=(s.ownerDocument&&s.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:s.anchorOffset,focusNode:s.focusNode,focusOffset:s.focusOffset},vs&&cs(vs,s)||(vs=s,0<(s=Us(gs,"onSelect")).length&&(t=new dn("onSelect","select",null,t,n),e.push({event:t,listeners:s}),t.target=ms)))}function xs(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var ws={animationend:xs("Animation","AnimationEnd"),animationiteration:xs("Animation","AnimationIteration"),animationstart:xs("Animation","AnimationStart"),transitionend:xs("Transition","TransitionEnd")},_s={},js={};function Cs(e){if(_s[e])return _s[e];if(!ws[e])return e;var t,n=ws[e];for(t in n)if(n.hasOwnProperty(t)&&t in js)return _s[e]=n[t];return e}d&&(js=document.createElement("div").style,"AnimationEvent"in window||(delete ws.animationend.animation,delete ws.animationiteration.animation,delete ws.animationstart.animation),"TransitionEvent"in window||delete ws.transitionend.transition);var Ss=Cs("animationend"),Ms=Cs("animationiteration"),Es=Cs("animationstart"),Ls=Cs("transitionend"),As=new Map,Ts="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Ps(e,t){As.set(e,t),c(t,[e])}for(var Rs=0;Rs<Ts.length;Rs++){var Ns=Ts[Rs];Ps(Ns.toLowerCase(),"on"+(Ns[0].toUpperCase()+Ns.slice(1)))}Ps(Ss,"onAnimationEnd"),Ps(Ms,"onAnimationIteration"),Ps(Es,"onAnimationStart"),Ps("dblclick","onDoubleClick"),Ps("focusin","onFocus"),Ps("focusout","onBlur"),Ps(Ls,"onTransitionEnd"),l("onMouseEnter",["mouseout","mouseover"]),l("onMouseLeave",["mouseout","mouseover"]),l("onPointerEnter",["pointerout","pointerover"]),l("onPointerLeave",["pointerout","pointerover"]),c("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),c("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),c("onBeforeInput",["compositionend","keypress","textInput","paste"]),c("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Zs="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Os=new Set("cancel close invalid load scroll toggle".split(" ").concat(Zs));function Ds(e,t,n){var s=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,s,o,r,i,c,l){if(ze.apply(this,arguments),Oe){if(!Oe)throw Error(a(198));var d=De;Oe=!1,De=null,Be||(Be=!0,Ie=d)}}(s,t,void 0,e),e.currentTarget=null}function Bs(e,t){t=!!(4&t);for(var n=0;n<e.length;n++){var s=e[n],o=s.event;s=s.listeners;e:{var a=void 0;if(t)for(var r=s.length-1;0<=r;r--){var i=s[r],c=i.instance,l=i.currentTarget;if(i=i.listener,c!==a&&o.isPropagationStopped())break e;Ds(o,i,l),a=c}else for(r=0;r<s.length;r++){if(c=(i=s[r]).instance,l=i.currentTarget,i=i.listener,c!==a&&o.isPropagationStopped())break e;Ds(o,i,l),a=c}}}if(Be)throw e=Ie,Be=!1,Ie=null,e}function Is(e,t){var n=t[mo];void 0===n&&(n=t[mo]=new Set);var s=e+"__bubble";n.has(s)||($s(t,e,2,!1),n.add(s))}function Fs(e,t,n){var s=0;t&&(s|=4),$s(n,e,s,t)}var zs="_reactListening"+Math.random().toString(36).slice(2);function Ws(e){if(!e[zs]){e[zs]=!0,r.forEach((function(t){"selectionchange"!==t&&(Os.has(t)||Fs(t,!1,e),Fs(t,!0,e))}));var t=9===e.nodeType?e:e.ownerDocument;null===t||t[zs]||(t[zs]=!0,Fs("selectionchange",!1,t))}}function $s(e,t,n,s){switch(Yt(t)){case 1:var o=Vt;break;case 4:o=Ut;break;default:o=qt}n=o.bind(null,t,n,e),o=void 0,!Re||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(o=!0),s?void 0!==o?e.addEventListener(t,n,{capture:!0,passive:o}):e.addEventListener(t,n,!0):void 0!==o?e.addEventListener(t,n,{passive:o}):e.addEventListener(t,n,!1)}function Hs(e,t,n,s,o){var a=s;if(!(1&t||2&t||null===s))e:for(;;){if(null===s)return;var r=s.tag;if(3===r||4===r){var i=s.stateNode.containerInfo;if(i===o||8===i.nodeType&&i.parentNode===o)break;if(4===r)for(r=s.return;null!==r;){var c=r.tag;if((3===c||4===c)&&((c=r.stateNode.containerInfo)===o||8===c.nodeType&&c.parentNode===o))return;r=r.return}for(;null!==i;){if(null===(r=yo(i)))return;if(5===(c=r.tag)||6===c){s=a=r;continue e}i=i.parentNode}}s=s.return}Te((function(){var s=a,o=xe(n),r=[];e:{var i=As.get(e);if(void 0!==i){var c=dn,l=e;switch(e){case"keypress":if(0===tn(n))break e;case"keydown":case"keyup":c=Mn;break;case"focusin":l="focus",c=mn;break;case"focusout":l="blur",c=mn;break;case"beforeblur":case"afterblur":c=mn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":c=bn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":c=hn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":c=Ln;break;case Ss:case Ms:case Es:c=gn;break;case Ls:c=An;break;case"scroll":c=pn;break;case"wheel":c=Pn;break;case"copy":case"cut":case"paste":c=yn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":c=En}var d=!!(4&t),u=!d&&"scroll"===e,p=d?null!==i?i+"Capture":null:i;d=[];for(var f,b=s;null!==b;){var h=(f=b).stateNode;if(5===f.tag&&null!==h&&(f=h,null!==p&&(null!=(h=Pe(b,p))&&d.push(Vs(b,h,f)))),u)break;b=b.return}0<d.length&&(i=new c(i,l,null,n,o),r.push({event:i,listeners:d}))}}if(!(7&t)){if(c="mouseout"===e||"pointerout"===e,(!(i="mouseover"===e||"pointerover"===e)||n===ke||!(l=n.relatedTarget||n.fromElement)||!yo(l)&&!l[ho])&&(c||i)&&(i=o.window===o?o:(i=o.ownerDocument)?i.defaultView||i.parentWindow:window,c?(c=s,null!==(l=(l=n.relatedTarget||n.toElement)?yo(l):null)&&(l!==(u=We(l))||5!==l.tag&&6!==l.tag)&&(l=null)):(c=null,l=s),c!==l)){if(d=bn,h="onMouseLeave",p="onMouseEnter",b="mouse","pointerout"!==e&&"pointerover"!==e||(d=En,h="onPointerLeave",p="onPointerEnter",b="pointer"),u=null==c?i:xo(c),f=null==l?i:xo(l),(i=new d(h,b+"leave",c,n,o)).target=u,i.relatedTarget=f,h=null,yo(o)===s&&((d=new d(p,b+"enter",l,n,o)).target=f,d.relatedTarget=u,h=d),u=h,c&&l)e:{for(p=l,b=0,f=d=c;f;f=qs(f))b++;for(f=0,h=p;h;h=qs(h))f++;for(;0<b-f;)d=qs(d),b--;for(;0<f-b;)p=qs(p),f--;for(;b--;){if(d===p||null!==p&&d===p.alternate)break e;d=qs(d),p=qs(p)}d=null}else d=null;null!==c&&Gs(r,i,c,d,!1),null!==l&&null!==u&&Gs(r,u,l,d,!0)}if("select"===(c=(i=s?xo(s):window).nodeName&&i.nodeName.toLowerCase())||"input"===c&&"file"===i.type)var m=Yn;else if(Hn(i))if(Qn)m=rs;else{m=os;var g=ss}else(c=i.nodeName)&&"input"===c.toLowerCase()&&("checkbox"===i.type||"radio"===i.type)&&(m=as);switch(m&&(m=m(e,s))?Vn(r,m,n,o):(g&&g(e,i,s),"focusout"===e&&(g=i._wrapperState)&&g.controlled&&"number"===i.type&&ee(i,"number",i.value)),g=s?xo(s):window,e){case"focusin":(Hn(g)||"true"===g.contentEditable)&&(ms=g,gs=s,vs=null);break;case"focusout":vs=gs=ms=null;break;case"mousedown":ys=!0;break;case"contextmenu":case"mouseup":case"dragend":ys=!1,ks(r,n,o);break;case"selectionchange":if(hs)break;case"keydown":case"keyup":ks(r,n,o)}var v;if(Nn)e:{switch(e){case"compositionstart":var y="onCompositionStart";break e;case"compositionend":y="onCompositionEnd";break e;case"compositionupdate":y="onCompositionUpdate";break e}y=void 0}else Wn?Fn(e,n)&&(y="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(y="onCompositionStart");y&&(Dn&&"ko"!==n.locale&&(Wn||"onCompositionStart"!==y?"onCompositionEnd"===y&&Wn&&(v=en()):(Xt="value"in(Qt=o)?Qt.value:Qt.textContent,Wn=!0)),0<(g=Us(s,y)).length&&(y=new kn(y,e,null,n,o),r.push({event:y,listeners:g}),v?y.data=v:null!==(v=zn(n))&&(y.data=v))),(v=On?function(e,t){switch(e){case"compositionend":return zn(t);case"keypress":return 32!==t.which?null:(In=!0,Bn);case"textInput":return(e=t.data)===Bn&&In?null:e;default:return null}}(e,n):function(e,t){if(Wn)return"compositionend"===e||!Nn&&Fn(e,t)?(e=en(),Jt=Xt=Qt=null,Wn=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Dn&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(s=Us(s,"onBeforeInput")).length&&(o=new kn("onBeforeInput","beforeinput",null,n,o),r.push({event:o,listeners:s}),o.data=v))}Bs(r,t)}))}function Vs(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Us(e,t){for(var n=t+"Capture",s=[];null!==e;){var o=e,a=o.stateNode;5===o.tag&&null!==a&&(o=a,null!=(a=Pe(e,n))&&s.unshift(Vs(e,a,o)),null!=(a=Pe(e,t))&&s.push(Vs(e,a,o))),e=e.return}return s}function qs(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Gs(e,t,n,s,o){for(var a=t._reactName,r=[];null!==n&&n!==s;){var i=n,c=i.alternate,l=i.stateNode;if(null!==c&&c===s)break;5===i.tag&&null!==l&&(i=l,o?null!=(c=Pe(n,a))&&r.unshift(Vs(n,c,i)):o||null!=(c=Pe(n,a))&&r.push(Vs(n,c,i))),n=n.return}0!==r.length&&e.push({event:t,listeners:r})}var Ks=/\r\n?/g,Ys=/\u0000|\uFFFD/g;function Qs(e){return("string"==typeof e?e:""+e).replace(Ks,"\n").replace(Ys,"")}function Xs(e,t,n){if(t=Qs(t),Qs(e)!==t&&n)throw Error(a(425))}function Js(){}var eo=null,to=null;function no(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var so="function"==typeof setTimeout?setTimeout:void 0,oo="function"==typeof clearTimeout?clearTimeout:void 0,ao="function"==typeof Promise?Promise:void 0,ro="function"==typeof queueMicrotask?queueMicrotask:void 0!==ao?function(e){return ao.resolve(null).then(e).catch(io)}:so;function io(e){setTimeout((function(){throw e}))}function co(e,t){var n=t,s=0;do{var o=n.nextSibling;if(e.removeChild(n),o&&8===o.nodeType)if("/$"===(n=o.data)){if(0===s)return e.removeChild(o),void Wt(t);s--}else"$"!==n&&"$?"!==n&&"$!"!==n||s++;n=o}while(n);Wt(t)}function lo(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function uo(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var po=Math.random().toString(36).slice(2),fo="__reactFiber$"+po,bo="__reactProps$"+po,ho="__reactContainer$"+po,mo="__reactEvents$"+po,go="__reactListeners$"+po,vo="__reactHandles$"+po;function yo(e){var t=e[fo];if(t)return t;for(var n=e.parentNode;n;){if(t=n[ho]||n[fo]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=uo(e);null!==e;){if(n=e[fo])return n;e=uo(e)}return t}n=(e=n).parentNode}return null}function ko(e){return!(e=e[fo]||e[ho])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function xo(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(a(33))}function wo(e){return e[bo]||null}var _o=[],jo=-1;function Co(e){return{current:e}}function So(e){0>jo||(e.current=_o[jo],_o[jo]=null,jo--)}function Mo(e,t){jo++,_o[jo]=e.current,e.current=t}var Eo={},Lo=Co(Eo),Ao=Co(!1),To=Eo;function Po(e,t){var n=e.type.contextTypes;if(!n)return Eo;var s=e.stateNode;if(s&&s.__reactInternalMemoizedUnmaskedChildContext===t)return s.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in n)a[o]=t[o];return s&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function Ro(e){return null!=(e=e.childContextTypes)}function No(){So(Ao),So(Lo)}function Zo(e,t,n){if(Lo.current!==Eo)throw Error(a(168));Mo(Lo,t),Mo(Ao,n)}function Oo(e,t,n){var s=e.stateNode;if(t=t.childContextTypes,"function"!=typeof s.getChildContext)return n;for(var o in s=s.getChildContext())if(!(o in t))throw Error(a(108,$(e)||"Unknown",o));return D({},n,s)}function Do(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Eo,To=Lo.current,Mo(Lo,e),Mo(Ao,Ao.current),!0}function Bo(e,t,n){var s=e.stateNode;if(!s)throw Error(a(169));n?(e=Oo(e,t,To),s.__reactInternalMemoizedMergedChildContext=e,So(Ao),So(Lo),Mo(Lo,e)):So(Ao),Mo(Ao,n)}var Io=null,Fo=!1,zo=!1;function Wo(e){null===Io?Io=[e]:Io.push(e)}function $o(){if(!zo&&null!==Io){zo=!0;var e=0,t=yt;try{var n=Io;for(yt=1;e<n.length;e++){var s=n[e];do{s=s(!0)}while(null!==s)}Io=null,Fo=!1}catch(o){throw null!==Io&&(Io=Io.slice(e+1)),qe(Je,$o),o}finally{yt=t,zo=!1}}return null}var Ho=[],Vo=0,Uo=null,qo=0,Go=[],Ko=0,Yo=null,Qo=1,Xo="";function Jo(e,t){Ho[Vo++]=qo,Ho[Vo++]=Uo,Uo=e,qo=t}function ea(e,t,n){Go[Ko++]=Qo,Go[Ko++]=Xo,Go[Ko++]=Yo,Yo=e;var s=Qo;e=Xo;var o=32-rt(s)-1;s&=~(1<<o),n+=1;var a=32-rt(t)+o;if(30<a){var r=o-o%5;a=(s&(1<<r)-1).toString(32),s>>=r,o-=r,Qo=1<<32-rt(t)+o|n<<o|s,Xo=a+e}else Qo=1<<a|n<<o|s,Xo=e}function ta(e){null!==e.return&&(Jo(e,1),ea(e,1,0))}function na(e){for(;e===Uo;)Uo=Ho[--Vo],Ho[Vo]=null,qo=Ho[--Vo],Ho[Vo]=null;for(;e===Yo;)Yo=Go[--Ko],Go[Ko]=null,Xo=Go[--Ko],Go[Ko]=null,Qo=Go[--Ko],Go[Ko]=null}var sa=null,oa=null,aa=!1,ra=null;function ia(e,t){var n=Pl(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function ca(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,sa=e,oa=lo(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,sa=e,oa=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==Yo?{id:Qo,overflow:Xo}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=Pl(18,null,null,0)).stateNode=t,n.return=e,e.child=n,sa=e,oa=null,!0);default:return!1}}function la(e){return!(!(1&e.mode)||128&e.flags)}function da(e){if(aa){var t=oa;if(t){var n=t;if(!ca(e,t)){if(la(e))throw Error(a(418));t=lo(n.nextSibling);var s=sa;t&&ca(e,t)?ia(s,n):(e.flags=-4097&e.flags|2,aa=!1,sa=e)}}else{if(la(e))throw Error(a(418));e.flags=-4097&e.flags|2,aa=!1,sa=e}}}function ua(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;sa=e}function pa(e){if(e!==sa)return!1;if(!aa)return ua(e),aa=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!no(e.type,e.memoizedProps)),t&&(t=oa)){if(la(e))throw fa(),Error(a(418));for(;t;)ia(e,t),t=lo(t.nextSibling)}if(ua(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(a(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){oa=lo(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}oa=null}}else oa=sa?lo(e.stateNode.nextSibling):null;return!0}function fa(){for(var e=oa;e;)e=lo(e.nextSibling)}function ba(){oa=sa=null,aa=!1}function ha(e){null===ra?ra=[e]:ra.push(e)}var ma=k.ReactCurrentBatchConfig;function ga(e,t){if(e&&e.defaultProps){for(var n in t=D({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}var va=Co(null),ya=null,ka=null,xa=null;function wa(){xa=ka=ya=null}function _a(e){var t=va.current;So(va),e._currentValue=t}function ja(e,t,n){for(;null!==e;){var s=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==s&&(s.childLanes|=t)):null!==s&&(s.childLanes&t)!==t&&(s.childLanes|=t),e===n)break;e=e.return}}function Ca(e,t){ya=e,xa=ka=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(!!(e.lanes&t)&&(ki=!0),e.firstContext=null)}function Sa(e){var t=e._currentValue;if(xa!==e)if(e={context:e,memoizedValue:t,next:null},null===ka){if(null===ya)throw Error(a(308));ka=e,ya.dependencies={lanes:0,firstContext:e}}else ka=ka.next=e;return t}var Ma=null;function Ea(e){null===Ma?Ma=[e]:Ma.push(e)}function La(e,t,n,s){var o=t.interleaved;return null===o?(n.next=n,Ea(t)):(n.next=o.next,o.next=n),t.interleaved=n,Aa(e,s)}function Aa(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var Ta=!1;function Pa(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Ra(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Na(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Za(e,t,n){var s=e.updateQueue;if(null===s)return null;if(s=s.shared,2&Lc){var o=s.pending;return null===o?t.next=t:(t.next=o.next,o.next=t),s.pending=t,Aa(e,n)}return null===(o=s.interleaved)?(t.next=t,Ea(s)):(t.next=o.next,o.next=t),s.interleaved=t,Aa(e,n)}function Oa(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,4194240&n)){var s=t.lanes;n|=s&=e.pendingLanes,t.lanes=n,vt(e,n)}}function Da(e,t){var n=e.updateQueue,s=e.alternate;if(null!==s&&n===(s=s.updateQueue)){var o=null,a=null;if(null!==(n=n.firstBaseUpdate)){do{var r={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===a?o=a=r:a=a.next=r,n=n.next}while(null!==n);null===a?o=a=t:a=a.next=t}else o=a=t;return n={baseState:s.baseState,firstBaseUpdate:o,lastBaseUpdate:a,shared:s.shared,effects:s.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Ba(e,t,n,s){var o=e.updateQueue;Ta=!1;var a=o.firstBaseUpdate,r=o.lastBaseUpdate,i=o.shared.pending;if(null!==i){o.shared.pending=null;var c=i,l=c.next;c.next=null,null===r?a=l:r.next=l,r=c;var d=e.alternate;null!==d&&((i=(d=d.updateQueue).lastBaseUpdate)!==r&&(null===i?d.firstBaseUpdate=l:i.next=l,d.lastBaseUpdate=c))}if(null!==a){var u=o.baseState;for(r=0,d=l=c=null,i=a;;){var p=i.lane,f=i.eventTime;if((s&p)===p){null!==d&&(d=d.next={eventTime:f,lane:0,tag:i.tag,payload:i.payload,callback:i.callback,next:null});e:{var b=e,h=i;switch(p=t,f=n,h.tag){case 1:if("function"==typeof(b=h.payload)){u=b.call(f,u,p);break e}u=b;break e;case 3:b.flags=-65537&b.flags|128;case 0:if(null==(p="function"==typeof(b=h.payload)?b.call(f,u,p):b))break e;u=D({},u,p);break e;case 2:Ta=!0}}null!==i.callback&&0!==i.lane&&(e.flags|=64,null===(p=o.effects)?o.effects=[i]:p.push(i))}else f={eventTime:f,lane:p,tag:i.tag,payload:i.payload,callback:i.callback,next:null},null===d?(l=d=f,c=u):d=d.next=f,r|=p;if(null===(i=i.next)){if(null===(i=o.shared.pending))break;i=(p=i).next,p.next=null,o.lastBaseUpdate=p,o.shared.pending=null}}if(null===d&&(c=u),o.baseState=c,o.firstBaseUpdate=l,o.lastBaseUpdate=d,null!==(t=o.shared.interleaved)){o=t;do{r|=o.lane,o=o.next}while(o!==t)}else null===a&&(o.shared.lanes=0);Dc|=r,e.lanes=r,e.memoizedState=u}}function Ia(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var s=e[t],o=s.callback;if(null!==o){if(s.callback=null,s=n,"function"!=typeof o)throw Error(a(191,o));o.call(s)}}}var Fa=(new s.Component).refs;function za(e,t,n,s){n=null==(n=n(s,t=e.memoizedState))?t:D({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var Wa={isMounted:function(e){return!!(e=e._reactInternals)&&We(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var s=tl(),o=nl(e),a=Na(s,o);a.payload=t,null!=n&&(a.callback=n),null!==(t=Za(e,a,o))&&(sl(t,e,o,s),Oa(t,e,o))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var s=tl(),o=nl(e),a=Na(s,o);a.tag=1,a.payload=t,null!=n&&(a.callback=n),null!==(t=Za(e,a,o))&&(sl(t,e,o,s),Oa(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=tl(),s=nl(e),o=Na(n,s);o.tag=2,null!=t&&(o.callback=t),null!==(t=Za(e,o,s))&&(sl(t,e,s,n),Oa(t,e,s))}};function $a(e,t,n,s,o,a,r){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(s,a,r):!t.prototype||!t.prototype.isPureReactComponent||(!cs(n,s)||!cs(o,a))}function Ha(e,t,n){var s=!1,o=Eo,a=t.contextType;return"object"==typeof a&&null!==a?a=Sa(a):(o=Ro(t)?To:Lo.current,a=(s=null!=(s=t.contextTypes))?Po(e,o):Eo),t=new t(n,a),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=Wa,e.stateNode=t,t._reactInternals=e,s&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=a),t}function Va(e,t,n,s){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,s),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,s),t.state!==e&&Wa.enqueueReplaceState(t,t.state,null)}function Ua(e,t,n,s){var o=e.stateNode;o.props=n,o.state=e.memoizedState,o.refs=Fa,Pa(e);var a=t.contextType;"object"==typeof a&&null!==a?o.context=Sa(a):(a=Ro(t)?To:Lo.current,o.context=Po(e,a)),o.state=e.memoizedState,"function"==typeof(a=t.getDerivedStateFromProps)&&(za(e,t,a,n),o.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof o.getSnapshotBeforeUpdate||"function"!=typeof o.UNSAFE_componentWillMount&&"function"!=typeof o.componentWillMount||(t=o.state,"function"==typeof o.componentWillMount&&o.componentWillMount(),"function"==typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount(),t!==o.state&&Wa.enqueueReplaceState(o,o.state,null),Ba(e,n,o,s),o.state=e.memoizedState),"function"==typeof o.componentDidMount&&(e.flags|=4194308)}function qa(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(a(309));var s=n.stateNode}if(!s)throw Error(a(147,e));var o=s,r=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===r?t.ref:(t=function(e){var t=o.refs;t===Fa&&(t=o.refs={}),null===e?delete t[r]:t[r]=e},t._stringRef=r,t)}if("string"!=typeof e)throw Error(a(284));if(!n._owner)throw Error(a(290,e))}return e}function Ga(e,t){throw e=Object.prototype.toString.call(t),Error(a(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Ka(e){return(0,e._init)(e._payload)}function Ya(e){function t(t,n){if(e){var s=t.deletions;null===s?(t.deletions=[n],t.flags|=16):s.push(n)}}function n(n,s){if(!e)return null;for(;null!==s;)t(n,s),s=s.sibling;return null}function s(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function o(e,t){return(e=Nl(e,t)).index=0,e.sibling=null,e}function r(t,n,s){return t.index=s,e?null!==(s=t.alternate)?(s=s.index)<n?(t.flags|=2,n):s:(t.flags|=2,n):(t.flags|=1048576,n)}function i(t){return e&&null===t.alternate&&(t.flags|=2),t}function c(e,t,n,s){return null===t||6!==t.tag?((t=Bl(n,e.mode,s)).return=e,t):((t=o(t,n)).return=e,t)}function l(e,t,n,s){var a=n.type;return a===_?u(e,t,n.props.children,s,n.key):null!==t&&(t.elementType===a||"object"==typeof a&&null!==a&&a.$$typeof===P&&Ka(a)===t.type)?((s=o(t,n.props)).ref=qa(e,t,n),s.return=e,s):((s=Zl(n.type,n.key,n.props,null,e.mode,s)).ref=qa(e,t,n),s.return=e,s)}function d(e,t,n,s){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Il(n,e.mode,s)).return=e,t):((t=o(t,n.children||[])).return=e,t)}function u(e,t,n,s,a){return null===t||7!==t.tag?((t=Ol(n,e.mode,s,a)).return=e,t):((t=o(t,n)).return=e,t)}function p(e,t,n){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=Bl(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case x:return(n=Zl(t.type,t.key,t.props,null,e.mode,n)).ref=qa(e,null,t),n.return=e,n;case w:return(t=Il(t,e.mode,n)).return=e,t;case P:return p(e,(0,t._init)(t._payload),n)}if(te(t)||Z(t))return(t=Ol(t,e.mode,n,null)).return=e,t;Ga(e,t)}return null}function f(e,t,n,s){var o=null!==t?t.key:null;if("string"==typeof n&&""!==n||"number"==typeof n)return null!==o?null:c(e,t,""+n,s);if("object"==typeof n&&null!==n){switch(n.$$typeof){case x:return n.key===o?l(e,t,n,s):null;case w:return n.key===o?d(e,t,n,s):null;case P:return f(e,t,(o=n._init)(n._payload),s)}if(te(n)||Z(n))return null!==o?null:u(e,t,n,s,null);Ga(e,n)}return null}function b(e,t,n,s,o){if("string"==typeof s&&""!==s||"number"==typeof s)return c(t,e=e.get(n)||null,""+s,o);if("object"==typeof s&&null!==s){switch(s.$$typeof){case x:return l(t,e=e.get(null===s.key?n:s.key)||null,s,o);case w:return d(t,e=e.get(null===s.key?n:s.key)||null,s,o);case P:return b(e,t,n,(0,s._init)(s._payload),o)}if(te(s)||Z(s))return u(t,e=e.get(n)||null,s,o,null);Ga(t,s)}return null}function h(o,a,i,c){for(var l=null,d=null,u=a,h=a=0,m=null;null!==u&&h<i.length;h++){u.index>h?(m=u,u=null):m=u.sibling;var g=f(o,u,i[h],c);if(null===g){null===u&&(u=m);break}e&&u&&null===g.alternate&&t(o,u),a=r(g,a,h),null===d?l=g:d.sibling=g,d=g,u=m}if(h===i.length)return n(o,u),aa&&Jo(o,h),l;if(null===u){for(;h<i.length;h++)null!==(u=p(o,i[h],c))&&(a=r(u,a,h),null===d?l=u:d.sibling=u,d=u);return aa&&Jo(o,h),l}for(u=s(o,u);h<i.length;h++)null!==(m=b(u,o,h,i[h],c))&&(e&&null!==m.alternate&&u.delete(null===m.key?h:m.key),a=r(m,a,h),null===d?l=m:d.sibling=m,d=m);return e&&u.forEach((function(e){return t(o,e)})),aa&&Jo(o,h),l}function m(o,i,c,l){var d=Z(c);if("function"!=typeof d)throw Error(a(150));if(null==(c=d.call(c)))throw Error(a(151));for(var u=d=null,h=i,m=i=0,g=null,v=c.next();null!==h&&!v.done;m++,v=c.next()){h.index>m?(g=h,h=null):g=h.sibling;var y=f(o,h,v.value,l);if(null===y){null===h&&(h=g);break}e&&h&&null===y.alternate&&t(o,h),i=r(y,i,m),null===u?d=y:u.sibling=y,u=y,h=g}if(v.done)return n(o,h),aa&&Jo(o,m),d;if(null===h){for(;!v.done;m++,v=c.next())null!==(v=p(o,v.value,l))&&(i=r(v,i,m),null===u?d=v:u.sibling=v,u=v);return aa&&Jo(o,m),d}for(h=s(o,h);!v.done;m++,v=c.next())null!==(v=b(h,o,m,v.value,l))&&(e&&null!==v.alternate&&h.delete(null===v.key?m:v.key),i=r(v,i,m),null===u?d=v:u.sibling=v,u=v);return e&&h.forEach((function(e){return t(o,e)})),aa&&Jo(o,m),d}return function e(s,a,r,c){if("object"==typeof r&&null!==r&&r.type===_&&null===r.key&&(r=r.props.children),"object"==typeof r&&null!==r){switch(r.$$typeof){case x:e:{for(var l=r.key,d=a;null!==d;){if(d.key===l){if((l=r.type)===_){if(7===d.tag){n(s,d.sibling),(a=o(d,r.props.children)).return=s,s=a;break e}}else if(d.elementType===l||"object"==typeof l&&null!==l&&l.$$typeof===P&&Ka(l)===d.type){n(s,d.sibling),(a=o(d,r.props)).ref=qa(s,d,r),a.return=s,s=a;break e}n(s,d);break}t(s,d),d=d.sibling}r.type===_?((a=Ol(r.props.children,s.mode,c,r.key)).return=s,s=a):((c=Zl(r.type,r.key,r.props,null,s.mode,c)).ref=qa(s,a,r),c.return=s,s=c)}return i(s);case w:e:{for(d=r.key;null!==a;){if(a.key===d){if(4===a.tag&&a.stateNode.containerInfo===r.containerInfo&&a.stateNode.implementation===r.implementation){n(s,a.sibling),(a=o(a,r.children||[])).return=s,s=a;break e}n(s,a);break}t(s,a),a=a.sibling}(a=Il(r,s.mode,c)).return=s,s=a}return i(s);case P:return e(s,a,(d=r._init)(r._payload),c)}if(te(r))return h(s,a,r,c);if(Z(r))return m(s,a,r,c);Ga(s,r)}return"string"==typeof r&&""!==r||"number"==typeof r?(r=""+r,null!==a&&6===a.tag?(n(s,a.sibling),(a=o(a,r)).return=s,s=a):(n(s,a),(a=Bl(r,s.mode,c)).return=s,s=a),i(s)):n(s,a)}}var Qa=Ya(!0),Xa=Ya(!1),Ja={},er=Co(Ja),tr=Co(Ja),nr=Co(Ja);function sr(e){if(e===Ja)throw Error(a(174));return e}function or(e,t){switch(Mo(nr,t),Mo(tr,e),Mo(er,Ja),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:ce(null,"");break;default:t=ce(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}So(er),Mo(er,t)}function ar(){So(er),So(tr),So(nr)}function rr(e){sr(nr.current);var t=sr(er.current),n=ce(t,e.type);t!==n&&(Mo(tr,e),Mo(er,n))}function ir(e){tr.current===e&&(So(er),So(tr))}var cr=Co(0);function lr(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(128&t.flags)return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var dr=[];function ur(){for(var e=0;e<dr.length;e++)dr[e]._workInProgressVersionPrimary=null;dr.length=0}var pr=k.ReactCurrentDispatcher,fr=k.ReactCurrentBatchConfig,br=0,hr=null,mr=null,gr=null,vr=!1,yr=!1,kr=0,xr=0;function wr(){throw Error(a(321))}function _r(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!is(e[n],t[n]))return!1;return!0}function jr(e,t,n,s,o,r){if(br=r,hr=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,pr.current=null===e||null===e.memoizedState?ii:ci,e=n(s,o),yr){r=0;do{if(yr=!1,kr=0,25<=r)throw Error(a(301));r+=1,gr=mr=null,t.updateQueue=null,pr.current=li,e=n(s,o)}while(yr)}if(pr.current=ri,t=null!==mr&&null!==mr.next,br=0,gr=mr=hr=null,vr=!1,t)throw Error(a(300));return e}function Cr(){var e=0!==kr;return kr=0,e}function Sr(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===gr?hr.memoizedState=gr=e:gr=gr.next=e,gr}function Mr(){if(null===mr){var e=hr.alternate;e=null!==e?e.memoizedState:null}else e=mr.next;var t=null===gr?hr.memoizedState:gr.next;if(null!==t)gr=t,mr=e;else{if(null===e)throw Error(a(310));e={memoizedState:(mr=e).memoizedState,baseState:mr.baseState,baseQueue:mr.baseQueue,queue:mr.queue,next:null},null===gr?hr.memoizedState=gr=e:gr=gr.next=e}return gr}function Er(e,t){return"function"==typeof t?t(e):t}function Lr(e){var t=Mr(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var s=mr,o=s.baseQueue,r=n.pending;if(null!==r){if(null!==o){var i=o.next;o.next=r.next,r.next=i}s.baseQueue=o=r,n.pending=null}if(null!==o){r=o.next,s=s.baseState;var c=i=null,l=null,d=r;do{var u=d.lane;if((br&u)===u)null!==l&&(l=l.next={lane:0,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null}),s=d.hasEagerState?d.eagerState:e(s,d.action);else{var p={lane:u,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null};null===l?(c=l=p,i=s):l=l.next=p,hr.lanes|=u,Dc|=u}d=d.next}while(null!==d&&d!==r);null===l?i=s:l.next=c,is(s,t.memoizedState)||(ki=!0),t.memoizedState=s,t.baseState=i,t.baseQueue=l,n.lastRenderedState=s}if(null!==(e=n.interleaved)){o=e;do{r=o.lane,hr.lanes|=r,Dc|=r,o=o.next}while(o!==e)}else null===o&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function Ar(e){var t=Mr(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var s=n.dispatch,o=n.pending,r=t.memoizedState;if(null!==o){n.pending=null;var i=o=o.next;do{r=e(r,i.action),i=i.next}while(i!==o);is(r,t.memoizedState)||(ki=!0),t.memoizedState=r,null===t.baseQueue&&(t.baseState=r),n.lastRenderedState=r}return[r,s]}function Tr(){}function Pr(e,t){var n=hr,s=Mr(),o=t(),r=!is(s.memoizedState,o);if(r&&(s.memoizedState=o,ki=!0),s=s.queue,Hr(Zr.bind(null,n,s,e),[e]),s.getSnapshot!==t||r||null!==gr&&1&gr.memoizedState.tag){if(n.flags|=2048,Ir(9,Nr.bind(null,n,s,o,t),void 0,null),null===Ac)throw Error(a(349));30&br||Rr(n,t,o)}return o}function Rr(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=hr.updateQueue)?(t={lastEffect:null,stores:null},hr.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function Nr(e,t,n,s){t.value=n,t.getSnapshot=s,Or(t)&&Dr(e)}function Zr(e,t,n){return n((function(){Or(t)&&Dr(e)}))}function Or(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!is(e,n)}catch(s){return!0}}function Dr(e){var t=Aa(e,1);null!==t&&sl(t,e,1,-1)}function Br(e){var t=Sr();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Er,lastRenderedState:e},t.queue=e,e=e.dispatch=ni.bind(null,hr,e),[t.memoizedState,e]}function Ir(e,t,n,s){return e={tag:e,create:t,destroy:n,deps:s,next:null},null===(t=hr.updateQueue)?(t={lastEffect:null,stores:null},hr.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(s=n.next,n.next=e,e.next=s,t.lastEffect=e),e}function Fr(){return Mr().memoizedState}function zr(e,t,n,s){var o=Sr();hr.flags|=e,o.memoizedState=Ir(1|t,n,void 0,void 0===s?null:s)}function Wr(e,t,n,s){var o=Mr();s=void 0===s?null:s;var a=void 0;if(null!==mr){var r=mr.memoizedState;if(a=r.destroy,null!==s&&_r(s,r.deps))return void(o.memoizedState=Ir(t,n,a,s))}hr.flags|=e,o.memoizedState=Ir(1|t,n,a,s)}function $r(e,t){return zr(8390656,8,e,t)}function Hr(e,t){return Wr(2048,8,e,t)}function Vr(e,t){return Wr(4,2,e,t)}function Ur(e,t){return Wr(4,4,e,t)}function qr(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Gr(e,t,n){return n=null!=n?n.concat([e]):null,Wr(4,4,qr.bind(null,t,e),n)}function Kr(){}function Yr(e,t){var n=Mr();t=void 0===t?null:t;var s=n.memoizedState;return null!==s&&null!==t&&_r(t,s[1])?s[0]:(n.memoizedState=[e,t],e)}function Qr(e,t){var n=Mr();t=void 0===t?null:t;var s=n.memoizedState;return null!==s&&null!==t&&_r(t,s[1])?s[0]:(e=e(),n.memoizedState=[e,t],e)}function Xr(e,t,n){return 21&br?(is(n,t)||(n=ht(),hr.lanes|=n,Dc|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,ki=!0),e.memoizedState=n)}function Jr(e,t){var n=yt;yt=0!==n&&4>n?n:4,e(!0);var s=fr.transition;fr.transition={};try{e(!1),t()}finally{yt=n,fr.transition=s}}function ei(){return Mr().memoizedState}function ti(e,t,n){var s=nl(e);if(n={lane:s,action:n,hasEagerState:!1,eagerState:null,next:null},si(e))oi(t,n);else if(null!==(n=La(e,t,n,s))){sl(n,e,s,tl()),ai(n,t,s)}}function ni(e,t,n){var s=nl(e),o={lane:s,action:n,hasEagerState:!1,eagerState:null,next:null};if(si(e))oi(t,o);else{var a=e.alternate;if(0===e.lanes&&(null===a||0===a.lanes)&&null!==(a=t.lastRenderedReducer))try{var r=t.lastRenderedState,i=a(r,n);if(o.hasEagerState=!0,o.eagerState=i,is(i,r)){var c=t.interleaved;return null===c?(o.next=o,Ea(t)):(o.next=c.next,c.next=o),void(t.interleaved=o)}}catch(l){}null!==(n=La(e,t,o,s))&&(sl(n,e,s,o=tl()),ai(n,t,s))}}function si(e){var t=e.alternate;return e===hr||null!==t&&t===hr}function oi(e,t){yr=vr=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function ai(e,t,n){if(4194240&n){var s=t.lanes;n|=s&=e.pendingLanes,t.lanes=n,vt(e,n)}}var ri={readContext:Sa,useCallback:wr,useContext:wr,useEffect:wr,useImperativeHandle:wr,useInsertionEffect:wr,useLayoutEffect:wr,useMemo:wr,useReducer:wr,useRef:wr,useState:wr,useDebugValue:wr,useDeferredValue:wr,useTransition:wr,useMutableSource:wr,useSyncExternalStore:wr,useId:wr,unstable_isNewReconciler:!1},ii={readContext:Sa,useCallback:function(e,t){return Sr().memoizedState=[e,void 0===t?null:t],e},useContext:Sa,useEffect:$r,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,zr(4194308,4,qr.bind(null,t,e),n)},useLayoutEffect:function(e,t){return zr(4194308,4,e,t)},useInsertionEffect:function(e,t){return zr(4,2,e,t)},useMemo:function(e,t){var n=Sr();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var s=Sr();return t=void 0!==n?n(t):t,s.memoizedState=s.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},s.queue=e,e=e.dispatch=ti.bind(null,hr,e),[s.memoizedState,e]},useRef:function(e){return e={current:e},Sr().memoizedState=e},useState:Br,useDebugValue:Kr,useDeferredValue:function(e){return Sr().memoizedState=e},useTransition:function(){var e=Br(!1),t=e[0];return e=Jr.bind(null,e[1]),Sr().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var s=hr,o=Sr();if(aa){if(void 0===n)throw Error(a(407));n=n()}else{if(n=t(),null===Ac)throw Error(a(349));30&br||Rr(s,t,n)}o.memoizedState=n;var r={value:n,getSnapshot:t};return o.queue=r,$r(Zr.bind(null,s,r,e),[e]),s.flags|=2048,Ir(9,Nr.bind(null,s,r,n,t),void 0,null),n},useId:function(){var e=Sr(),t=Ac.identifierPrefix;if(aa){var n=Xo;t=":"+t+"R"+(n=(Qo&~(1<<32-rt(Qo)-1)).toString(32)+n),0<(n=kr++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=xr++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},ci={readContext:Sa,useCallback:Yr,useContext:Sa,useEffect:Hr,useImperativeHandle:Gr,useInsertionEffect:Vr,useLayoutEffect:Ur,useMemo:Qr,useReducer:Lr,useRef:Fr,useState:function(){return Lr(Er)},useDebugValue:Kr,useDeferredValue:function(e){return Xr(Mr(),mr.memoizedState,e)},useTransition:function(){return[Lr(Er)[0],Mr().memoizedState]},useMutableSource:Tr,useSyncExternalStore:Pr,useId:ei,unstable_isNewReconciler:!1},li={readContext:Sa,useCallback:Yr,useContext:Sa,useEffect:Hr,useImperativeHandle:Gr,useInsertionEffect:Vr,useLayoutEffect:Ur,useMemo:Qr,useReducer:Ar,useRef:Fr,useState:function(){return Ar(Er)},useDebugValue:Kr,useDeferredValue:function(e){var t=Mr();return null===mr?t.memoizedState=e:Xr(t,mr.memoizedState,e)},useTransition:function(){return[Ar(Er)[0],Mr().memoizedState]},useMutableSource:Tr,useSyncExternalStore:Pr,useId:ei,unstable_isNewReconciler:!1};function di(e,t){try{var n="",s=t;do{n+=z(s),s=s.return}while(s);var o=n}catch(a){o="\nError generating stack: "+a.message+"\n"+a.stack}return{value:e,source:t,stack:o,digest:null}}function ui(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function pi(e,t){try{console.error(t.value)}catch(n){setTimeout((function(){throw n}))}}var fi="function"==typeof WeakMap?WeakMap:Map;function bi(e,t,n){(n=Na(-1,n)).tag=3,n.payload={element:null};var s=t.value;return n.callback=function(){Vc||(Vc=!0,Uc=s),pi(0,t)},n}function hi(e,t,n){(n=Na(-1,n)).tag=3;var s=e.type.getDerivedStateFromError;if("function"==typeof s){var o=t.value;n.payload=function(){return s(o)},n.callback=function(){pi(0,t)}}var a=e.stateNode;return null!==a&&"function"==typeof a.componentDidCatch&&(n.callback=function(){pi(0,t),"function"!=typeof s&&(null===qc?qc=new Set([this]):qc.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function mi(e,t,n){var s=e.pingCache;if(null===s){s=e.pingCache=new fi;var o=new Set;s.set(t,o)}else void 0===(o=s.get(t))&&(o=new Set,s.set(t,o));o.has(n)||(o.add(n),e=Sl.bind(null,e,t,n),t.then(e,e))}function gi(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function vi(e,t,n,s,o){return 1&e.mode?(e.flags|=65536,e.lanes=o,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=Na(-1,1)).tag=2,Za(n,t,1))),n.lanes|=1),e)}var yi=k.ReactCurrentOwner,ki=!1;function xi(e,t,n,s){t.child=null===e?Xa(t,null,n,s):Qa(t,e.child,n,s)}function wi(e,t,n,s,o){n=n.render;var a=t.ref;return Ca(t,o),s=jr(e,t,n,s,a,o),n=Cr(),null===e||ki?(aa&&n&&ta(t),t.flags|=1,xi(e,t,s,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Vi(e,t,o))}function _i(e,t,n,s,o){if(null===e){var a=n.type;return"function"!=typeof a||Rl(a)||void 0!==a.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Zl(n.type,null,s,t,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=a,ji(e,t,a,s,o))}if(a=e.child,!(e.lanes&o)){var r=a.memoizedProps;if((n=null!==(n=n.compare)?n:cs)(r,s)&&e.ref===t.ref)return Vi(e,t,o)}return t.flags|=1,(e=Nl(a,s)).ref=t.ref,e.return=t,t.child=e}function ji(e,t,n,s,o){if(null!==e){var a=e.memoizedProps;if(cs(a,s)&&e.ref===t.ref){if(ki=!1,t.pendingProps=s=a,!(e.lanes&o))return t.lanes=e.lanes,Vi(e,t,o);131072&e.flags&&(ki=!0)}}return Mi(e,t,n,s,o)}function Ci(e,t,n){var s=t.pendingProps,o=s.children,a=null!==e?e.memoizedState:null;if("hidden"===s.mode)if(1&t.mode){if(!(1073741824&n))return e=null!==a?a.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Mo(Nc,Rc),Rc|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},s=null!==a?a.baseLanes:n,Mo(Nc,Rc),Rc|=s}else t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Mo(Nc,Rc),Rc|=n;else null!==a?(s=a.baseLanes|n,t.memoizedState=null):s=n,Mo(Nc,Rc),Rc|=s;return xi(e,t,o,n),t.child}function Si(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Mi(e,t,n,s,o){var a=Ro(n)?To:Lo.current;return a=Po(t,a),Ca(t,o),n=jr(e,t,n,s,a,o),s=Cr(),null===e||ki?(aa&&s&&ta(t),t.flags|=1,xi(e,t,n,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Vi(e,t,o))}function Ei(e,t,n,s,o){if(Ro(n)){var a=!0;Do(t)}else a=!1;if(Ca(t,o),null===t.stateNode)Hi(e,t),Ha(t,n,s),Ua(t,n,s,o),s=!0;else if(null===e){var r=t.stateNode,i=t.memoizedProps;r.props=i;var c=r.context,l=n.contextType;"object"==typeof l&&null!==l?l=Sa(l):l=Po(t,l=Ro(n)?To:Lo.current);var d=n.getDerivedStateFromProps,u="function"==typeof d||"function"==typeof r.getSnapshotBeforeUpdate;u||"function"!=typeof r.UNSAFE_componentWillReceiveProps&&"function"!=typeof r.componentWillReceiveProps||(i!==s||c!==l)&&Va(t,r,s,l),Ta=!1;var p=t.memoizedState;r.state=p,Ba(t,s,r,o),c=t.memoizedState,i!==s||p!==c||Ao.current||Ta?("function"==typeof d&&(za(t,n,d,s),c=t.memoizedState),(i=Ta||$a(t,n,i,s,p,c,l))?(u||"function"!=typeof r.UNSAFE_componentWillMount&&"function"!=typeof r.componentWillMount||("function"==typeof r.componentWillMount&&r.componentWillMount(),"function"==typeof r.UNSAFE_componentWillMount&&r.UNSAFE_componentWillMount()),"function"==typeof r.componentDidMount&&(t.flags|=4194308)):("function"==typeof r.componentDidMount&&(t.flags|=4194308),t.memoizedProps=s,t.memoizedState=c),r.props=s,r.state=c,r.context=l,s=i):("function"==typeof r.componentDidMount&&(t.flags|=4194308),s=!1)}else{r=t.stateNode,Ra(e,t),i=t.memoizedProps,l=t.type===t.elementType?i:ga(t.type,i),r.props=l,u=t.pendingProps,p=r.context,"object"==typeof(c=n.contextType)&&null!==c?c=Sa(c):c=Po(t,c=Ro(n)?To:Lo.current);var f=n.getDerivedStateFromProps;(d="function"==typeof f||"function"==typeof r.getSnapshotBeforeUpdate)||"function"!=typeof r.UNSAFE_componentWillReceiveProps&&"function"!=typeof r.componentWillReceiveProps||(i!==u||p!==c)&&Va(t,r,s,c),Ta=!1,p=t.memoizedState,r.state=p,Ba(t,s,r,o);var b=t.memoizedState;i!==u||p!==b||Ao.current||Ta?("function"==typeof f&&(za(t,n,f,s),b=t.memoizedState),(l=Ta||$a(t,n,l,s,p,b,c)||!1)?(d||"function"!=typeof r.UNSAFE_componentWillUpdate&&"function"!=typeof r.componentWillUpdate||("function"==typeof r.componentWillUpdate&&r.componentWillUpdate(s,b,c),"function"==typeof r.UNSAFE_componentWillUpdate&&r.UNSAFE_componentWillUpdate(s,b,c)),"function"==typeof r.componentDidUpdate&&(t.flags|=4),"function"==typeof r.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof r.componentDidUpdate||i===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof r.getSnapshotBeforeUpdate||i===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=s,t.memoizedState=b),r.props=s,r.state=b,r.context=c,s=l):("function"!=typeof r.componentDidUpdate||i===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof r.getSnapshotBeforeUpdate||i===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),s=!1)}return Li(e,t,n,s,a,o)}function Li(e,t,n,s,o,a){Si(e,t);var r=!!(128&t.flags);if(!s&&!r)return o&&Bo(t,n,!1),Vi(e,t,a);s=t.stateNode,yi.current=t;var i=r&&"function"!=typeof n.getDerivedStateFromError?null:s.render();return t.flags|=1,null!==e&&r?(t.child=Qa(t,e.child,null,a),t.child=Qa(t,null,i,a)):xi(e,t,i,a),t.memoizedState=s.state,o&&Bo(t,n,!0),t.child}function Ai(e){var t=e.stateNode;t.pendingContext?Zo(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Zo(0,t.context,!1),or(e,t.containerInfo)}function Ti(e,t,n,s,o){return ba(),ha(o),t.flags|=256,xi(e,t,n,s),t.child}var Pi,Ri,Ni,Zi,Oi={dehydrated:null,treeContext:null,retryLane:0};function Di(e){return{baseLanes:e,cachePool:null,transitions:null}}function Bi(e,t,n){var s,o=t.pendingProps,r=cr.current,i=!1,c=!!(128&t.flags);if((s=c)||(s=(null===e||null!==e.memoizedState)&&!!(2&r)),s?(i=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(r|=1),Mo(cr,1&r),null===e)return da(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(1&t.mode?"$!"===e.data?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(c=o.children,e=o.fallback,i?(o=t.mode,i=t.child,c={mode:"hidden",children:c},1&o||null===i?i=Dl(c,o,0,null):(i.childLanes=0,i.pendingProps=c),e=Ol(e,o,n,null),i.return=t,e.return=t,i.sibling=e,t.child=i,t.child.memoizedState=Di(n),t.memoizedState=Oi,e):Ii(t,c));if(null!==(r=e.memoizedState)&&null!==(s=r.dehydrated))return function(e,t,n,s,o,r,i){if(n)return 256&t.flags?(t.flags&=-257,Fi(e,t,i,s=ui(Error(a(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(r=s.fallback,o=t.mode,s=Dl({mode:"visible",children:s.children},o,0,null),(r=Ol(r,o,i,null)).flags|=2,s.return=t,r.return=t,s.sibling=r,t.child=s,1&t.mode&&Qa(t,e.child,null,i),t.child.memoizedState=Di(i),t.memoizedState=Oi,r);if(!(1&t.mode))return Fi(e,t,i,null);if("$!"===o.data){if(s=o.nextSibling&&o.nextSibling.dataset)var c=s.dgst;return s=c,Fi(e,t,i,s=ui(r=Error(a(419)),s,void 0))}if(c=!!(i&e.childLanes),ki||c){if(null!==(s=Ac)){switch(i&-i){case 4:o=2;break;case 16:o=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}0!==(o=o&(s.suspendedLanes|i)?0:o)&&o!==r.retryLane&&(r.retryLane=o,Aa(e,o),sl(s,e,o,-1))}return ml(),Fi(e,t,i,s=ui(Error(a(421))))}return"$?"===o.data?(t.flags|=128,t.child=e.child,t=El.bind(null,e),o._reactRetry=t,null):(e=r.treeContext,oa=lo(o.nextSibling),sa=t,aa=!0,ra=null,null!==e&&(Go[Ko++]=Qo,Go[Ko++]=Xo,Go[Ko++]=Yo,Qo=e.id,Xo=e.overflow,Yo=t),t=Ii(t,s.children),t.flags|=4096,t)}(e,t,c,o,s,r,n);if(i){i=o.fallback,c=t.mode,s=(r=e.child).sibling;var l={mode:"hidden",children:o.children};return 1&c||t.child===r?(o=Nl(r,l)).subtreeFlags=14680064&r.subtreeFlags:((o=t.child).childLanes=0,o.pendingProps=l,t.deletions=null),null!==s?i=Nl(s,i):(i=Ol(i,c,n,null)).flags|=2,i.return=t,o.return=t,o.sibling=i,t.child=o,o=i,i=t.child,c=null===(c=e.child.memoizedState)?Di(n):{baseLanes:c.baseLanes|n,cachePool:null,transitions:c.transitions},i.memoizedState=c,i.childLanes=e.childLanes&~n,t.memoizedState=Oi,o}return e=(i=e.child).sibling,o=Nl(i,{mode:"visible",children:o.children}),!(1&t.mode)&&(o.lanes=n),o.return=t,o.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=o,t.memoizedState=null,o}function Ii(e,t){return(t=Dl({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function Fi(e,t,n,s){return null!==s&&ha(s),Qa(t,e.child,null,n),(e=Ii(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function zi(e,t,n){e.lanes|=t;var s=e.alternate;null!==s&&(s.lanes|=t),ja(e.return,t,n)}function Wi(e,t,n,s,o){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:s,tail:n,tailMode:o}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=s,a.tail=n,a.tailMode=o)}function $i(e,t,n){var s=t.pendingProps,o=s.revealOrder,a=s.tail;if(xi(e,t,s.children,n),2&(s=cr.current))s=1&s|2,t.flags|=128;else{if(null!==e&&128&e.flags)e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&zi(e,n,t);else if(19===e.tag)zi(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}s&=1}if(Mo(cr,s),1&t.mode)switch(o){case"forwards":for(n=t.child,o=null;null!==n;)null!==(e=n.alternate)&&null===lr(e)&&(o=n),n=n.sibling;null===(n=o)?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),Wi(t,!1,o,n,a);break;case"backwards":for(n=null,o=t.child,t.child=null;null!==o;){if(null!==(e=o.alternate)&&null===lr(e)){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}Wi(t,!0,n,null,a);break;case"together":Wi(t,!1,null,null,void 0);break;default:t.memoizedState=null}else t.memoizedState=null;return t.child}function Hi(e,t){!(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Vi(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Dc|=t.lanes,!(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(a(153));if(null!==t.child){for(n=Nl(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Nl(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Ui(e,t){if(!aa)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var s=null;null!==n;)null!==n.alternate&&(s=n),n=n.sibling;null===s?t||null===e.tail?e.tail=null:e.tail.sibling=null:s.sibling=null}}function qi(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,s=0;if(t)for(var o=e.child;null!==o;)n|=o.lanes|o.childLanes,s|=14680064&o.subtreeFlags,s|=14680064&o.flags,o.return=e,o=o.sibling;else for(o=e.child;null!==o;)n|=o.lanes|o.childLanes,s|=o.subtreeFlags,s|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=s,e.childLanes=n,t}function Gi(e,t,n){var s=t.pendingProps;switch(na(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return qi(t),null;case 1:case 17:return Ro(t.type)&&No(),qi(t),null;case 3:return s=t.stateNode,ar(),So(Ao),So(Lo),ur(),s.pendingContext&&(s.context=s.pendingContext,s.pendingContext=null),null!==e&&null!==e.child||(pa(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&!(256&t.flags)||(t.flags|=1024,null!==ra&&(il(ra),ra=null))),Ri(e,t),qi(t),null;case 5:ir(t);var o=sr(nr.current);if(n=t.type,null!==e&&null!=t.stateNode)Ni(e,t,n,s,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!s){if(null===t.stateNode)throw Error(a(166));return qi(t),null}if(e=sr(er.current),pa(t)){s=t.stateNode,n=t.type;var r=t.memoizedProps;switch(s[fo]=t,s[bo]=r,e=!!(1&t.mode),n){case"dialog":Is("cancel",s),Is("close",s);break;case"iframe":case"object":case"embed":Is("load",s);break;case"video":case"audio":for(o=0;o<Zs.length;o++)Is(Zs[o],s);break;case"source":Is("error",s);break;case"img":case"image":case"link":Is("error",s),Is("load",s);break;case"details":Is("toggle",s);break;case"input":Y(s,r),Is("invalid",s);break;case"select":s._wrapperState={wasMultiple:!!r.multiple},Is("invalid",s);break;case"textarea":oe(s,r),Is("invalid",s)}for(var c in ve(n,r),o=null,r)if(r.hasOwnProperty(c)){var l=r[c];"children"===c?"string"==typeof l?s.textContent!==l&&(!0!==r.suppressHydrationWarning&&Xs(s.textContent,l,e),o=["children",l]):"number"==typeof l&&s.textContent!==""+l&&(!0!==r.suppressHydrationWarning&&Xs(s.textContent,l,e),o=["children",""+l]):i.hasOwnProperty(c)&&null!=l&&"onScroll"===c&&Is("scroll",s)}switch(n){case"input":U(s),J(s,r,!0);break;case"textarea":U(s),re(s);break;case"select":case"option":break;default:"function"==typeof r.onClick&&(s.onclick=Js)}s=o,t.updateQueue=s,null!==s&&(t.flags|=4)}else{c=9===o.nodeType?o:o.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=ie(n)),"http://www.w3.org/1999/xhtml"===e?"script"===n?((e=c.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof s.is?e=c.createElement(n,{is:s.is}):(e=c.createElement(n),"select"===n&&(c=e,s.multiple?c.multiple=!0:s.size&&(c.size=s.size))):e=c.createElementNS(e,n),e[fo]=t,e[bo]=s,Pi(e,t,!1,!1),t.stateNode=e;e:{switch(c=ye(n,s),n){case"dialog":Is("cancel",e),Is("close",e),o=s;break;case"iframe":case"object":case"embed":Is("load",e),o=s;break;case"video":case"audio":for(o=0;o<Zs.length;o++)Is(Zs[o],e);o=s;break;case"source":Is("error",e),o=s;break;case"img":case"image":case"link":Is("error",e),Is("load",e),o=s;break;case"details":Is("toggle",e),o=s;break;case"input":Y(e,s),o=K(e,s),Is("invalid",e);break;case"option":default:o=s;break;case"select":e._wrapperState={wasMultiple:!!s.multiple},o=D({},s,{value:void 0}),Is("invalid",e);break;case"textarea":oe(e,s),o=se(e,s),Is("invalid",e)}for(r in ve(n,o),l=o)if(l.hasOwnProperty(r)){var d=l[r];"style"===r?me(e,d):"dangerouslySetInnerHTML"===r?null!=(d=d?d.__html:void 0)&&ue(e,d):"children"===r?"string"==typeof d?("textarea"!==n||""!==d)&&pe(e,d):"number"==typeof d&&pe(e,""+d):"suppressContentEditableWarning"!==r&&"suppressHydrationWarning"!==r&&"autoFocus"!==r&&(i.hasOwnProperty(r)?null!=d&&"onScroll"===r&&Is("scroll",e):null!=d&&y(e,r,d,c))}switch(n){case"input":U(e),J(e,s,!1);break;case"textarea":U(e),re(e);break;case"option":null!=s.value&&e.setAttribute("value",""+H(s.value));break;case"select":e.multiple=!!s.multiple,null!=(r=s.value)?ne(e,!!s.multiple,r,!1):null!=s.defaultValue&&ne(e,!!s.multiple,s.defaultValue,!0);break;default:"function"==typeof o.onClick&&(e.onclick=Js)}switch(n){case"button":case"input":case"select":case"textarea":s=!!s.autoFocus;break e;case"img":s=!0;break e;default:s=!1}}s&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return qi(t),null;case 6:if(e&&null!=t.stateNode)Zi(e,t,e.memoizedProps,s);else{if("string"!=typeof s&&null===t.stateNode)throw Error(a(166));if(n=sr(nr.current),sr(er.current),pa(t)){if(s=t.stateNode,n=t.memoizedProps,s[fo]=t,(r=s.nodeValue!==n)&&null!==(e=sa))switch(e.tag){case 3:Xs(s.nodeValue,n,!!(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Xs(s.nodeValue,n,!!(1&e.mode))}r&&(t.flags|=4)}else(s=(9===n.nodeType?n:n.ownerDocument).createTextNode(s))[fo]=t,t.stateNode=s}return qi(t),null;case 13:if(So(cr),s=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(aa&&null!==oa&&1&t.mode&&!(128&t.flags))fa(),ba(),t.flags|=98560,r=!1;else if(r=pa(t),null!==s&&null!==s.dehydrated){if(null===e){if(!r)throw Error(a(318));if(!(r=null!==(r=t.memoizedState)?r.dehydrated:null))throw Error(a(317));r[fo]=t}else ba(),!(128&t.flags)&&(t.memoizedState=null),t.flags|=4;qi(t),r=!1}else null!==ra&&(il(ra),ra=null),r=!0;if(!r)return 65536&t.flags?t:null}return 128&t.flags?(t.lanes=n,t):((s=null!==s)!==(null!==e&&null!==e.memoizedState)&&s&&(t.child.flags|=8192,1&t.mode&&(null===e||1&cr.current?0===Zc&&(Zc=3):ml())),null!==t.updateQueue&&(t.flags|=4),qi(t),null);case 4:return ar(),Ri(e,t),null===e&&Ws(t.stateNode.containerInfo),qi(t),null;case 10:return _a(t.type._context),qi(t),null;case 19:if(So(cr),null===(r=t.memoizedState))return qi(t),null;if(s=!!(128&t.flags),null===(c=r.rendering))if(s)Ui(r,!1);else{if(0!==Zc||null!==e&&128&e.flags)for(e=t.child;null!==e;){if(null!==(c=lr(e))){for(t.flags|=128,Ui(r,!1),null!==(s=c.updateQueue)&&(t.updateQueue=s,t.flags|=4),t.subtreeFlags=0,s=n,n=t.child;null!==n;)e=s,(r=n).flags&=14680066,null===(c=r.alternate)?(r.childLanes=0,r.lanes=e,r.child=null,r.subtreeFlags=0,r.memoizedProps=null,r.memoizedState=null,r.updateQueue=null,r.dependencies=null,r.stateNode=null):(r.childLanes=c.childLanes,r.lanes=c.lanes,r.child=c.child,r.subtreeFlags=0,r.deletions=null,r.memoizedProps=c.memoizedProps,r.memoizedState=c.memoizedState,r.updateQueue=c.updateQueue,r.type=c.type,e=c.dependencies,r.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return Mo(cr,1&cr.current|2),t.child}e=e.sibling}null!==r.tail&&Qe()>$c&&(t.flags|=128,s=!0,Ui(r,!1),t.lanes=4194304)}else{if(!s)if(null!==(e=lr(c))){if(t.flags|=128,s=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),Ui(r,!0),null===r.tail&&"hidden"===r.tailMode&&!c.alternate&&!aa)return qi(t),null}else 2*Qe()-r.renderingStartTime>$c&&1073741824!==n&&(t.flags|=128,s=!0,Ui(r,!1),t.lanes=4194304);r.isBackwards?(c.sibling=t.child,t.child=c):(null!==(n=r.last)?n.sibling=c:t.child=c,r.last=c)}return null!==r.tail?(t=r.tail,r.rendering=t,r.tail=t.sibling,r.renderingStartTime=Qe(),t.sibling=null,n=cr.current,Mo(cr,s?1&n|2:1&n),t):(qi(t),null);case 22:case 23:return pl(),s=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==s&&(t.flags|=8192),s&&1&t.mode?!!(1073741824&Rc)&&(qi(t),6&t.subtreeFlags&&(t.flags|=8192)):qi(t),null;case 24:case 25:return null}throw Error(a(156,t.tag))}function Ki(e,t){switch(na(t),t.tag){case 1:return Ro(t.type)&&No(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return ar(),So(Ao),So(Lo),ur(),65536&(e=t.flags)&&!(128&e)?(t.flags=-65537&e|128,t):null;case 5:return ir(t),null;case 13:if(So(cr),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(a(340));ba()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return So(cr),null;case 4:return ar(),null;case 10:return _a(t.type._context),null;case 22:case 23:return pl(),null;default:return null}}Pi=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Ri=function(){},Ni=function(e,t,n,s){var o=e.memoizedProps;if(o!==s){e=t.stateNode,sr(er.current);var a,r=null;switch(n){case"input":o=K(e,o),s=K(e,s),r=[];break;case"select":o=D({},o,{value:void 0}),s=D({},s,{value:void 0}),r=[];break;case"textarea":o=se(e,o),s=se(e,s),r=[];break;default:"function"!=typeof o.onClick&&"function"==typeof s.onClick&&(e.onclick=Js)}for(d in ve(n,s),n=null,o)if(!s.hasOwnProperty(d)&&o.hasOwnProperty(d)&&null!=o[d])if("style"===d){var c=o[d];for(a in c)c.hasOwnProperty(a)&&(n||(n={}),n[a]="")}else"dangerouslySetInnerHTML"!==d&&"children"!==d&&"suppressContentEditableWarning"!==d&&"suppressHydrationWarning"!==d&&"autoFocus"!==d&&(i.hasOwnProperty(d)?r||(r=[]):(r=r||[]).push(d,null));for(d in s){var l=s[d];if(c=null!=o?o[d]:void 0,s.hasOwnProperty(d)&&l!==c&&(null!=l||null!=c))if("style"===d)if(c){for(a in c)!c.hasOwnProperty(a)||l&&l.hasOwnProperty(a)||(n||(n={}),n[a]="");for(a in l)l.hasOwnProperty(a)&&c[a]!==l[a]&&(n||(n={}),n[a]=l[a])}else n||(r||(r=[]),r.push(d,n)),n=l;else"dangerouslySetInnerHTML"===d?(l=l?l.__html:void 0,c=c?c.__html:void 0,null!=l&&c!==l&&(r=r||[]).push(d,l)):"children"===d?"string"!=typeof l&&"number"!=typeof l||(r=r||[]).push(d,""+l):"suppressContentEditableWarning"!==d&&"suppressHydrationWarning"!==d&&(i.hasOwnProperty(d)?(null!=l&&"onScroll"===d&&Is("scroll",e),r||c===l||(r=[])):(r=r||[]).push(d,l))}n&&(r=r||[]).push("style",n);var d=r;(t.updateQueue=d)&&(t.flags|=4)}},Zi=function(e,t,n,s){n!==s&&(t.flags|=4)};var Yi=!1,Qi=!1,Xi="function"==typeof WeakSet?WeakSet:Set,Ji=null;function ec(e,t){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(s){Cl(e,t,s)}else n.current=null}function tc(e,t,n){try{n()}catch(s){Cl(e,t,s)}}var nc=!1;function sc(e,t,n){var s=t.updateQueue;if(null!==(s=null!==s?s.lastEffect:null)){var o=s=s.next;do{if((o.tag&e)===e){var a=o.destroy;o.destroy=void 0,void 0!==a&&tc(t,n,a)}o=o.next}while(o!==s)}}function oc(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var s=n.create;n.destroy=s()}n=n.next}while(n!==t)}}function ac(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"==typeof t?t(e):t.current=e}}function rc(e){var t=e.alternate;null!==t&&(e.alternate=null,rc(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[fo],delete t[bo],delete t[mo],delete t[go],delete t[vo])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function ic(e){return 5===e.tag||3===e.tag||4===e.tag}function cc(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||ic(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function lc(e,t,n){var s=e.tag;if(5===s||6===s)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=Js));else if(4!==s&&null!==(e=e.child))for(lc(e,t,n),e=e.sibling;null!==e;)lc(e,t,n),e=e.sibling}function dc(e,t,n){var s=e.tag;if(5===s||6===s)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==s&&null!==(e=e.child))for(dc(e,t,n),e=e.sibling;null!==e;)dc(e,t,n),e=e.sibling}var uc=null,pc=!1;function fc(e,t,n){for(n=n.child;null!==n;)bc(e,t,n),n=n.sibling}function bc(e,t,n){if(at&&"function"==typeof at.onCommitFiberUnmount)try{at.onCommitFiberUnmount(ot,n)}catch(i){}switch(n.tag){case 5:Qi||ec(n,t);case 6:var s=uc,o=pc;uc=null,fc(e,t,n),pc=o,null!==(uc=s)&&(pc?(e=uc,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):uc.removeChild(n.stateNode));break;case 18:null!==uc&&(pc?(e=uc,n=n.stateNode,8===e.nodeType?co(e.parentNode,n):1===e.nodeType&&co(e,n),Wt(e)):co(uc,n.stateNode));break;case 4:s=uc,o=pc,uc=n.stateNode.containerInfo,pc=!0,fc(e,t,n),uc=s,pc=o;break;case 0:case 11:case 14:case 15:if(!Qi&&(null!==(s=n.updateQueue)&&null!==(s=s.lastEffect))){o=s=s.next;do{var a=o,r=a.destroy;a=a.tag,void 0!==r&&(2&a||4&a)&&tc(n,t,r),o=o.next}while(o!==s)}fc(e,t,n);break;case 1:if(!Qi&&(ec(n,t),"function"==typeof(s=n.stateNode).componentWillUnmount))try{s.props=n.memoizedProps,s.state=n.memoizedState,s.componentWillUnmount()}catch(i){Cl(n,t,i)}fc(e,t,n);break;case 21:fc(e,t,n);break;case 22:1&n.mode?(Qi=(s=Qi)||null!==n.memoizedState,fc(e,t,n),Qi=s):fc(e,t,n);break;default:fc(e,t,n)}}function hc(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Xi),t.forEach((function(t){var s=Ll.bind(null,e,t);n.has(t)||(n.add(t),t.then(s,s))}))}}function mc(e,t){var n=t.deletions;if(null!==n)for(var s=0;s<n.length;s++){var o=n[s];try{var r=e,i=t,c=i;e:for(;null!==c;){switch(c.tag){case 5:uc=c.stateNode,pc=!1;break e;case 3:case 4:uc=c.stateNode.containerInfo,pc=!0;break e}c=c.return}if(null===uc)throw Error(a(160));bc(r,i,o),uc=null,pc=!1;var l=o.alternate;null!==l&&(l.return=null),o.return=null}catch(d){Cl(o,t,d)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)gc(t,e),t=t.sibling}function gc(e,t){var n=e.alternate,s=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(mc(t,e),vc(e),4&s){try{sc(3,e,e.return),oc(3,e)}catch(m){Cl(e,e.return,m)}try{sc(5,e,e.return)}catch(m){Cl(e,e.return,m)}}break;case 1:mc(t,e),vc(e),512&s&&null!==n&&ec(n,n.return);break;case 5:if(mc(t,e),vc(e),512&s&&null!==n&&ec(n,n.return),32&e.flags){var o=e.stateNode;try{pe(o,"")}catch(m){Cl(e,e.return,m)}}if(4&s&&null!=(o=e.stateNode)){var r=e.memoizedProps,i=null!==n?n.memoizedProps:r,c=e.type,l=e.updateQueue;if(e.updateQueue=null,null!==l)try{"input"===c&&"radio"===r.type&&null!=r.name&&Q(o,r),ye(c,i);var d=ye(c,r);for(i=0;i<l.length;i+=2){var u=l[i],p=l[i+1];"style"===u?me(o,p):"dangerouslySetInnerHTML"===u?ue(o,p):"children"===u?pe(o,p):y(o,u,p,d)}switch(c){case"input":X(o,r);break;case"textarea":ae(o,r);break;case"select":var f=o._wrapperState.wasMultiple;o._wrapperState.wasMultiple=!!r.multiple;var b=r.value;null!=b?ne(o,!!r.multiple,b,!1):f!==!!r.multiple&&(null!=r.defaultValue?ne(o,!!r.multiple,r.defaultValue,!0):ne(o,!!r.multiple,r.multiple?[]:"",!1))}o[bo]=r}catch(m){Cl(e,e.return,m)}}break;case 6:if(mc(t,e),vc(e),4&s){if(null===e.stateNode)throw Error(a(162));o=e.stateNode,r=e.memoizedProps;try{o.nodeValue=r}catch(m){Cl(e,e.return,m)}}break;case 3:if(mc(t,e),vc(e),4&s&&null!==n&&n.memoizedState.isDehydrated)try{Wt(t.containerInfo)}catch(m){Cl(e,e.return,m)}break;case 4:default:mc(t,e),vc(e);break;case 13:mc(t,e),vc(e),8192&(o=e.child).flags&&(r=null!==o.memoizedState,o.stateNode.isHidden=r,!r||null!==o.alternate&&null!==o.alternate.memoizedState||(Wc=Qe())),4&s&&hc(e);break;case 22:if(u=null!==n&&null!==n.memoizedState,1&e.mode?(Qi=(d=Qi)||u,mc(t,e),Qi=d):mc(t,e),vc(e),8192&s){if(d=null!==e.memoizedState,(e.stateNode.isHidden=d)&&!u&&1&e.mode)for(Ji=e,u=e.child;null!==u;){for(p=Ji=u;null!==Ji;){switch(b=(f=Ji).child,f.tag){case 0:case 11:case 14:case 15:sc(4,f,f.return);break;case 1:ec(f,f.return);var h=f.stateNode;if("function"==typeof h.componentWillUnmount){s=f,n=f.return;try{t=s,h.props=t.memoizedProps,h.state=t.memoizedState,h.componentWillUnmount()}catch(m){Cl(s,n,m)}}break;case 5:ec(f,f.return);break;case 22:if(null!==f.memoizedState){wc(p);continue}}null!==b?(b.return=f,Ji=b):wc(p)}u=u.sibling}e:for(u=null,p=e;;){if(5===p.tag){if(null===u){u=p;try{o=p.stateNode,d?"function"==typeof(r=o.style).setProperty?r.setProperty("display","none","important"):r.display="none":(c=p.stateNode,i=null!=(l=p.memoizedProps.style)&&l.hasOwnProperty("display")?l.display:null,c.style.display=he("display",i))}catch(m){Cl(e,e.return,m)}}}else if(6===p.tag){if(null===u)try{p.stateNode.nodeValue=d?"":p.memoizedProps}catch(m){Cl(e,e.return,m)}}else if((22!==p.tag&&23!==p.tag||null===p.memoizedState||p===e)&&null!==p.child){p.child.return=p,p=p.child;continue}if(p===e)break e;for(;null===p.sibling;){if(null===p.return||p.return===e)break e;u===p&&(u=null),p=p.return}u===p&&(u=null),p.sibling.return=p.return,p=p.sibling}}break;case 19:mc(t,e),vc(e),4&s&&hc(e);case 21:}}function vc(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(ic(n)){var s=n;break e}n=n.return}throw Error(a(160))}switch(s.tag){case 5:var o=s.stateNode;32&s.flags&&(pe(o,""),s.flags&=-33),dc(e,cc(e),o);break;case 3:case 4:var r=s.stateNode.containerInfo;lc(e,cc(e),r);break;default:throw Error(a(161))}}catch(i){Cl(e,e.return,i)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function yc(e,t,n){Ji=e,kc(e,t,n)}function kc(e,t,n){for(var s=!!(1&e.mode);null!==Ji;){var o=Ji,a=o.child;if(22===o.tag&&s){var r=null!==o.memoizedState||Yi;if(!r){var i=o.alternate,c=null!==i&&null!==i.memoizedState||Qi;i=Yi;var l=Qi;if(Yi=r,(Qi=c)&&!l)for(Ji=o;null!==Ji;)c=(r=Ji).child,22===r.tag&&null!==r.memoizedState?_c(o):null!==c?(c.return=r,Ji=c):_c(o);for(;null!==a;)Ji=a,kc(a,t,n),a=a.sibling;Ji=o,Yi=i,Qi=l}xc(e)}else 8772&o.subtreeFlags&&null!==a?(a.return=o,Ji=a):xc(e)}}function xc(e){for(;null!==Ji;){var t=Ji;if(8772&t.flags){var n=t.alternate;try{if(8772&t.flags)switch(t.tag){case 0:case 11:case 15:Qi||oc(5,t);break;case 1:var s=t.stateNode;if(4&t.flags&&!Qi)if(null===n)s.componentDidMount();else{var o=t.elementType===t.type?n.memoizedProps:ga(t.type,n.memoizedProps);s.componentDidUpdate(o,n.memoizedState,s.__reactInternalSnapshotBeforeUpdate)}var r=t.updateQueue;null!==r&&Ia(t,r,s);break;case 3:var i=t.updateQueue;if(null!==i){if(n=null,null!==t.child)switch(t.child.tag){case 5:case 1:n=t.child.stateNode}Ia(t,i,n)}break;case 5:var c=t.stateNode;if(null===n&&4&t.flags){n=c;var l=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":l.autoFocus&&n.focus();break;case"img":l.src&&(n.src=l.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var d=t.alternate;if(null!==d){var u=d.memoizedState;if(null!==u){var p=u.dehydrated;null!==p&&Wt(p)}}}break;default:throw Error(a(163))}Qi||512&t.flags&&ac(t)}catch(f){Cl(t,t.return,f)}}if(t===e){Ji=null;break}if(null!==(n=t.sibling)){n.return=t.return,Ji=n;break}Ji=t.return}}function wc(e){for(;null!==Ji;){var t=Ji;if(t===e){Ji=null;break}var n=t.sibling;if(null!==n){n.return=t.return,Ji=n;break}Ji=t.return}}function _c(e){for(;null!==Ji;){var t=Ji;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{oc(4,t)}catch(c){Cl(t,n,c)}break;case 1:var s=t.stateNode;if("function"==typeof s.componentDidMount){var o=t.return;try{s.componentDidMount()}catch(c){Cl(t,o,c)}}var a=t.return;try{ac(t)}catch(c){Cl(t,a,c)}break;case 5:var r=t.return;try{ac(t)}catch(c){Cl(t,r,c)}}}catch(c){Cl(t,t.return,c)}if(t===e){Ji=null;break}var i=t.sibling;if(null!==i){i.return=t.return,Ji=i;break}Ji=t.return}}var jc,Cc=Math.ceil,Sc=k.ReactCurrentDispatcher,Mc=k.ReactCurrentOwner,Ec=k.ReactCurrentBatchConfig,Lc=0,Ac=null,Tc=null,Pc=0,Rc=0,Nc=Co(0),Zc=0,Oc=null,Dc=0,Bc=0,Ic=0,Fc=null,zc=null,Wc=0,$c=1/0,Hc=null,Vc=!1,Uc=null,qc=null,Gc=!1,Kc=null,Yc=0,Qc=0,Xc=null,Jc=-1,el=0;function tl(){return 6&Lc?Qe():-1!==Jc?Jc:Jc=Qe()}function nl(e){return 1&e.mode?2&Lc&&0!==Pc?Pc&-Pc:null!==ma.transition?(0===el&&(el=ht()),el):0!==(e=yt)?e:e=void 0===(e=window.event)?16:Yt(e.type):1}function sl(e,t,n,s){if(50<Qc)throw Qc=0,Xc=null,Error(a(185));gt(e,n,s),2&Lc&&e===Ac||(e===Ac&&(!(2&Lc)&&(Bc|=n),4===Zc&&cl(e,Pc)),ol(e,s),1===n&&0===Lc&&!(1&t.mode)&&($c=Qe()+500,Fo&&$o()))}function ol(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,s=e.pingedLanes,o=e.expirationTimes,a=e.pendingLanes;0<a;){var r=31-rt(a),i=1<<r,c=o[r];-1===c?i&n&&!(i&s)||(o[r]=ft(i,t)):c<=t&&(e.expiredLanes|=i),a&=~i}}(e,t);var s=pt(e,e===Ac?Pc:0);if(0===s)null!==n&&Ge(n),e.callbackNode=null,e.callbackPriority=0;else if(t=s&-s,e.callbackPriority!==t){if(null!=n&&Ge(n),1===t)0===e.tag?function(e){Fo=!0,Wo(e)}(ll.bind(null,e)):Wo(ll.bind(null,e)),ro((function(){!(6&Lc)&&$o()})),n=null;else{switch(kt(s)){case 1:n=Je;break;case 4:n=et;break;case 16:default:n=tt;break;case 536870912:n=st}n=Al(n,al.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function al(e,t){if(Jc=-1,el=0,6&Lc)throw Error(a(327));var n=e.callbackNode;if(_l()&&e.callbackNode!==n)return null;var s=pt(e,e===Ac?Pc:0);if(0===s)return null;if(30&s||s&e.expiredLanes||t)t=gl(e,s);else{t=s;var o=Lc;Lc|=2;var r=hl();for(Ac===e&&Pc===t||(Hc=null,$c=Qe()+500,fl(e,t));;)try{yl();break}catch(c){bl(e,c)}wa(),Sc.current=r,Lc=o,null!==Tc?t=0:(Ac=null,Pc=0,t=Zc)}if(0!==t){if(2===t&&(0!==(o=bt(e))&&(s=o,t=rl(e,o))),1===t)throw n=Oc,fl(e,0),cl(e,s),ol(e,Qe()),n;if(6===t)cl(e,s);else{if(o=e.current.alternate,!(30&s||function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var s=0;s<n.length;s++){var o=n[s],a=o.getSnapshot;o=o.value;try{if(!is(a(),o))return!1}catch(i){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(o)||(t=gl(e,s),2===t&&(r=bt(e),0!==r&&(s=r,t=rl(e,r))),1!==t)))throw n=Oc,fl(e,0),cl(e,s),ol(e,Qe()),n;switch(e.finishedWork=o,e.finishedLanes=s,t){case 0:case 1:throw Error(a(345));case 2:case 5:wl(e,zc,Hc);break;case 3:if(cl(e,s),(130023424&s)===s&&10<(t=Wc+500-Qe())){if(0!==pt(e,0))break;if(((o=e.suspendedLanes)&s)!==s){tl(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=so(wl.bind(null,e,zc,Hc),t);break}wl(e,zc,Hc);break;case 4:if(cl(e,s),(4194240&s)===s)break;for(t=e.eventTimes,o=-1;0<s;){var i=31-rt(s);r=1<<i,(i=t[i])>o&&(o=i),s&=~r}if(s=o,10<(s=(120>(s=Qe()-s)?120:480>s?480:1080>s?1080:1920>s?1920:3e3>s?3e3:4320>s?4320:1960*Cc(s/1960))-s)){e.timeoutHandle=so(wl.bind(null,e,zc,Hc),s);break}wl(e,zc,Hc);break;default:throw Error(a(329))}}}return ol(e,Qe()),e.callbackNode===n?al.bind(null,e):null}function rl(e,t){var n=Fc;return e.current.memoizedState.isDehydrated&&(fl(e,t).flags|=256),2!==(e=gl(e,t))&&(t=zc,zc=n,null!==t&&il(t)),e}function il(e){null===zc?zc=e:zc.push.apply(zc,e)}function cl(e,t){for(t&=~Ic,t&=~Bc,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-rt(t),s=1<<n;e[n]=-1,t&=~s}}function ll(e){if(6&Lc)throw Error(a(327));_l();var t=pt(e,0);if(!(1&t))return ol(e,Qe()),null;var n=gl(e,t);if(0!==e.tag&&2===n){var s=bt(e);0!==s&&(t=s,n=rl(e,s))}if(1===n)throw n=Oc,fl(e,0),cl(e,t),ol(e,Qe()),n;if(6===n)throw Error(a(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,wl(e,zc,Hc),ol(e,Qe()),null}function dl(e,t){var n=Lc;Lc|=1;try{return e(t)}finally{0===(Lc=n)&&($c=Qe()+500,Fo&&$o())}}function ul(e){null!==Kc&&0===Kc.tag&&!(6&Lc)&&_l();var t=Lc;Lc|=1;var n=Ec.transition,s=yt;try{if(Ec.transition=null,yt=1,e)return e()}finally{yt=s,Ec.transition=n,!(6&(Lc=t))&&$o()}}function pl(){Rc=Nc.current,So(Nc)}function fl(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,oo(n)),null!==Tc)for(n=Tc.return;null!==n;){var s=n;switch(na(s),s.tag){case 1:null!=(s=s.type.childContextTypes)&&No();break;case 3:ar(),So(Ao),So(Lo),ur();break;case 5:ir(s);break;case 4:ar();break;case 13:case 19:So(cr);break;case 10:_a(s.type._context);break;case 22:case 23:pl()}n=n.return}if(Ac=e,Tc=e=Nl(e.current,null),Pc=Rc=t,Zc=0,Oc=null,Ic=Bc=Dc=0,zc=Fc=null,null!==Ma){for(t=0;t<Ma.length;t++)if(null!==(s=(n=Ma[t]).interleaved)){n.interleaved=null;var o=s.next,a=n.pending;if(null!==a){var r=a.next;a.next=o,s.next=r}n.pending=s}Ma=null}return e}function bl(e,t){for(;;){var n=Tc;try{if(wa(),pr.current=ri,vr){for(var s=hr.memoizedState;null!==s;){var o=s.queue;null!==o&&(o.pending=null),s=s.next}vr=!1}if(br=0,gr=mr=hr=null,yr=!1,kr=0,Mc.current=null,null===n||null===n.return){Zc=1,Oc=t,Tc=null;break}e:{var r=e,i=n.return,c=n,l=t;if(t=Pc,c.flags|=32768,null!==l&&"object"==typeof l&&"function"==typeof l.then){var d=l,u=c,p=u.tag;if(!(1&u.mode||0!==p&&11!==p&&15!==p)){var f=u.alternate;f?(u.updateQueue=f.updateQueue,u.memoizedState=f.memoizedState,u.lanes=f.lanes):(u.updateQueue=null,u.memoizedState=null)}var b=gi(i);if(null!==b){b.flags&=-257,vi(b,i,c,0,t),1&b.mode&&mi(r,d,t),l=d;var h=(t=b).updateQueue;if(null===h){var m=new Set;m.add(l),t.updateQueue=m}else h.add(l);break e}if(!(1&t)){mi(r,d,t),ml();break e}l=Error(a(426))}else if(aa&&1&c.mode){var g=gi(i);if(null!==g){!(65536&g.flags)&&(g.flags|=256),vi(g,i,c,0,t),ha(di(l,c));break e}}r=l=di(l,c),4!==Zc&&(Zc=2),null===Fc?Fc=[r]:Fc.push(r),r=i;do{switch(r.tag){case 3:r.flags|=65536,t&=-t,r.lanes|=t,Da(r,bi(0,l,t));break e;case 1:c=l;var v=r.type,y=r.stateNode;if(!(128&r.flags||"function"!=typeof v.getDerivedStateFromError&&(null===y||"function"!=typeof y.componentDidCatch||null!==qc&&qc.has(y)))){r.flags|=65536,t&=-t,r.lanes|=t,Da(r,hi(r,c,t));break e}}r=r.return}while(null!==r)}xl(n)}catch(k){t=k,Tc===n&&null!==n&&(Tc=n=n.return);continue}break}}function hl(){var e=Sc.current;return Sc.current=ri,null===e?ri:e}function ml(){0!==Zc&&3!==Zc&&2!==Zc||(Zc=4),null===Ac||!(268435455&Dc)&&!(268435455&Bc)||cl(Ac,Pc)}function gl(e,t){var n=Lc;Lc|=2;var s=hl();for(Ac===e&&Pc===t||(Hc=null,fl(e,t));;)try{vl();break}catch(o){bl(e,o)}if(wa(),Lc=n,Sc.current=s,null!==Tc)throw Error(a(261));return Ac=null,Pc=0,Zc}function vl(){for(;null!==Tc;)kl(Tc)}function yl(){for(;null!==Tc&&!Ke();)kl(Tc)}function kl(e){var t=jc(e.alternate,e,Rc);e.memoizedProps=e.pendingProps,null===t?xl(e):Tc=t,Mc.current=null}function xl(e){var t=e;do{var n=t.alternate;if(e=t.return,32768&t.flags){if(null!==(n=Ki(n,t)))return n.flags&=32767,void(Tc=n);if(null===e)return Zc=6,void(Tc=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}else if(null!==(n=Gi(n,t,Rc)))return void(Tc=n);if(null!==(t=t.sibling))return void(Tc=t);Tc=t=e}while(null!==t);0===Zc&&(Zc=5)}function wl(e,t,n){var s=yt,o=Ec.transition;try{Ec.transition=null,yt=1,function(e,t,n,s){do{_l()}while(null!==Kc);if(6&Lc)throw Error(a(327));n=e.finishedWork;var o=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(a(177));e.callbackNode=null,e.callbackPriority=0;var r=n.lanes|n.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var s=e.eventTimes;for(e=e.expirationTimes;0<n;){var o=31-rt(n),a=1<<o;t[o]=0,s[o]=-1,e[o]=-1,n&=~a}}(e,r),e===Ac&&(Tc=Ac=null,Pc=0),!(2064&n.subtreeFlags)&&!(2064&n.flags)||Gc||(Gc=!0,Al(tt,(function(){return _l(),null}))),r=!!(15990&n.flags),!!(15990&n.subtreeFlags)||r){r=Ec.transition,Ec.transition=null;var i=yt;yt=1;var c=Lc;Lc|=4,Mc.current=null,function(e,t){if(eo=Ht,fs(e=ps())){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var s=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(s&&0!==s.rangeCount){n=s.anchorNode;var o=s.anchorOffset,r=s.focusNode;s=s.focusOffset;try{n.nodeType,r.nodeType}catch(x){n=null;break e}var i=0,c=-1,l=-1,d=0,u=0,p=e,f=null;t:for(;;){for(var b;p!==n||0!==o&&3!==p.nodeType||(c=i+o),p!==r||0!==s&&3!==p.nodeType||(l=i+s),3===p.nodeType&&(i+=p.nodeValue.length),null!==(b=p.firstChild);)f=p,p=b;for(;;){if(p===e)break t;if(f===n&&++d===o&&(c=i),f===r&&++u===s&&(l=i),null!==(b=p.nextSibling))break;f=(p=f).parentNode}p=b}n=-1===c||-1===l?null:{start:c,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(to={focusedElem:e,selectionRange:n},Ht=!1,Ji=t;null!==Ji;)if(e=(t=Ji).child,1028&t.subtreeFlags&&null!==e)e.return=t,Ji=e;else for(;null!==Ji;){t=Ji;try{var h=t.alternate;if(1024&t.flags)switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==h){var m=h.memoizedProps,g=h.memoizedState,v=t.stateNode,y=v.getSnapshotBeforeUpdate(t.elementType===t.type?m:ga(t.type,m),g);v.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var k=t.stateNode.containerInfo;1===k.nodeType?k.textContent="":9===k.nodeType&&k.documentElement&&k.removeChild(k.documentElement);break;default:throw Error(a(163))}}catch(x){Cl(t,t.return,x)}if(null!==(e=t.sibling)){e.return=t.return,Ji=e;break}Ji=t.return}h=nc,nc=!1}(e,n),gc(n,e),bs(to),Ht=!!eo,to=eo=null,e.current=n,yc(n,e,o),Ye(),Lc=c,yt=i,Ec.transition=r}else e.current=n;if(Gc&&(Gc=!1,Kc=e,Yc=o),r=e.pendingLanes,0===r&&(qc=null),function(e){if(at&&"function"==typeof at.onCommitFiberRoot)try{at.onCommitFiberRoot(ot,e,void 0,!(128&~e.current.flags))}catch(t){}}(n.stateNode),ol(e,Qe()),null!==t)for(s=e.onRecoverableError,n=0;n<t.length;n++)o=t[n],s(o.value,{componentStack:o.stack,digest:o.digest});if(Vc)throw Vc=!1,e=Uc,Uc=null,e;!!(1&Yc)&&0!==e.tag&&_l(),r=e.pendingLanes,1&r?e===Xc?Qc++:(Qc=0,Xc=e):Qc=0,$o()}(e,t,n,s)}finally{Ec.transition=o,yt=s}return null}function _l(){if(null!==Kc){var e=kt(Yc),t=Ec.transition,n=yt;try{if(Ec.transition=null,yt=16>e?16:e,null===Kc)var s=!1;else{if(e=Kc,Kc=null,Yc=0,6&Lc)throw Error(a(331));var o=Lc;for(Lc|=4,Ji=e.current;null!==Ji;){var r=Ji,i=r.child;if(16&Ji.flags){var c=r.deletions;if(null!==c){for(var l=0;l<c.length;l++){var d=c[l];for(Ji=d;null!==Ji;){var u=Ji;switch(u.tag){case 0:case 11:case 15:sc(8,u,r)}var p=u.child;if(null!==p)p.return=u,Ji=p;else for(;null!==Ji;){var f=(u=Ji).sibling,b=u.return;if(rc(u),u===d){Ji=null;break}if(null!==f){f.return=b,Ji=f;break}Ji=b}}}var h=r.alternate;if(null!==h){var m=h.child;if(null!==m){h.child=null;do{var g=m.sibling;m.sibling=null,m=g}while(null!==m)}}Ji=r}}if(2064&r.subtreeFlags&&null!==i)i.return=r,Ji=i;else e:for(;null!==Ji;){if(2048&(r=Ji).flags)switch(r.tag){case 0:case 11:case 15:sc(9,r,r.return)}var v=r.sibling;if(null!==v){v.return=r.return,Ji=v;break e}Ji=r.return}}var y=e.current;for(Ji=y;null!==Ji;){var k=(i=Ji).child;if(2064&i.subtreeFlags&&null!==k)k.return=i,Ji=k;else e:for(i=y;null!==Ji;){if(2048&(c=Ji).flags)try{switch(c.tag){case 0:case 11:case 15:oc(9,c)}}catch(w){Cl(c,c.return,w)}if(c===i){Ji=null;break e}var x=c.sibling;if(null!==x){x.return=c.return,Ji=x;break e}Ji=c.return}}if(Lc=o,$o(),at&&"function"==typeof at.onPostCommitFiberRoot)try{at.onPostCommitFiberRoot(ot,e)}catch(w){}s=!0}return s}finally{yt=n,Ec.transition=t}}return!1}function jl(e,t,n){e=Za(e,t=bi(0,t=di(n,t),1),1),t=tl(),null!==e&&(gt(e,1,t),ol(e,t))}function Cl(e,t,n){if(3===e.tag)jl(e,e,n);else for(;null!==t;){if(3===t.tag){jl(t,e,n);break}if(1===t.tag){var s=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof s.componentDidCatch&&(null===qc||!qc.has(s))){t=Za(t,e=hi(t,e=di(n,e),1),1),e=tl(),null!==t&&(gt(t,1,e),ol(t,e));break}}t=t.return}}function Sl(e,t,n){var s=e.pingCache;null!==s&&s.delete(t),t=tl(),e.pingedLanes|=e.suspendedLanes&n,Ac===e&&(Pc&n)===n&&(4===Zc||3===Zc&&(130023424&Pc)===Pc&&500>Qe()-Wc?fl(e,0):Ic|=n),ol(e,t)}function Ml(e,t){0===t&&(1&e.mode?(t=dt,!(130023424&(dt<<=1))&&(dt=4194304)):t=1);var n=tl();null!==(e=Aa(e,t))&&(gt(e,t,n),ol(e,n))}function El(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Ml(e,n)}function Ll(e,t){var n=0;switch(e.tag){case 13:var s=e.stateNode,o=e.memoizedState;null!==o&&(n=o.retryLane);break;case 19:s=e.stateNode;break;default:throw Error(a(314))}null!==s&&s.delete(t),Ml(e,n)}function Al(e,t){return qe(e,t)}function Tl(e,t,n,s){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=s,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Pl(e,t,n,s){return new Tl(e,t,n,s)}function Rl(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Nl(e,t){var n=e.alternate;return null===n?((n=Pl(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Zl(e,t,n,s,o,r){var i=2;if(s=e,"function"==typeof e)Rl(e)&&(i=1);else if("string"==typeof e)i=5;else e:switch(e){case _:return Ol(n.children,o,r,t);case j:i=8,o|=8;break;case C:return(e=Pl(12,n,t,2|o)).elementType=C,e.lanes=r,e;case L:return(e=Pl(13,n,t,o)).elementType=L,e.lanes=r,e;case A:return(e=Pl(19,n,t,o)).elementType=A,e.lanes=r,e;case R:return Dl(n,o,r,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case S:i=10;break e;case M:i=9;break e;case E:i=11;break e;case T:i=14;break e;case P:i=16,s=null;break e}throw Error(a(130,null==e?e:typeof e,""))}return(t=Pl(i,n,t,o)).elementType=e,t.type=s,t.lanes=r,t}function Ol(e,t,n,s){return(e=Pl(7,e,s,t)).lanes=n,e}function Dl(e,t,n,s){return(e=Pl(22,e,s,t)).elementType=R,e.lanes=n,e.stateNode={isHidden:!1},e}function Bl(e,t,n){return(e=Pl(6,e,null,t)).lanes=n,e}function Il(e,t,n){return(t=Pl(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Fl(e,t,n,s,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=mt(0),this.expirationTimes=mt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=mt(0),this.identifierPrefix=s,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function zl(e,t,n,s,o,a,r,i,c){return e=new Fl(e,t,n,i,c),1===t?(t=1,!0===a&&(t|=8)):t=0,a=Pl(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:s,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Pa(a),e}function Wl(e){if(!e)return Eo;e:{if(We(e=e._reactInternals)!==e||1!==e.tag)throw Error(a(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Ro(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(a(171))}if(1===e.tag){var n=e.type;if(Ro(n))return Oo(e,n,t)}return t}function $l(e,t,n,s,o,a,r,i,c){return(e=zl(n,s,!0,e,0,a,0,i,c)).context=Wl(null),n=e.current,(a=Na(s=tl(),o=nl(n))).callback=null!=t?t:null,Za(n,a,o),e.current.lanes=o,gt(e,o,s),ol(e,s),e}function Hl(e,t,n,s){var o=t.current,a=tl(),r=nl(o);return n=Wl(n),null===t.context?t.context=n:t.pendingContext=n,(t=Na(a,r)).payload={element:e},null!==(s=void 0===s?null:s)&&(t.callback=s),null!==(e=Za(o,t,r))&&(sl(e,o,r,a),Oa(e,o,r)),r}function Vl(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Ul(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function ql(e,t){Ul(e,t),(e=e.alternate)&&Ul(e,t)}jc=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||Ao.current)ki=!0;else{if(!(e.lanes&n||128&t.flags))return ki=!1,function(e,t,n){switch(t.tag){case 3:Ai(t),ba();break;case 5:rr(t);break;case 1:Ro(t.type)&&Do(t);break;case 4:or(t,t.stateNode.containerInfo);break;case 10:var s=t.type._context,o=t.memoizedProps.value;Mo(va,s._currentValue),s._currentValue=o;break;case 13:if(null!==(s=t.memoizedState))return null!==s.dehydrated?(Mo(cr,1&cr.current),t.flags|=128,null):n&t.child.childLanes?Bi(e,t,n):(Mo(cr,1&cr.current),null!==(e=Vi(e,t,n))?e.sibling:null);Mo(cr,1&cr.current);break;case 19:if(s=!!(n&t.childLanes),128&e.flags){if(s)return $i(e,t,n);t.flags|=128}if(null!==(o=t.memoizedState)&&(o.rendering=null,o.tail=null,o.lastEffect=null),Mo(cr,cr.current),s)break;return null;case 22:case 23:return t.lanes=0,Ci(e,t,n)}return Vi(e,t,n)}(e,t,n);ki=!!(131072&e.flags)}else ki=!1,aa&&1048576&t.flags&&ea(t,qo,t.index);switch(t.lanes=0,t.tag){case 2:var s=t.type;Hi(e,t),e=t.pendingProps;var o=Po(t,Lo.current);Ca(t,n),o=jr(null,t,s,e,o,n);var r=Cr();return t.flags|=1,"object"==typeof o&&null!==o&&"function"==typeof o.render&&void 0===o.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ro(s)?(r=!0,Do(t)):r=!1,t.memoizedState=null!==o.state&&void 0!==o.state?o.state:null,Pa(t),o.updater=Wa,t.stateNode=o,o._reactInternals=t,Ua(t,s,e,n),t=Li(null,t,s,!0,r,n)):(t.tag=0,aa&&r&&ta(t),xi(null,t,o,n),t=t.child),t;case 16:s=t.elementType;e:{switch(Hi(e,t),e=t.pendingProps,s=(o=s._init)(s._payload),t.type=s,o=t.tag=function(e){if("function"==typeof e)return Rl(e)?1:0;if(null!=e){if((e=e.$$typeof)===E)return 11;if(e===T)return 14}return 2}(s),e=ga(s,e),o){case 0:t=Mi(null,t,s,e,n);break e;case 1:t=Ei(null,t,s,e,n);break e;case 11:t=wi(null,t,s,e,n);break e;case 14:t=_i(null,t,s,ga(s.type,e),n);break e}throw Error(a(306,s,""))}return t;case 0:return s=t.type,o=t.pendingProps,Mi(e,t,s,o=t.elementType===s?o:ga(s,o),n);case 1:return s=t.type,o=t.pendingProps,Ei(e,t,s,o=t.elementType===s?o:ga(s,o),n);case 3:e:{if(Ai(t),null===e)throw Error(a(387));s=t.pendingProps,o=(r=t.memoizedState).element,Ra(e,t),Ba(t,s,null,n);var i=t.memoizedState;if(s=i.element,r.isDehydrated){if(r={element:s,isDehydrated:!1,cache:i.cache,pendingSuspenseBoundaries:i.pendingSuspenseBoundaries,transitions:i.transitions},t.updateQueue.baseState=r,t.memoizedState=r,256&t.flags){t=Ti(e,t,s,n,o=di(Error(a(423)),t));break e}if(s!==o){t=Ti(e,t,s,n,o=di(Error(a(424)),t));break e}for(oa=lo(t.stateNode.containerInfo.firstChild),sa=t,aa=!0,ra=null,n=Xa(t,null,s,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(ba(),s===o){t=Vi(e,t,n);break e}xi(e,t,s,n)}t=t.child}return t;case 5:return rr(t),null===e&&da(t),s=t.type,o=t.pendingProps,r=null!==e?e.memoizedProps:null,i=o.children,no(s,o)?i=null:null!==r&&no(s,r)&&(t.flags|=32),Si(e,t),xi(e,t,i,n),t.child;case 6:return null===e&&da(t),null;case 13:return Bi(e,t,n);case 4:return or(t,t.stateNode.containerInfo),s=t.pendingProps,null===e?t.child=Qa(t,null,s,n):xi(e,t,s,n),t.child;case 11:return s=t.type,o=t.pendingProps,wi(e,t,s,o=t.elementType===s?o:ga(s,o),n);case 7:return xi(e,t,t.pendingProps,n),t.child;case 8:case 12:return xi(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(s=t.type._context,o=t.pendingProps,r=t.memoizedProps,i=o.value,Mo(va,s._currentValue),s._currentValue=i,null!==r)if(is(r.value,i)){if(r.children===o.children&&!Ao.current){t=Vi(e,t,n);break e}}else for(null!==(r=t.child)&&(r.return=t);null!==r;){var c=r.dependencies;if(null!==c){i=r.child;for(var l=c.firstContext;null!==l;){if(l.context===s){if(1===r.tag){(l=Na(-1,n&-n)).tag=2;var d=r.updateQueue;if(null!==d){var u=(d=d.shared).pending;null===u?l.next=l:(l.next=u.next,u.next=l),d.pending=l}}r.lanes|=n,null!==(l=r.alternate)&&(l.lanes|=n),ja(r.return,n,t),c.lanes|=n;break}l=l.next}}else if(10===r.tag)i=r.type===t.type?null:r.child;else if(18===r.tag){if(null===(i=r.return))throw Error(a(341));i.lanes|=n,null!==(c=i.alternate)&&(c.lanes|=n),ja(i,n,t),i=r.sibling}else i=r.child;if(null!==i)i.return=r;else for(i=r;null!==i;){if(i===t){i=null;break}if(null!==(r=i.sibling)){r.return=i.return,i=r;break}i=i.return}r=i}xi(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,s=t.pendingProps.children,Ca(t,n),s=s(o=Sa(o)),t.flags|=1,xi(e,t,s,n),t.child;case 14:return o=ga(s=t.type,t.pendingProps),_i(e,t,s,o=ga(s.type,o),n);case 15:return ji(e,t,t.type,t.pendingProps,n);case 17:return s=t.type,o=t.pendingProps,o=t.elementType===s?o:ga(s,o),Hi(e,t),t.tag=1,Ro(s)?(e=!0,Do(t)):e=!1,Ca(t,n),Ha(t,s,o),Ua(t,s,o,n),Li(null,t,s,!0,e,n);case 19:return $i(e,t,n);case 22:return Ci(e,t,n)}throw Error(a(156,t.tag))};var Gl="function"==typeof reportError?reportError:function(e){console.error(e)};function Kl(e){this._internalRoot=e}function Yl(e){this._internalRoot=e}function Ql(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Xl(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Jl(){}function ed(e,t,n,s,o){var a=n._reactRootContainer;if(a){var r=a;if("function"==typeof o){var i=o;o=function(){var e=Vl(r);i.call(e)}}Hl(t,r,e,o)}else r=function(e,t,n,s,o){if(o){if("function"==typeof s){var a=s;s=function(){var e=Vl(r);a.call(e)}}var r=$l(t,s,e,0,null,!1,0,"",Jl);return e._reactRootContainer=r,e[ho]=r.current,Ws(8===e.nodeType?e.parentNode:e),ul(),r}for(;o=e.lastChild;)e.removeChild(o);if("function"==typeof s){var i=s;s=function(){var e=Vl(c);i.call(e)}}var c=zl(e,0,!1,null,0,!1,0,"",Jl);return e._reactRootContainer=c,e[ho]=c.current,Ws(8===e.nodeType?e.parentNode:e),ul((function(){Hl(t,c,n,s)})),c}(n,t,e,o,s);return Vl(r)}Yl.prototype.render=Kl.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(a(409));Hl(e,t,null,null)},Yl.prototype.unmount=Kl.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;ul((function(){Hl(null,e,null,null)})),t[ho]=null}},Yl.prototype.unstable_scheduleHydration=function(e){if(e){var t=jt();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Rt.length&&0!==t&&t<Rt[n].priority;n++);Rt.splice(n,0,e),0===n&&Dt(e)}},xt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=ut(t.pendingLanes);0!==n&&(vt(t,1|n),ol(t,Qe()),!(6&Lc)&&($c=Qe()+500,$o()))}break;case 13:ul((function(){var t=Aa(e,1);if(null!==t){var n=tl();sl(t,e,1,n)}})),ql(e,1)}},wt=function(e){if(13===e.tag){var t=Aa(e,134217728);if(null!==t)sl(t,e,134217728,tl());ql(e,134217728)}},_t=function(e){if(13===e.tag){var t=nl(e),n=Aa(e,t);if(null!==n)sl(n,e,t,tl());ql(e,t)}},jt=function(){return yt},Ct=function(e,t){var n=yt;try{return yt=e,t()}finally{yt=n}},we=function(e,t,n){switch(t){case"input":if(X(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var s=n[t];if(s!==e&&s.form===e.form){var o=wo(s);if(!o)throw Error(a(90));q(s),X(s,o)}}}break;case"textarea":ae(e,n);break;case"select":null!=(t=n.value)&&ne(e,!!n.multiple,t,!1)}},Ee=dl,Le=ul;var td={usingClientEntryPoint:!1,Events:[ko,xo,wo,Se,Me,dl]},nd={findFiberByHostInstance:yo,bundleType:0,version:"18.2.0",rendererPackageName:"react-dom"},sd={bundleType:nd.bundleType,version:nd.version,rendererPackageName:nd.rendererPackageName,rendererConfig:nd.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:k.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ve(e))?null:e.stateNode},findFiberByHostInstance:nd.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0-next-9e3b772b8-20220608"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var od=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!od.isDisabled&&od.supportsFiber)try{ot=od.inject(sd),at=od}catch(de){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=td,t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Ql(t))throw Error(a(200));return function(e,t,n){var s=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:w,key:null==s?null:""+s,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},t.createRoot=function(e,t){if(!Ql(e))throw Error(a(299));var n=!1,s="",o=Gl;return null!=t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(s=t.identifierPrefix),void 0!==t.onRecoverableError&&(o=t.onRecoverableError)),t=zl(e,1,!1,null,0,n,0,s,o),e[ho]=t.current,Ws(8===e.nodeType?e.parentNode:e),new Kl(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(a(188));throw e=Object.keys(e).join(","),Error(a(268,e))}return e=null===(e=Ve(t))?null:e.stateNode},t.flushSync=function(e){return ul(e)},t.hydrate=function(e,t,n){if(!Xl(t))throw Error(a(200));return ed(null,e,t,!0,n)},t.hydrateRoot=function(e,t,n){if(!Ql(e))throw Error(a(405));var s=null!=n&&n.hydratedSources||null,o=!1,r="",i=Gl;if(null!=n&&(!0===n.unstable_strictMode&&(o=!0),void 0!==n.identifierPrefix&&(r=n.identifierPrefix),void 0!==n.onRecoverableError&&(i=n.onRecoverableError)),t=$l(t,null,e,1,null!=n?n:null,o,0,r,i),e[ho]=t.current,Ws(e),s)for(e=0;e<s.length;e++)o=(o=(n=s[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,o]:t.mutableSourceEagerHydrationData.push(n,o);return new Yl(t)},t.render=function(e,t,n){if(!Xl(t))throw Error(a(200));return ed(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!Xl(e))throw Error(a(40));return!!e._reactRootContainer&&(ul((function(){ed(null,null,e,!1,(function(){e._reactRootContainer=null,e[ho]=null}))})),!0)},t.unstable_batchedUpdates=dl,t.unstable_renderSubtreeIntoContainer=function(e,t,n,s){if(!Xl(n))throw Error(a(200));if(null==e||void 0===e._reactInternals)throw Error(a(38));return ed(e,t,n,!1,s)},t.version="18.2.0-next-9e3b772b8-20220608"},5338:(e,t,n)=>{"use strict";var s=n(40961);t.createRoot=s.createRoot,t.hydrateRoot=s.hydrateRoot},40961:(e,t,n)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(22551)},30115:e=>{var t="undefined"!=typeof Element,n="function"==typeof Map,s="function"==typeof Set,o="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function a(e,r){if(e===r)return!0;if(e&&r&&"object"==typeof e&&"object"==typeof r){if(e.constructor!==r.constructor)return!1;var i,c,l,d;if(Array.isArray(e)){if((i=e.length)!=r.length)return!1;for(c=i;0!=c--;)if(!a(e[c],r[c]))return!1;return!0}if(n&&e instanceof Map&&r instanceof Map){if(e.size!==r.size)return!1;for(d=e.entries();!(c=d.next()).done;)if(!r.has(c.value[0]))return!1;for(d=e.entries();!(c=d.next()).done;)if(!a(c.value[1],r.get(c.value[0])))return!1;return!0}if(s&&e instanceof Set&&r instanceof Set){if(e.size!==r.size)return!1;for(d=e.entries();!(c=d.next()).done;)if(!r.has(c.value[0]))return!1;return!0}if(o&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(r)){if((i=e.length)!=r.length)return!1;for(c=i;0!=c--;)if(e[c]!==r[c])return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf&&"function"==typeof e.valueOf&&"function"==typeof r.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString&&"function"==typeof e.toString&&"function"==typeof r.toString)return e.toString()===r.toString();if((i=(l=Object.keys(e)).length)!==Object.keys(r).length)return!1;for(c=i;0!=c--;)if(!Object.prototype.hasOwnProperty.call(r,l[c]))return!1;if(t&&e instanceof Element)return!1;for(c=i;0!=c--;)if(("_owner"!==l[c]&&"__v"!==l[c]&&"__o"!==l[c]||!e.$$typeof)&&!a(e[l[c]],r[l[c]]))return!1;return!0}return e!=e&&r!=r}e.exports=function(e,t){try{return a(e,t)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}},80545:(e,t,n)=>{"use strict";n.d(t,{mg:()=>J,vd:()=>V});var s=n(96540),o=n(5556),a=n.n(o),r=n(30115),i=n.n(r),c=n(20311),l=n.n(c),d=n(2833),u=n.n(d);function p(){return p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e},p.apply(this,arguments)}function f(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,b(e,t)}function b(e,t){return b=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},b(e,t)}function h(e,t){if(null==e)return{};var n,s,o={},a=Object.keys(e);for(s=0;s<a.length;s++)t.indexOf(n=a[s])>=0||(o[n]=e[n]);return o}var m={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},g={rel:["amphtml","canonical","alternate"]},v={type:["application/ld+json"]},y={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},k=Object.keys(m).map((function(e){return m[e]})),x={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},w=Object.keys(x).reduce((function(e,t){return e[x[t]]=t,e}),{}),_=function(e,t){for(var n=e.length-1;n>=0;n-=1){var s=e[n];if(Object.prototype.hasOwnProperty.call(s,t))return s[t]}return null},j=function(e){var t=_(e,m.TITLE),n=_(e,"titleTemplate");if(Array.isArray(t)&&(t=t.join("")),n&&t)return n.replace(/%s/g,(function(){return t}));var s=_(e,"defaultTitle");return t||s||void 0},C=function(e){return _(e,"onChangeClientState")||function(){}},S=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return p({},e,t)}),{})},M=function(e,t){return t.filter((function(e){return void 0!==e[m.BASE]})).map((function(e){return e[m.BASE]})).reverse().reduce((function(t,n){if(!t.length)for(var s=Object.keys(n),o=0;o<s.length;o+=1){var a=s[o].toLowerCase();if(-1!==e.indexOf(a)&&n[a])return t.concat(n)}return t}),[])},E=function(e,t,n){var s={};return n.filter((function(t){return!!Array.isArray(t[e])||(void 0!==t[e]&&console&&"function"==typeof console.warn&&console.warn("Helmet: "+e+' should be of type "Array". Instead found type "'+typeof t[e]+'"'),!1)})).map((function(t){return t[e]})).reverse().reduce((function(e,n){var o={};n.filter((function(e){for(var n,a=Object.keys(e),r=0;r<a.length;r+=1){var i=a[r],c=i.toLowerCase();-1===t.indexOf(c)||"rel"===n&&"canonical"===e[n].toLowerCase()||"rel"===c&&"stylesheet"===e[c].toLowerCase()||(n=c),-1===t.indexOf(i)||"innerHTML"!==i&&"cssText"!==i&&"itemprop"!==i||(n=i)}if(!n||!e[n])return!1;var l=e[n].toLowerCase();return s[n]||(s[n]={}),o[n]||(o[n]={}),!s[n][l]&&(o[n][l]=!0,!0)})).reverse().forEach((function(t){return e.push(t)}));for(var a=Object.keys(o),r=0;r<a.length;r+=1){var i=a[r],c=p({},s[i],o[i]);s[i]=c}return e}),[]).reverse()},L=function(e,t){if(Array.isArray(e)&&e.length)for(var n=0;n<e.length;n+=1)if(e[n][t])return!0;return!1},A=function(e){return Array.isArray(e)?e.join(""):e},T=function(e,t){return Array.isArray(e)?e.reduce((function(e,n){return function(e,t){for(var n=Object.keys(e),s=0;s<n.length;s+=1)if(t[n[s]]&&t[n[s]].includes(e[n[s]]))return!0;return!1}(n,t)?e.priority.push(n):e.default.push(n),e}),{priority:[],default:[]}):{default:e}},P=function(e,t){var n;return p({},e,((n={})[t]=void 0,n))},R=[m.NOSCRIPT,m.SCRIPT,m.STYLE],N=function(e,t){return void 0===t&&(t=!0),!1===t?String(e):String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},Z=function(e){return Object.keys(e).reduce((function(t,n){var s=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+s:s}),"")},O=function(e,t){return void 0===t&&(t={}),Object.keys(e).reduce((function(t,n){return t[x[n]||n]=e[n],t}),t)},D=function(e,t){return t.map((function(t,n){var o,a=((o={key:n})["data-rh"]=!0,o);return Object.keys(t).forEach((function(e){var n=x[e]||e;"innerHTML"===n||"cssText"===n?a.dangerouslySetInnerHTML={__html:t.innerHTML||t.cssText}:a[n]=t[e]})),s.createElement(e,a)}))},B=function(e,t,n){switch(e){case m.TITLE:return{toComponent:function(){return n=t.titleAttributes,(o={key:e=t.title})["data-rh"]=!0,a=O(n,o),[s.createElement(m.TITLE,a,e)];var e,n,o,a},toString:function(){return function(e,t,n,s){var o=Z(n),a=A(t);return o?"<"+e+' data-rh="true" '+o+">"+N(a,s)+"</"+e+">":"<"+e+' data-rh="true">'+N(a,s)+"</"+e+">"}(e,t.title,t.titleAttributes,n)}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return O(t)},toString:function(){return Z(t)}};default:return{toComponent:function(){return D(e,t)},toString:function(){return function(e,t,n){return t.reduce((function(t,s){var o=Object.keys(s).filter((function(e){return!("innerHTML"===e||"cssText"===e)})).reduce((function(e,t){var o=void 0===s[t]?t:t+'="'+N(s[t],n)+'"';return e?e+" "+o:o}),""),a=s.innerHTML||s.cssText||"",r=-1===R.indexOf(e);return t+"<"+e+' data-rh="true" '+o+(r?"/>":">"+a+"</"+e+">")}),"")}(e,t,n)}}}},I=function(e){var t=e.baseTag,n=e.bodyAttributes,s=e.encode,o=e.htmlAttributes,a=e.noscriptTags,r=e.styleTags,i=e.title,c=void 0===i?"":i,l=e.titleAttributes,d=e.linkTags,u=e.metaTags,p=e.scriptTags,f={toComponent:function(){},toString:function(){return""}};if(e.prioritizeSeoTags){var b=function(e){var t=e.linkTags,n=e.scriptTags,s=e.encode,o=T(e.metaTags,y),a=T(t,g),r=T(n,v);return{priorityMethods:{toComponent:function(){return[].concat(D(m.META,o.priority),D(m.LINK,a.priority),D(m.SCRIPT,r.priority))},toString:function(){return B(m.META,o.priority,s)+" "+B(m.LINK,a.priority,s)+" "+B(m.SCRIPT,r.priority,s)}},metaTags:o.default,linkTags:a.default,scriptTags:r.default}}(e);f=b.priorityMethods,d=b.linkTags,u=b.metaTags,p=b.scriptTags}return{priority:f,base:B(m.BASE,t,s),bodyAttributes:B("bodyAttributes",n,s),htmlAttributes:B("htmlAttributes",o,s),link:B(m.LINK,d,s),meta:B(m.META,u,s),noscript:B(m.NOSCRIPT,a,s),script:B(m.SCRIPT,p,s),style:B(m.STYLE,r,s),title:B(m.TITLE,{title:c,titleAttributes:l},s)}},F=[],z=function(e,t){var n=this;void 0===t&&(t="undefined"!=typeof document),this.instances=[],this.value={setHelmet:function(e){n.context.helmet=e},helmetInstances:{get:function(){return n.canUseDOM?F:n.instances},add:function(e){(n.canUseDOM?F:n.instances).push(e)},remove:function(e){var t=(n.canUseDOM?F:n.instances).indexOf(e);(n.canUseDOM?F:n.instances).splice(t,1)}}},this.context=e,this.canUseDOM=t,t||(e.helmet=I({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},W=s.createContext({}),$=a().shape({setHelmet:a().func,helmetInstances:a().shape({get:a().func,add:a().func,remove:a().func})}),H="undefined"!=typeof document,V=function(e){function t(n){var s;return(s=e.call(this,n)||this).helmetData=new z(s.props.context,t.canUseDOM),s}return f(t,e),t.prototype.render=function(){return s.createElement(W.Provider,{value:this.helmetData.value},this.props.children)},t}(s.Component);V.canUseDOM=H,V.propTypes={context:a().shape({helmet:a().shape()}),children:a().node.isRequired},V.defaultProps={context:{}},V.displayName="HelmetProvider";var U=function(e,t){var n,s=document.head||document.querySelector(m.HEAD),o=s.querySelectorAll(e+"[data-rh]"),a=[].slice.call(o),r=[];return t&&t.length&&t.forEach((function(t){var s=document.createElement(e);for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&("innerHTML"===o?s.innerHTML=t.innerHTML:"cssText"===o?s.styleSheet?s.styleSheet.cssText=t.cssText:s.appendChild(document.createTextNode(t.cssText)):s.setAttribute(o,void 0===t[o]?"":t[o]));s.setAttribute("data-rh","true"),a.some((function(e,t){return n=t,s.isEqualNode(e)}))?a.splice(n,1):r.push(s)})),a.forEach((function(e){return e.parentNode.removeChild(e)})),r.forEach((function(e){return s.appendChild(e)})),{oldTags:a,newTags:r}},q=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var s=n.getAttribute("data-rh"),o=s?s.split(","):[],a=[].concat(o),r=Object.keys(t),i=0;i<r.length;i+=1){var c=r[i],l=t[c]||"";n.getAttribute(c)!==l&&n.setAttribute(c,l),-1===o.indexOf(c)&&o.push(c);var d=a.indexOf(c);-1!==d&&a.splice(d,1)}for(var u=a.length-1;u>=0;u-=1)n.removeAttribute(a[u]);o.length===a.length?n.removeAttribute("data-rh"):n.getAttribute("data-rh")!==r.join(",")&&n.setAttribute("data-rh",r.join(","))}},G=function(e,t){var n=e.baseTag,s=e.htmlAttributes,o=e.linkTags,a=e.metaTags,r=e.noscriptTags,i=e.onChangeClientState,c=e.scriptTags,l=e.styleTags,d=e.title,u=e.titleAttributes;q(m.BODY,e.bodyAttributes),q(m.HTML,s),function(e,t){void 0!==e&&document.title!==e&&(document.title=A(e)),q(m.TITLE,t)}(d,u);var p={baseTag:U(m.BASE,n),linkTags:U(m.LINK,o),metaTags:U(m.META,a),noscriptTags:U(m.NOSCRIPT,r),scriptTags:U(m.SCRIPT,c),styleTags:U(m.STYLE,l)},f={},b={};Object.keys(p).forEach((function(e){var t=p[e],n=t.newTags,s=t.oldTags;n.length&&(f[e]=n),s.length&&(b[e]=p[e].oldTags)})),t&&t(),i(e,f,b)},K=null,Y=function(e){function t(){for(var t,n=arguments.length,s=new Array(n),o=0;o<n;o++)s[o]=arguments[o];return(t=e.call.apply(e,[this].concat(s))||this).rendered=!1,t}f(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!u()(e,this.props)},n.componentDidUpdate=function(){this.emitChange()},n.componentWillUnmount=function(){this.props.context.helmetInstances.remove(this),this.emitChange()},n.emitChange=function(){var e,t,n=this.props.context,s=n.setHelmet,o=null,a=(e=n.helmetInstances.get().map((function(e){var t=p({},e.props);return delete t.context,t})),{baseTag:M(["href"],e),bodyAttributes:S("bodyAttributes",e),defer:_(e,"defer"),encode:_(e,"encodeSpecialCharacters"),htmlAttributes:S("htmlAttributes",e),linkTags:E(m.LINK,["rel","href"],e),metaTags:E(m.META,["name","charset","http-equiv","property","itemprop"],e),noscriptTags:E(m.NOSCRIPT,["innerHTML"],e),onChangeClientState:C(e),scriptTags:E(m.SCRIPT,["src","innerHTML"],e),styleTags:E(m.STYLE,["cssText"],e),title:j(e),titleAttributes:S("titleAttributes",e),prioritizeSeoTags:L(e,"prioritizeSeoTags")});V.canUseDOM?(t=a,K&&cancelAnimationFrame(K),t.defer?K=requestAnimationFrame((function(){G(t,(function(){K=null}))})):(G(t),K=null)):I&&(o=I(a)),s(o)},n.init=function(){this.rendered||(this.rendered=!0,this.props.context.helmetInstances.add(this),this.emitChange())},n.render=function(){return this.init(),null},t}(s.Component);Y.propTypes={context:$.isRequired},Y.displayName="HelmetDispatcher";var Q=["children"],X=["children"],J=function(e){function t(){return e.apply(this,arguments)||this}f(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!i()(P(this.props,"helmetData"),P(e,"helmetData"))},n.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case m.SCRIPT:case m.NOSCRIPT:return{innerHTML:t};case m.STYLE:return{cssText:t};default:throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")}},n.flattenArrayTypeChildren=function(e){var t,n=e.child,s=e.arrayTypeChildren;return p({},s,((t={})[n.type]=[].concat(s[n.type]||[],[p({},e.newChildProps,this.mapNestedChildrenToProps(n,e.nestedChildren))]),t))},n.mapObjectTypeChildren=function(e){var t,n,s=e.child,o=e.newProps,a=e.newChildProps,r=e.nestedChildren;switch(s.type){case m.TITLE:return p({},o,((t={})[s.type]=r,t.titleAttributes=p({},a),t));case m.BODY:return p({},o,{bodyAttributes:p({},a)});case m.HTML:return p({},o,{htmlAttributes:p({},a)});default:return p({},o,((n={})[s.type]=p({},a),n))}},n.mapArrayTypeChildrenToProps=function(e,t){var n=p({},t);return Object.keys(e).forEach((function(t){var s;n=p({},n,((s={})[t]=e[t],s))})),n},n.warnOnInvalidChildren=function(e,t){return l()(k.some((function(t){return e.type===t})),"function"==typeof e.type?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+k.join(", ")+" are allowed. Helmet does not support rendering <"+e.type+"> elements. Refer to our API for more information."),l()(!t||"string"==typeof t||Array.isArray(t)&&!t.some((function(e){return"string"!=typeof e})),"Helmet expects a string as a child of <"+e.type+">. Did you forget to wrap your children in braces? ( <"+e.type+">{``}</"+e.type+"> ) Refer to our API for more information."),!0},n.mapChildrenToProps=function(e,t){var n=this,o={};return s.Children.forEach(e,(function(e){if(e&&e.props){var s=e.props,a=s.children,r=h(s,Q),i=Object.keys(r).reduce((function(e,t){return e[w[t]||t]=r[t],e}),{}),c=e.type;switch("symbol"==typeof c?c=c.toString():n.warnOnInvalidChildren(e,a),c){case m.FRAGMENT:t=n.mapChildrenToProps(a,t);break;case m.LINK:case m.META:case m.NOSCRIPT:case m.SCRIPT:case m.STYLE:o=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:o,newChildProps:i,nestedChildren:a});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:i,nestedChildren:a})}}})),this.mapArrayTypeChildrenToProps(o,t)},n.render=function(){var e=this.props,t=e.children,n=h(e,X),o=p({},n),a=n.helmetData;return t&&(o=this.mapChildrenToProps(t,o)),!a||a instanceof z||(a=new z(a.context,a.instances)),a?s.createElement(Y,p({},o,{context:a.value,helmetData:void 0})):s.createElement(W.Consumer,null,(function(e){return s.createElement(Y,p({},o,{context:e}))}))},t}(s.Component);J.propTypes={base:a().object,bodyAttributes:a().object,children:a().oneOfType([a().arrayOf(a().node),a().node]),defaultTitle:a().string,defer:a().bool,encodeSpecialCharacters:a().bool,htmlAttributes:a().object,link:a().arrayOf(a().object),meta:a().arrayOf(a().object),noscript:a().arrayOf(a().object),onChangeClientState:a().func,script:a().arrayOf(a().object),style:a().arrayOf(a().object),title:a().string,titleAttributes:a().object,titleTemplate:a().string,prioritizeSeoTags:a().bool,helmetData:a().object},J.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},J.displayName="Helmet"},22799:(e,t)=>{"use strict";var n="function"==typeof Symbol&&Symbol.for,s=n?Symbol.for("react.element"):60103,o=n?Symbol.for("react.portal"):60106,a=n?Symbol.for("react.fragment"):60107,r=n?Symbol.for("react.strict_mode"):60108,i=n?Symbol.for("react.profiler"):60114,c=n?Symbol.for("react.provider"):60109,l=n?Symbol.for("react.context"):60110,d=n?Symbol.for("react.async_mode"):60111,u=n?Symbol.for("react.concurrent_mode"):60111,p=n?Symbol.for("react.forward_ref"):60112,f=n?Symbol.for("react.suspense"):60113,b=n?Symbol.for("react.suspense_list"):60120,h=n?Symbol.for("react.memo"):60115,m=n?Symbol.for("react.lazy"):60116,g=n?Symbol.for("react.block"):60121,v=n?Symbol.for("react.fundamental"):60117,y=n?Symbol.for("react.responder"):60118,k=n?Symbol.for("react.scope"):60119;function x(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case s:switch(e=e.type){case d:case u:case a:case i:case r:case f:return e;default:switch(e=e&&e.$$typeof){case l:case p:case m:case h:case c:return e;default:return t}}case o:return t}}}function w(e){return x(e)===u}t.AsyncMode=d,t.ConcurrentMode=u,t.ContextConsumer=l,t.ContextProvider=c,t.Element=s,t.ForwardRef=p,t.Fragment=a,t.Lazy=m,t.Memo=h,t.Portal=o,t.Profiler=i,t.StrictMode=r,t.Suspense=f,t.isAsyncMode=function(e){return w(e)||x(e)===d},t.isConcurrentMode=w,t.isContextConsumer=function(e){return x(e)===l},t.isContextProvider=function(e){return x(e)===c},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===s},t.isForwardRef=function(e){return x(e)===p},t.isFragment=function(e){return x(e)===a},t.isLazy=function(e){return x(e)===m},t.isMemo=function(e){return x(e)===h},t.isPortal=function(e){return x(e)===o},t.isProfiler=function(e){return x(e)===i},t.isStrictMode=function(e){return x(e)===r},t.isSuspense=function(e){return x(e)===f},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===a||e===u||e===i||e===r||e===f||e===b||"object"==typeof e&&null!==e&&(e.$$typeof===m||e.$$typeof===h||e.$$typeof===c||e.$$typeof===l||e.$$typeof===p||e.$$typeof===v||e.$$typeof===y||e.$$typeof===k||e.$$typeof===g)},t.typeOf=x},44363:(e,t,n)=>{"use strict";e.exports=n(22799)},53259:(e,t,n)=>{"use strict";function s(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function o(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(){return r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e},r.apply(this,arguments)}var i=n(96540),c=n(5556),l=[],d=[];function u(e){var t=e(),n={loading:!0,loaded:null,error:null};return n.promise=t.then((function(e){return n.loading=!1,n.loaded=e,e})).catch((function(e){throw n.loading=!1,n.error=e,e})),n}function p(e){var t={loading:!1,loaded:{},error:null},n=[];try{Object.keys(e).forEach((function(s){var o=u(e[s]);o.loading?t.loading=!0:(t.loaded[s]=o.loaded,t.error=o.error),n.push(o.promise),o.promise.then((function(e){t.loaded[s]=e})).catch((function(e){t.error=e}))}))}catch(s){t.error=s}return t.promise=Promise.all(n).then((function(e){return t.loading=!1,e})).catch((function(e){throw t.loading=!1,e})),t}function f(e,t){return i.createElement((n=e)&&n.__esModule?n.default:n,t);var n}function b(e,t){var u,p;if(!t.loading)throw new Error("react-loadable requires a `loading` component");var b=r({loader:null,loading:null,delay:200,timeout:null,render:f,webpack:null,modules:null},t),h=null;function m(){return h||(h=e(b.loader)),h.promise}return l.push(m),"function"==typeof b.webpack&&d.push((function(){if((0,b.webpack)().every((function(e){return void 0!==e&&void 0!==n.m[e]})))return m()})),p=u=function(t){function n(n){var s;return a(o(o(s=t.call(this,n)||this)),"retry",(function(){s.setState({error:null,loading:!0,timedOut:!1}),h=e(b.loader),s._loadModule()})),m(),s.state={error:h.error,pastDelay:!1,timedOut:!1,loading:h.loading,loaded:h.loaded},s}s(n,t),n.preload=function(){return m()};var r=n.prototype;return r.UNSAFE_componentWillMount=function(){this._loadModule()},r.componentDidMount=function(){this._mounted=!0},r._loadModule=function(){var e=this;if(this.context.loadable&&Array.isArray(b.modules)&&b.modules.forEach((function(t){e.context.loadable.report(t)})),h.loading){var t=function(t){e._mounted&&e.setState(t)};"number"==typeof b.delay&&(0===b.delay?this.setState({pastDelay:!0}):this._delay=setTimeout((function(){t({pastDelay:!0})}),b.delay)),"number"==typeof b.timeout&&(this._timeout=setTimeout((function(){t({timedOut:!0})}),b.timeout));var n=function(){t({error:h.error,loaded:h.loaded,loading:h.loading}),e._clearTimeouts()};h.promise.then((function(){return n(),null})).catch((function(e){return n(),null}))}},r.componentWillUnmount=function(){this._mounted=!1,this._clearTimeouts()},r._clearTimeouts=function(){clearTimeout(this._delay),clearTimeout(this._timeout)},r.render=function(){return this.state.loading||this.state.error?i.createElement(b.loading,{isLoading:this.state.loading,pastDelay:this.state.pastDelay,timedOut:this.state.timedOut,error:this.state.error,retry:this.retry}):this.state.loaded?b.render(this.state.loaded,this.props):null},n}(i.Component),a(u,"contextTypes",{loadable:c.shape({report:c.func.isRequired})}),p}function h(e){return b(u,e)}h.Map=function(e){if("function"!=typeof e.render)throw new Error("LoadableMap requires a `render(loaded, props)` function");return b(p,e)};var m=function(e){function t(){return e.apply(this,arguments)||this}s(t,e);var n=t.prototype;return n.getChildContext=function(){return{loadable:{report:this.props.report}}},n.render=function(){return i.Children.only(this.props.children)},t}(i.Component);function g(e){for(var t=[];e.length;){var n=e.pop();t.push(n())}return Promise.all(t).then((function(){if(e.length)return g(e)}))}a(m,"propTypes",{report:c.func.isRequired}),a(m,"childContextTypes",{loadable:c.shape({report:c.func.isRequired}).isRequired}),h.Capture=m,h.preloadAll=function(){return new Promise((function(e,t){g(l).then(e,t)}))},h.preloadReady=function(){return new Promise((function(e,t){g(d).then(e,e)}))},e.exports=h},22831:(e,t,n)=>{"use strict";n.d(t,{u:()=>r,v:()=>i});var s=n(56347),o=n(58168),a=n(96540);function r(e,t,n){return void 0===n&&(n=[]),e.some((function(e){var o=e.path?(0,s.B6)(t,e):n.length?n[n.length-1].match:s.Ix.computeRootMatch(t);return o&&(n.push({route:e,match:o}),e.routes&&r(e.routes,t,n)),o})),n}function i(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),e?a.createElement(s.dO,n,e.map((function(e,n){return a.createElement(s.qh,{key:e.key||n,path:e.path,exact:e.exact,strict:e.strict,render:function(n){return e.render?e.render((0,o.A)({},n,{},t,{route:e})):a.createElement(e.component,(0,o.A)({},n,t,{route:e}))}})}))):null}},54625:(e,t,n)=>{"use strict";n.d(t,{Kd:()=>d,N_:()=>m,k2:()=>y});var s=n(56347),o=n(42892),a=n(96540),r=n(31513),i=n(58168),c=n(98587),l=n(11561),d=function(e){function t(){for(var t,n=arguments.length,s=new Array(n),o=0;o<n;o++)s[o]=arguments[o];return(t=e.call.apply(e,[this].concat(s))||this).history=(0,r.zR)(t.props),t}return(0,o.A)(t,e),t.prototype.render=function(){return a.createElement(s.Ix,{history:this.history,children:this.props.children})},t}(a.Component);a.Component;var u=function(e,t){return"function"==typeof e?e(t):e},p=function(e,t){return"string"==typeof e?(0,r.yJ)(e,null,null,t):e},f=function(e){return e},b=a.forwardRef;void 0===b&&(b=f);var h=b((function(e,t){var n=e.innerRef,s=e.navigate,o=e.onClick,r=(0,c.A)(e,["innerRef","navigate","onClick"]),l=r.target,d=(0,i.A)({},r,{onClick:function(e){try{o&&o(e)}catch(t){throw e.preventDefault(),t}e.defaultPrevented||0!==e.button||l&&"_self"!==l||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)||(e.preventDefault(),s())}});return d.ref=f!==b&&t||n,a.createElement("a",d)}));var m=b((function(e,t){var n=e.component,o=void 0===n?h:n,d=e.replace,m=e.to,g=e.innerRef,v=(0,c.A)(e,["component","replace","to","innerRef"]);return a.createElement(s.XZ.Consumer,null,(function(e){e||(0,l.A)(!1);var n=e.history,s=p(u(m,e.location),e.location),c=s?n.createHref(s):"",h=(0,i.A)({},v,{href:c,navigate:function(){var t=u(m,e.location),s=(0,r.AO)(e.location)===(0,r.AO)(p(t));(d||s?n.replace:n.push)(t)}});return f!==b?h.ref=t||g:h.innerRef=g,a.createElement(o,h)}))})),g=function(e){return e},v=a.forwardRef;void 0===v&&(v=g);var y=v((function(e,t){var n=e["aria-current"],o=void 0===n?"page":n,r=e.activeClassName,d=void 0===r?"active":r,f=e.activeStyle,b=e.className,h=e.exact,y=e.isActive,k=e.location,x=e.sensitive,w=e.strict,_=e.style,j=e.to,C=e.innerRef,S=(0,c.A)(e,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","sensitive","strict","style","to","innerRef"]);return a.createElement(s.XZ.Consumer,null,(function(e){e||(0,l.A)(!1);var n=k||e.location,r=p(u(j,n),n),c=r.pathname,M=c&&c.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),E=M?(0,s.B6)(n.pathname,{path:M,exact:h,sensitive:x,strict:w}):null,L=!!(y?y(E,n):E),A="function"==typeof b?b(L):b,T="function"==typeof _?_(L):_;L&&(A=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter((function(e){return e})).join(" ")}(A,d),T=(0,i.A)({},T,f));var P=(0,i.A)({"aria-current":L&&o||null,className:A,style:T,to:r},S);return g!==v?P.ref=t||C:P.innerRef=C,a.createElement(m,P)}))}))},56347:(e,t,n)=>{"use strict";n.d(t,{B6:()=>_,Ix:()=>y,W6:()=>P,XZ:()=>v,dO:()=>A,qh:()=>j,zy:()=>R});var s=n(42892),o=n(96540),a=n(5556),r=n.n(a),i=n(31513),c=n(11561),l=n(58168),d=n(35302),u=n.n(d),p=(n(44363),n(98587)),f=(n(4146),1073741823),b="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n.g?n.g:{};var h=o.createContext||function(e,t){var n,a,i="__create-react-context-"+function(){var e="__global_unique_id__";return b[e]=(b[e]||0)+1}()+"__",c=function(e){function n(){for(var t,n,s,o=arguments.length,a=new Array(o),r=0;r<o;r++)a[r]=arguments[r];return(t=e.call.apply(e,[this].concat(a))||this).emitter=(n=t.props.value,s=[],{on:function(e){s.push(e)},off:function(e){s=s.filter((function(t){return t!==e}))},get:function(){return n},set:function(e,t){n=e,s.forEach((function(e){return e(n,t)}))}}),t}(0,s.A)(n,e);var o=n.prototype;return o.getChildContext=function(){var e;return(e={})[i]=this.emitter,e},o.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,s=this.props.value,o=e.value;((a=s)===(r=o)?0!==a||1/a==1/r:a!=a&&r!=r)?n=0:(n="function"==typeof t?t(s,o):f,0!==(n|=0)&&this.emitter.set(e.value,n))}var a,r},o.render=function(){return this.props.children},n}(o.Component);c.childContextTypes=((n={})[i]=r().object.isRequired,n);var l=function(t){function n(){for(var e,n=arguments.length,s=new Array(n),o=0;o<n;o++)s[o]=arguments[o];return(e=t.call.apply(t,[this].concat(s))||this).observedBits=void 0,e.state={value:e.getValue()},e.onUpdate=function(t,n){(0|e.observedBits)&n&&e.setState({value:e.getValue()})},e}(0,s.A)(n,t);var o=n.prototype;return o.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?f:t},o.componentDidMount=function(){this.context[i]&&this.context[i].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?f:e},o.componentWillUnmount=function(){this.context[i]&&this.context[i].off(this.onUpdate)},o.getValue=function(){return this.context[i]?this.context[i].get():e},o.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},n}(o.Component);return l.contextTypes=((a={})[i]=r().object,a),{Provider:c,Consumer:l}},m=function(e){var t=h();return t.displayName=e,t},g=m("Router-History"),v=m("Router"),y=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._pendingLocation=e}))),n}(0,s.A)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){var e=this;this._isMounted=!0,this.unlisten&&this.unlisten(),this.props.staticContext||(this.unlisten=this.props.history.listen((function(t){e._isMounted&&e.setState({location:t})}))),this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&(this.unlisten(),this._isMounted=!1,this._pendingLocation=null)},n.render=function(){return o.createElement(v.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},o.createElement(g.Provider,{children:this.props.children||null,value:this.props.history}))},t}(o.Component);o.Component;o.Component;var k={},x=1e4,w=0;function _(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,s=n.path,o=n.exact,a=void 0!==o&&o,r=n.strict,i=void 0!==r&&r,c=n.sensitive,l=void 0!==c&&c;return[].concat(s).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var s=function(e,t){var n=""+t.end+t.strict+t.sensitive,s=k[n]||(k[n]={});if(s[e])return s[e];var o=[],a={regexp:u()(e,o,t),keys:o};return w<x&&(s[e]=a,w++),a}(n,{end:a,strict:i,sensitive:l}),o=s.regexp,r=s.keys,c=o.exec(e);if(!c)return null;var d=c[0],p=c.slice(1),f=e===d;return a&&!f?null:{path:n,url:"/"===n&&""===d?"/":d,isExact:f,params:r.reduce((function(e,t,n){return e[t.name]=p[n],e}),{})}}),null)}var j=function(e){function t(){return e.apply(this,arguments)||this}return(0,s.A)(t,e),t.prototype.render=function(){var e=this;return o.createElement(v.Consumer,null,(function(t){t||(0,c.A)(!1);var n=e.props.location||t.location,s=e.props.computedMatch?e.props.computedMatch:e.props.path?_(n.pathname,e.props):t.match,a=(0,l.A)({},t,{location:n,match:s}),r=e.props,i=r.children,d=r.component,u=r.render;return Array.isArray(i)&&function(e){return 0===o.Children.count(e)}(i)&&(i=null),o.createElement(v.Provider,{value:a},a.match?i?"function"==typeof i?i(a):i:d?o.createElement(d,a):u?u(a):null:"function"==typeof i?i(a):null)}))},t}(o.Component);function C(e){return"/"===e.charAt(0)?e:"/"+e}function S(e,t){if(!e)return t;var n=C(e);return 0!==t.pathname.indexOf(n)?t:(0,l.A)({},t,{pathname:t.pathname.substr(n.length)})}function M(e){return"string"==typeof e?e:(0,i.AO)(e)}function E(e){return function(){(0,c.A)(!1)}}function L(){}o.Component;var A=function(e){function t(){return e.apply(this,arguments)||this}return(0,s.A)(t,e),t.prototype.render=function(){var e=this;return o.createElement(v.Consumer,null,(function(t){t||(0,c.A)(!1);var n,s,a=e.props.location||t.location;return o.Children.forEach(e.props.children,(function(e){if(null==s&&o.isValidElement(e)){n=e;var r=e.props.path||e.props.from;s=r?_(a.pathname,(0,l.A)({},e.props,{path:r})):t.match}})),s?o.cloneElement(n,{location:a,computedMatch:s}):null}))},t}(o.Component);var T=o.useContext;function P(){return T(g)}function R(){return T(v).location}},21020:(e,t,n)=>{"use strict";var s=n(96540),o=Symbol.for("react.element"),a=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,i=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,c={key:!0,ref:!0,__self:!0,__source:!0};function l(e,t,n){var s,a={},l=null,d=null;for(s in void 0!==n&&(l=""+n),void 0!==t.key&&(l=""+t.key),void 0!==t.ref&&(d=t.ref),t)r.call(t,s)&&!c.hasOwnProperty(s)&&(a[s]=t[s]);if(e&&e.defaultProps)for(s in t=e.defaultProps)void 0===a[s]&&(a[s]=t[s]);return{$$typeof:o,type:e,key:l,ref:d,props:a,_owner:i.current}}t.Fragment=a,t.jsx=l,t.jsxs=l},15287:(e,t)=>{"use strict";var n=Symbol.for("react.element"),s=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),i=Symbol.for("react.provider"),c=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),u=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),f=Symbol.iterator;var b={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h=Object.assign,m={};function g(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||b}function v(){}function y(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||b}g.prototype.isReactComponent={},g.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},g.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},v.prototype=g.prototype;var k=y.prototype=new v;k.constructor=y,h(k,g.prototype),k.isPureReactComponent=!0;var x=Array.isArray,w=Object.prototype.hasOwnProperty,_={current:null},j={key:!0,ref:!0,__self:!0,__source:!0};function C(e,t,s){var o,a={},r=null,i=null;if(null!=t)for(o in void 0!==t.ref&&(i=t.ref),void 0!==t.key&&(r=""+t.key),t)w.call(t,o)&&!j.hasOwnProperty(o)&&(a[o]=t[o]);var c=arguments.length-2;if(1===c)a.children=s;else if(1<c){for(var l=Array(c),d=0;d<c;d++)l[d]=arguments[d+2];a.children=l}if(e&&e.defaultProps)for(o in c=e.defaultProps)void 0===a[o]&&(a[o]=c[o]);return{$$typeof:n,type:e,key:r,ref:i,props:a,_owner:_.current}}function S(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var M=/\/+/g;function E(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function L(e,t,o,a,r){var i=typeof e;"undefined"!==i&&"boolean"!==i||(e=null);var c=!1;if(null===e)c=!0;else switch(i){case"string":case"number":c=!0;break;case"object":switch(e.$$typeof){case n:case s:c=!0}}if(c)return r=r(c=e),e=""===a?"."+E(c,0):a,x(r)?(o="",null!=e&&(o=e.replace(M,"$&/")+"/"),L(r,t,o,"",(function(e){return e}))):null!=r&&(S(r)&&(r=function(e,t){return{$$typeof:n,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(r,o+(!r.key||c&&c.key===r.key?"":(""+r.key).replace(M,"$&/")+"/")+e)),t.push(r)),1;if(c=0,a=""===a?".":a+":",x(e))for(var l=0;l<e.length;l++){var d=a+E(i=e[l],l);c+=L(i,t,o,d,r)}else if(d=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=f&&e[f]||e["@@iterator"])?e:null}(e),"function"==typeof d)for(e=d.call(e),l=0;!(i=e.next()).done;)c+=L(i=i.value,t,o,d=a+E(i,l++),r);else if("object"===i)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return c}function A(e,t,n){if(null==e)return e;var s=[],o=0;return L(e,s,"","",(function(e){return t.call(n,e,o++)})),s}function T(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var P={current:null},R={transition:null},N={ReactCurrentDispatcher:P,ReactCurrentBatchConfig:R,ReactCurrentOwner:_};t.Children={map:A,forEach:function(e,t,n){A(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return A(e,(function(){t++})),t},toArray:function(e){return A(e,(function(e){return e}))||[]},only:function(e){if(!S(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=g,t.Fragment=o,t.Profiler=r,t.PureComponent=y,t.StrictMode=a,t.Suspense=d,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=N,t.cloneElement=function(e,t,s){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var o=h({},e.props),a=e.key,r=e.ref,i=e._owner;if(null!=t){if(void 0!==t.ref&&(r=t.ref,i=_.current),void 0!==t.key&&(a=""+t.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(l in t)w.call(t,l)&&!j.hasOwnProperty(l)&&(o[l]=void 0===t[l]&&void 0!==c?c[l]:t[l])}var l=arguments.length-2;if(1===l)o.children=s;else if(1<l){c=Array(l);for(var d=0;d<l;d++)c[d]=arguments[d+2];o.children=c}return{$$typeof:n,type:e.type,key:a,ref:r,props:o,_owner:i}},t.createContext=function(e){return(e={$$typeof:c,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:i,_context:e},e.Consumer=e},t.createElement=C,t.createFactory=function(e){var t=C.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:l,render:e}},t.isValidElement=S,t.lazy=function(e){return{$$typeof:p,_payload:{_status:-1,_result:e},_init:T}},t.memo=function(e,t){return{$$typeof:u,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=R.transition;R.transition={};try{e()}finally{R.transition=t}},t.unstable_act=function(){throw Error("act(...) is not supported in production builds of React.")},t.useCallback=function(e,t){return P.current.useCallback(e,t)},t.useContext=function(e){return P.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return P.current.useDeferredValue(e)},t.useEffect=function(e,t){return P.current.useEffect(e,t)},t.useId=function(){return P.current.useId()},t.useImperativeHandle=function(e,t,n){return P.current.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return P.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return P.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return P.current.useMemo(e,t)},t.useReducer=function(e,t,n){return P.current.useReducer(e,t,n)},t.useRef=function(e){return P.current.useRef(e)},t.useState=function(e){return P.current.useState(e)},t.useSyncExternalStore=function(e,t,n){return P.current.useSyncExternalStore(e,t,n)},t.useTransition=function(){return P.current.useTransition()},t.version="18.2.0"},96540:(e,t,n)=>{"use strict";e.exports=n(15287)},74848:(e,t,n)=>{"use strict";e.exports=n(21020)},7463:(e,t)=>{"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var s=n-1>>>1,o=e[s];if(!(0<a(o,t)))break e;e[s]=t,e[n]=o,n=s}}function s(e){return 0===e.length?null:e[0]}function o(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var s=0,o=e.length,r=o>>>1;s<r;){var i=2*(s+1)-1,c=e[i],l=i+1,d=e[l];if(0>a(c,n))l<o&&0>a(d,c)?(e[s]=d,e[l]=n,s=l):(e[s]=c,e[i]=n,s=i);else{if(!(l<o&&0>a(d,n)))break e;e[s]=d,e[l]=n,s=l}}}return t}function a(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var r=performance;t.unstable_now=function(){return r.now()}}else{var i=Date,c=i.now();t.unstable_now=function(){return i.now()-c}}var l=[],d=[],u=1,p=null,f=3,b=!1,h=!1,m=!1,g="function"==typeof setTimeout?setTimeout:null,v="function"==typeof clearTimeout?clearTimeout:null,y="undefined"!=typeof setImmediate?setImmediate:null;function k(e){for(var t=s(d);null!==t;){if(null===t.callback)o(d);else{if(!(t.startTime<=e))break;o(d),t.sortIndex=t.expirationTime,n(l,t)}t=s(d)}}function x(e){if(m=!1,k(e),!h)if(null!==s(l))h=!0,R(w);else{var t=s(d);null!==t&&N(x,t.startTime-e)}}function w(e,n){h=!1,m&&(m=!1,v(S),S=-1),b=!0;var a=f;try{for(k(n),p=s(l);null!==p&&(!(p.expirationTime>n)||e&&!L());){var r=p.callback;if("function"==typeof r){p.callback=null,f=p.priorityLevel;var i=r(p.expirationTime<=n);n=t.unstable_now(),"function"==typeof i?p.callback=i:p===s(l)&&o(l),k(n)}else o(l);p=s(l)}if(null!==p)var c=!0;else{var u=s(d);null!==u&&N(x,u.startTime-n),c=!1}return c}finally{p=null,f=a,b=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var _,j=!1,C=null,S=-1,M=5,E=-1;function L(){return!(t.unstable_now()-E<M)}function A(){if(null!==C){var e=t.unstable_now();E=e;var n=!0;try{n=C(!0,e)}finally{n?_():(j=!1,C=null)}}else j=!1}if("function"==typeof y)_=function(){y(A)};else if("undefined"!=typeof MessageChannel){var T=new MessageChannel,P=T.port2;T.port1.onmessage=A,_=function(){P.postMessage(null)}}else _=function(){g(A,0)};function R(e){C=e,j||(j=!0,_())}function N(e,n){S=g((function(){e(t.unstable_now())}),n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){h||b||(h=!0,R(w))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):M=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return f},t.unstable_getFirstCallbackNode=function(){return s(l)},t.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},t.unstable_scheduleCallback=function(e,o,a){var r=t.unstable_now();switch("object"==typeof a&&null!==a?a="number"==typeof(a=a.delay)&&0<a?r+a:r:a=r,e){case 1:var i=-1;break;case 2:i=250;break;case 5:i=1073741823;break;case 4:i=1e4;break;default:i=5e3}return e={id:u++,callback:o,priorityLevel:e,startTime:a,expirationTime:i=a+i,sortIndex:-1},a>r?(e.sortIndex=a,n(d,e),null===s(l)&&e===s(d)&&(m?(v(S),S=-1):m=!0,N(x,a-r))):(e.sortIndex=i,n(l,e),h||b||(h=!0,R(w))),e},t.unstable_shouldYield=L,t.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}},69982:(e,t,n)=>{"use strict";e.exports=n(7463)},2833:e=>{e.exports=function(e,t,n,s){var o=n?n.call(s,e,t):void 0;if(void 0!==o)return!!o;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var a=Object.keys(e),r=Object.keys(t);if(a.length!==r.length)return!1;for(var i=Object.prototype.hasOwnProperty.bind(t),c=0;c<a.length;c++){var l=a[c];if(!i(l))return!1;var d=e[l],u=t[l];if(!1===(o=n?n.call(s,d,u,l):void 0)||void 0===o&&d!==u)return!1}return!0}},4784:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>s});const s={title:"Eightshift Development kit",tagline:"All the tools you need to start building a modern WordPress project, using all the latest front end development tools.",url:"https://eightshift.com",baseUrl:"/",favicon:"/img/favicon.png",organizationName:"infinum",projectName:"eightshift-docs",staticDirectories:["static"],scripts:[{src:"https://buttons.github.io/buttons.js",async:!0,defer:!0}],themeConfig:{navbar:{logo:{alt:"Eightshift DevKit Logo",src:"/img/logo.svg"},items:[{to:"docs/welcome",activeBasePath:"docs",label:"DevKit",position:"right"},{to:"forms/welcome",activeBasePath:"forms",label:"Forms",position:"right"},{to:"/devkit-components/",activeBasePath:"devkit-components",label:"Components",position:"right"},{to:"/playground/",activeBasePath:"playground",label:"Playground",position:"right"},{to:"/blog",activeBasePath:"blog",label:"Blog",position:"right"},{to:"/showcase",activeBasePath:"showcase",label:"Showcase",position:"right"}],hideOnScroll:!1},footer:{links:[{title:"Community",items:[{label:"Facebook",href:"https://facebook.com/infinumcom",icon:"facebook"},{label:"Instagram",href:"https://instagram.com/infinumcom/",icon:"instagram"},{label:"Twitter",href:"https://twitter.com/infinum",icon:"twitter"},{label:"Clutch",href:"https://clutch.co/profile/infinum",icon:"clutch"},{label:"Dribbble",href:"https://dribbble.com/infinum",icon:"dribbble"},{label:"LinkedIn",href:"https://linkedin.com/company/infinum/",icon:"linkedin"}]}],copyright:"Made with \u2764\ufe0f by Infinum team.",style:"light"},algolia:{appId:"CWB1S6U3C4",apiKey:"cbae3fc769aee256328548eff1e91c1c",indexName:"infinum_eightshift",startUrls:["https://eightshift.com","https://eightshift.com/docs","https://eightshift.com/forms"],contextualSearch:!1,searchParameters:{},searchPagePath:"search"},prism:{theme:{plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},additionalLanguages:["php","scss","css"],magicComments:[{className:"theme-code-block-highlighted-line",line:"highlight-next-line",block:{start:"highlight-start",end:"highlight-end"}}]},colorMode:{defaultMode:"light",disableSwitch:!0,respectPrefersColorScheme:!1},docs:{sidebar:{autoCollapseCategories:!0,hideable:!1},versionPersistence:"localStorage"},trailingSlash:!1,metadata:[],tableOfContents:{minHeadingLevel:2,maxHeadingLevel:3}},presets:[["@docusaurus/preset-classic",{docs:{sidebarPath:"/home/runner/work/eightshift-docs/eightshift-docs/website/sidebars.js",sidebarCollapsible:!0},gtag:{trackingID:"GTM-P5GG5DH",anonymizeIP:!0},theme:{customCss:["/home/runner/work/eightshift-docs/eightshift-docs/website/src/theme/styles.css","/home/runner/work/eightshift-docs/eightshift-docs/website/node_modules/@infinum/docusaurus-theme/dist/style.css"]},blog:{blogTitle:"Tutorials and articles about Eightshift development kit",blogDescription:"Tutorials and articles about Eightshift development kit",blogSidebarTitle:"Latest posts",showReadingTime:!0,postsPerPage:9},sitemap:{changefreq:"weekly",priority:.5}}]],plugins:[["@docusaurus/plugin-content-docs",{id:"forms",path:"forms",routeBasePath:"forms",sidebarPath:"/home/runner/work/eightshift-docs/eightshift-docs/website/sidebars-forms.js"}],"es-text-loader"],customFields:{keywords:["wordpress tools","development tools","wordpress project","Gutenberg blocks","development kit","wordpress kit","devkit"],image:"img-why-boilerplate@2x.png"},baseUrlIssueBanner:!0,i18n:{defaultLocale:"en",path:"i18n",locales:["en"],localeConfigs:{}},onBrokenLinks:"throw",onBrokenAnchors:"warn",onBrokenMarkdownLinks:"warn",onDuplicateRoutes:"warn",themes:[],headTags:[],stylesheets:[],clientModules:[],titleDelimiter:"|",noIndex:!1,markdown:{format:"mdx",mermaid:!1,mdx1Compat:{comments:!0,admonitions:!0,headingIds:!0}}}},58168:(e,t,n)=>{"use strict";function s(){return s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e},s.apply(this,arguments)}n.d(t,{A:()=>s})},42892:(e,t,n)=>{"use strict";function s(e,t){return s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},s(e,t)}function o(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,s(e,t)}n.d(t,{A:()=>o})},98587:(e,t,n)=>{"use strict";function s(e,t){if(null==e)return{};var n,s,o={},a=Object.keys(e);for(s=0;s<a.length;s++)n=a[s],t.indexOf(n)>=0||(o[n]=e[n]);return o}n.d(t,{A:()=>s})},25552:(e,t,n)=>{"use strict";n.d(t,{MJ:()=>m,Pt:()=>d,V:()=>b,VX:()=>_,am:()=>v,eH:()=>S,eO:()=>j,lq:()=>w,u5:()=>g,uJ:()=>u,v7:()=>C,wi:()=>x});var s,o=n(96540),a={exports:{}},r={};var i,c={};a.exports="production"==={}.NODE_ENV?function(){if(s)return r;s=1;var e=o,t=Symbol.for("react.element"),n=Symbol.for("react.fragment"),a=Object.prototype.hasOwnProperty,i=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,c={key:!0,ref:!0,__self:!0,__source:!0};function l(e,n,s){var o,r={},l=null,d=null;for(o in void 0!==s&&(l=""+s),void 0!==n.key&&(l=""+n.key),void 0!==n.ref&&(d=n.ref),n)a.call(n,o)&&!c.hasOwnProperty(o)&&(r[o]=n[o]);if(e&&e.defaultProps)for(o in n=e.defaultProps)void 0===r[o]&&(r[o]=n[o]);return{$$typeof:t,type:e,key:l,ref:d,props:r,_owner:i.current}}return r.Fragment=n,r.jsx=l,r.jsxs=l,r}():(i||(i=1,"production"!=={}.NODE_ENV&&function(){var e=o,t=Symbol.for("react.element"),n=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),i=Symbol.for("react.provider"),l=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),p=Symbol.for("react.suspense_list"),f=Symbol.for("react.memo"),b=Symbol.for("react.lazy"),h=Symbol.for("react.offscreen"),m=Symbol.iterator,g="@@iterator",v=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function y(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),s=1;s<t;s++)n[s-1]=arguments[s];!function(e,t,n){var s=v.ReactDebugCurrentFrame,o=s.getStackAddendum();""!==o&&(t+="%s",n=n.concat([o]));var a=n.map((function(e){return String(e)}));a.unshift("Warning: "+t),Function.prototype.apply.call(console[e],console,a)}("error",e,n)}var k,x=!1,w=!1,_=!1,j=!1,C=!1;function S(e){return e.displayName||"Context"}function M(e){if(null==e)return null;if("number"==typeof e.tag&&y("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),"function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case s:return"Fragment";case n:return"Portal";case r:return"Profiler";case a:return"StrictMode";case u:return"Suspense";case p:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case l:return S(e)+".Consumer";case i:return S(e._context)+".Provider";case d:return function(e,t,n){var s=e.displayName;if(s)return s;var o=t.displayName||t.name||"";return""!==o?n+"("+o+")":n}(e,e.render,"ForwardRef");case f:var t=e.displayName||null;return null!==t?t:M(e.type)||"Memo";case b:var o=e,c=o._payload,h=o._init;try{return M(h(c))}catch{return null}}return null}k=Symbol.for("react.module.reference");var E,L,A,T,P,R,N,Z=Object.assign,O=0;function D(){}D.__reactDisabledLog=!0;var B,I=v.ReactCurrentDispatcher;function F(e,t,n){if(void 0===B)try{throw Error()}catch(o){var s=o.stack.trim().match(/\n( *(at )?)/);B=s&&s[1]||""}return"\n"+B+e}var z,W=!1,$="function"==typeof WeakMap?WeakMap:Map;function H(e,t){if(!e||W)return"";var n,s=z.get(e);if(void 0!==s)return s;W=!0;var o,a=Error.prepareStackTrace;Error.prepareStackTrace=void 0,o=I.current,I.current=null,function(){if(0===O){E=console.log,L=console.info,A=console.warn,T=console.error,P=console.group,R=console.groupCollapsed,N=console.groupEnd;var e={configurable:!0,enumerable:!0,value:D,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}O++}();try{if(t){var r=function(){throw Error()};if(Object.defineProperty(r.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(r,[])}catch(b){n=b}Reflect.construct(e,[],r)}else{try{r.call()}catch(b){n=b}e.call(r.prototype)}}else{try{throw Error()}catch(b){n=b}e()}}catch(b){if(b&&n&&"string"==typeof b.stack){for(var i=b.stack.split("\n"),c=n.stack.split("\n"),l=i.length-1,d=c.length-1;l>=1&&d>=0&&i[l]!==c[d];)d--;for(;l>=1&&d>=0;l--,d--)if(i[l]!==c[d]){if(1!==l||1!==d)do{if(l--,--d<0||i[l]!==c[d]){var u="\n"+i[l].replace(" at new "," at ");return e.displayName&&u.includes("<anonymous>")&&(u=u.replace("<anonymous>",e.displayName)),"function"==typeof e&&z.set(e,u),u}}while(l>=1&&d>=0);break}}}finally{W=!1,I.current=o,function(){if(0==--O){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:Z({},e,{value:E}),info:Z({},e,{value:L}),warn:Z({},e,{value:A}),error:Z({},e,{value:T}),group:Z({},e,{value:P}),groupCollapsed:Z({},e,{value:R}),groupEnd:Z({},e,{value:N})})}O<0&&y("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}(),Error.prepareStackTrace=a}var p=e?e.displayName||e.name:"",f=p?F(p):"";return"function"==typeof e&&z.set(e,f),f}function V(e,t,n){if(null==e)return"";if("function"==typeof e)return H(e,function(e){var t=e.prototype;return!(!t||!t.isReactComponent)}(e));if("string"==typeof e)return F(e);switch(e){case u:return F("Suspense");case p:return F("SuspenseList")}if("object"==typeof e)switch(e.$$typeof){case d:return function(e,t,n){return H(e,!1)}(e.render);case f:return V(e.type,t,n);case b:var s=e,o=s._payload,a=s._init;try{return V(a(o),t,n)}catch{}}return""}z=new $;var U=Object.prototype.hasOwnProperty,q={},G=v.ReactDebugCurrentFrame;function K(e){if(e){var t=e._owner,n=V(e.type,e._source,t?t.type:null);G.setExtraStackFrame(n)}else G.setExtraStackFrame(null)}var Y=Array.isArray;function Q(e){return Y(e)}function X(e){return""+e}function J(e){if(function(e){try{return X(e),!1}catch{return!0}}(e))return y("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",function(e){return"function"==typeof Symbol&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object"}(e)),X(e)}var ee,te,ne,se=v.ReactCurrentOwner,oe={key:!0,ref:!0,__self:!0,__source:!0};ne={};var ae=function(e,n,s,o,a,r,i){var c={$$typeof:t,type:e,key:n,ref:s,props:i,_owner:r,_store:{}};return Object.defineProperty(c._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(c,"_self",{configurable:!1,enumerable:!1,writable:!1,value:o}),Object.defineProperty(c,"_source",{configurable:!1,enumerable:!1,writable:!1,value:a}),Object.freeze&&(Object.freeze(c.props),Object.freeze(c)),c};function re(e,t,n,s,o){var a,r={},i=null,c=null;for(a in void 0!==n&&(J(n),i=""+n),function(e){if(U.call(e,"key")){var t=Object.getOwnPropertyDescriptor(e,"key").get;if(t&&t.isReactWarning)return!1}return void 0!==e.key}(t)&&(J(t.key),i=""+t.key),function(e){if(U.call(e,"ref")){var t=Object.getOwnPropertyDescriptor(e,"ref").get;if(t&&t.isReactWarning)return!1}return void 0!==e.ref}(t)&&(c=t.ref,function(e,t){if("string"==typeof e.ref&&se.current&&t&&se.current.stateNode!==t){var n=M(se.current.type);ne[n]||(y('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',M(se.current.type),e.ref),ne[n]=!0)}}(t,o)),t)U.call(t,a)&&!oe.hasOwnProperty(a)&&(r[a]=t[a]);if(e&&e.defaultProps){var l=e.defaultProps;for(a in l)void 0===r[a]&&(r[a]=l[a])}if(i||c){var d="function"==typeof e?e.displayName||e.name||"Unknown":e;i&&function(e,t){var n=function(){ee||(ee=!0,y("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",t))};n.isReactWarning=!0,Object.defineProperty(e,"key",{get:n,configurable:!0})}(r,d),c&&function(e,t){var n=function(){te||(te=!0,y("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",t))};n.isReactWarning=!0,Object.defineProperty(e,"ref",{get:n,configurable:!0})}(r,d)}return ae(e,i,c,o,s,se.current,r)}var ie,ce=v.ReactCurrentOwner,le=v.ReactDebugCurrentFrame;function de(e){if(e){var t=e._owner,n=V(e.type,e._source,t?t.type:null);le.setExtraStackFrame(n)}else le.setExtraStackFrame(null)}function ue(e){return"object"==typeof e&&null!==e&&e.$$typeof===t}function pe(){if(ce.current){var e=M(ce.current.type);if(e)return"\n\nCheck the render method of `"+e+"`."}return""}ie=!1;var fe={};function be(e,t){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var n=function(e){var t=pe();if(!t){var n="string"==typeof e?e:e.displayName||e.name;n&&(t="\n\nCheck the top-level render call using <"+n+">.")}return t}(t);if(!fe[n]){fe[n]=!0;var s="";e&&e._owner&&e._owner!==ce.current&&(s=" It was passed a child from "+M(e._owner.type)+"."),de(e),y('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',n,s),de(null)}}}function he(e,t){if("object"==typeof e)if(Q(e))for(var n=0;n<e.length;n++){var s=e[n];ue(s)&&be(s,t)}else if(ue(e))e._store&&(e._store.validated=!0);else if(e){var o=function(e){if(null===e||"object"!=typeof e)return null;var t=m&&e[m]||e[g];return"function"==typeof t?t:null}(e);if("function"==typeof o&&o!==e.entries)for(var a,r=o.call(e);!(a=r.next()).done;)ue(a.value)&&be(a.value,t)}}function me(e){var t,n=e.type;if(null!=n&&"string"!=typeof n){if("function"==typeof n)t=n.propTypes;else{if("object"!=typeof n||n.$$typeof!==d&&n.$$typeof!==f)return;t=n.propTypes}if(t){var s=M(n);!function(e,t,n,s,o){var a=Function.call.bind(U);for(var r in e)if(a(e,r)){var i=void 0;try{if("function"!=typeof e[r]){var c=Error((s||"React class")+": "+n+" type `"+r+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[r]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw c.name="Invariant Violation",c}i=e[r](t,r,s,n,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(l){i=l}i&&!(i instanceof Error)&&(K(o),y("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",s||"React class",n,r,typeof i),K(null)),i instanceof Error&&!(i.message in q)&&(q[i.message]=!0,K(o),y("Failed %s type: %s",n,i.message),K(null))}}(t,e.props,"prop",s,e)}else void 0===n.PropTypes||ie||(ie=!0,y("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",M(n)||"Unknown"));"function"==typeof n.getDefaultProps&&!n.getDefaultProps.isReactClassApproved&&y("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function ge(e,n,o,c,m,g){var v=function(e){return!!("string"==typeof e||"function"==typeof e||e===s||e===r||C||e===a||e===u||e===p||j||e===h||x||w||_||"object"==typeof e&&null!==e&&(e.$$typeof===b||e.$$typeof===f||e.$$typeof===i||e.$$typeof===l||e.$$typeof===d||e.$$typeof===k||void 0!==e.getModuleId))}(e);if(!v){var S="";(void 0===e||"object"==typeof e&&null!==e&&0===Object.keys(e).length)&&(S+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var E,L=function(e){return void 0!==e?"\n\nCheck your code at "+e.fileName.replace(/^.*[\\\/]/,"")+":"+e.lineNumber+".":""}(m);S+=L||pe(),null===e?E="null":Q(e)?E="array":void 0!==e&&e.$$typeof===t?(E="<"+(M(e.type)||"Unknown")+" />",S=" Did you accidentally export a JSX literal instead of a component?"):E=typeof e,y("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",E,S)}var A=re(e,n,o,m,g);if(null==A)return A;if(v){var T=n.children;if(void 0!==T)if(c)if(Q(T)){for(var P=0;P<T.length;P++)he(T[P],e);Object.freeze&&Object.freeze(T)}else y("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else he(T,e)}return e===s?function(e){for(var t=Object.keys(e.props),n=0;n<t.length;n++){var s=t[n];if("children"!==s&&"key"!==s){de(e),y("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",s),de(null);break}}null!==e.ref&&(de(e),y("Invalid attribute `ref` supplied to `React.Fragment`."),de(null))}(A):me(A),A}var ve=function(e,t,n){return ge(e,t,n,!1)},ye=function(e,t,n){return ge(e,t,n,!0)};c.Fragment=s,c.jsx=ve,c.jsxs=ye}()),c);var l=a.exports;const d={accessibility:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M11 18h10.024M37 18H21.024m0 0v8.8m0 13.2V26.8m5.952-8.8v8.8m0 13.2V26.8m-5.952 0h5.952",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("circle",{cx:"23.9999",cy:"11",r:"3",stroke:"currentColor",strokeWidth:"2",fill:"none"})]}),android1:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M30 30a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm-12 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z",fill:"currentColor"}),l.jsx("path",{d:"M11 32v-2.859c0-7.185 5.77-13.116 12.954-13.14A12.999 12.999 0 0 1 37 29v4H11v-1Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"m11 14 4.884 4.884M37 14l-4.862 4.862",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"round",fill:"none"})]}),android2:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M29 21h4.7c.5 0 .9.4 1 .8l1 5.9c.2 1.2-.8 2.3-2 2.3H33c-.6 0-1-.4-1-1v-1 5c0 .6-.4 1-1 1h-1v5h-4v-5h-2",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M29 21H14.3c-.5 0-.9.4-1 .8l-1 5.9c-.2 1.2.8 2.3 2 2.3h.7c.6 0 1-.4 1-1v-1 5c0 .6.4 1 1 1h1v5h4v-5h2",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M20.5 18a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm7 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z",fill:"currentColor"}),l.jsx("path",{d:"M29.9 12.6 33 9m-15 3.6L14.9 9",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M16.6 21.1c-.4-1-.6-2-.6-3.1 0-4.4 3.6-8 8-8s8 3.6 8 8c0 1.1-.2 2.1-.6 3",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),angular:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"m24 11-12 5 2 16 10 6 10-6 2-16-12-5Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M23.995 16.277 17.9 29.923h2.274l1.183-3.093h5.186l1.183 3.093H30l-6.005-13.646Zm1.82 8.733h-3.548l1.82-4.275 1.728 4.276Z",fill:"currentColor"})]}),appleIos:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",d:"M24 18.2c1 0 3-1.5 5.4-1.5 4.1 0 5.5 3.7 5.5 3.7s-4.4 1.5-4.4 5.5c0 4.4 4.4 5.3 4.4 5.3s-3.1 11.2-11 6.7c-7.8 4.6-12-6.2-12-12.2 0-5.8 3.6-8.9 7.1-8.9 2.3 0 3.9 1.4 5 1.4Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M23.6 13C28 14 31 12 31 8",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),babyBonus:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 39c8.284 0 15-6.716 15-15 0-8.284-6.716-15-15-15-8.284 0-15 6.716-15 15 0 8.284 6.716 15 15 15Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M27.563 29.938a4.489 4.489 0 0 1-1.506 1.738 3.7 3.7 0 0 1-2.057.637c-.722 0-1.431-.22-2.056-.637a4.49 4.49 0 0 1-1.506-1.738",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M17.656 26.375a1.781 1.781 0 1 0 0-3.563 1.781 1.781 0 0 0 0 3.563Zm12.688 0a1.781 1.781 0 1 0 0-3.562 1.781 1.781 0 0 0 0 3.562Z",fill:"currentColor"}),l.jsx("path",{d:"M20.293 13.633c1.236-2.173-.567-4.464-3.354-2.598-1.858 1.244-3.535-.055-3.228-1.606",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",strokeLinejoin:"round",fill:"none"})]}),bag:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M12 35h24l1.993-16.89a.925.925 0 0 0-.045-.415.983.983 0 0 0-.225-.362 1.087 1.087 0 0 0-.366-.246 1.168 1.168 0 0 0-.444-.087H11.087c-.153 0-.304.03-.444.087-.14.058-.264.141-.366.246a.983.983 0 0 0-.225.362.925.925 0 0 0-.045.415L12 35Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M19 16.313a5.312 5.312 0 1 1 10.625 0",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})]}),book1:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M25 35v-1.852c0-1.019.9-1.852 2-1.852h6v-18.52l-3.5-1.483c-2.6-1.018-5.5.741-5.5 3.334M23 35v-1.76c0-1.018-.9-1.852-2-1.852h-6V12.776l3.5-1.482c2.6-1.018 5.5.741 5.5 3.334",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M33 16h4v19H24m-9-19h-4v19h13m0-21v2",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),book:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M30.375 10.25V23l-4.25-3.188L21.874 23V10.25",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M12 35a1 1 0 1 0 2 0h-2Zm4.3-3.26v-1 1Zm18.7 0v1h1v-1h-1ZM35 10h1V9h-1v1ZM14 35c0-.596.24-1.17.67-1.594l-1.406-1.423A4.241 4.241 0 0 0 12 35h2Zm.67-1.594a2.32 2.32 0 0 1 1.63-.667v-2a4.32 4.32 0 0 0-3.036 1.244l1.405 1.423Zm1.63-.667H35v-2H16.3v2Zm19.7-1V10h-2v21.74h2ZM35 9H16.3v2H35V9ZM16.3 9a4.32 4.32 0 0 0-3.036 1.244l1.405 1.422A2.32 2.32 0 0 1 16.3 11V9Zm-3.036 1.244A4.241 4.241 0 0 0 12 13.26h2c0-.596.24-1.17.67-1.595l-1.406-1.422ZM12 13.26V35h2V13.26h-2Z",fill:"currentColor"}),l.jsx("path",{d:"M13 36v1h20",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",strokeLinejoin:"round",fill:"none"})]}),book2:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M29 11v12l-4-3-4 3V11",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M13 36c0-.796.348-1.559.967-2.121A3.475 3.475 0 0 1 16.3 33H35V11H16.3c-.875 0-1.714.316-2.333.879C13.348 12.44 13 13.204 13 14v22Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M13 36v1h18",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",fill:"none"})]}),car:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M8 23h32",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M37 32v3.75c0 .331-.105.65-.293.884-.187.234-.442.366-.707.366h-3c-.265 0-.52-.132-.707-.366A1.424 1.424 0 0 1 32 35.75V32m-16 0v3.75c0 .331-.105.65-.293.884-.187.234-.442.366-.707.366h-3c-.265 0-.52-.132-.707-.366A1.424 1.424 0 0 1 11 35.75V32m4-4.625h2.25m13.5 0H33",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m37 23.059-4.047-9.395a1.11 1.11 0 0 0-.4-.483 1.06 1.06 0 0 0-.59-.181H16.037c-.21 0-.414.063-.59.18a1.11 1.11 0 0 0-.4.484L11 23.059V32h26v-8.941Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})]}),chartAnalytics2:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 23V10.5M35.5 17 12.309 30.75",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"M10.725 26.468a13.521 13.521 0 0 1 8.775-15.2v10.134l-8.775 5.066Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M24 10.5a13.5 13.5 0 1 1-11.641 20.34",stroke:"currentColor",strokeWidth:"2",fill:"none"})]}),chartAnaytics1:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M14 35V25h6",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M39 34.991 10 35",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M21 35V18h6m8-7h-7v24h7V11Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"})]}),chartBizdev:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"m11 31 10.4-9.1 2.6 2.6L35 14",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M36 35H11V12",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M29 14h6v6",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),cloudDevops2:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M32 20c3.9.3 7 3.5 7 7.5 0 4.1-3.4 7.5-7.5 7.5h-14",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M24 27.5c0 4.1-3.4 7.5-7.5 7.5S9 31.6 9 27.5c0-4 3.1-7.2 7-7.5 0-4.4 3.6-8 8-8s8 3.6 8 8c0 2-.8 3.9-2 5.3",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),cloudDevops:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M22 35h-5.302a7.465 7.465 0 0 1-3.168-.711 7.732 7.732 0 0 1-2.607-2.001A8.087 8.087 0 0 1 9.34 29.35a8.292 8.292 0 0 1-.28-3.353 8.202 8.202 0 0 1 1.074-3.176 7.881 7.881 0 0 1 2.236-2.436 7.55 7.55 0 0 1 3.004-1.266 7.43 7.43 0 0 1 3.239.13",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("path",{d:"M17 24.25c0-1.783.415-3.54 1.209-5.127a11.185 11.185 0 0 1 3.36-4 10.866 10.866 0 0 1 4.773-1.994 10.767 10.767 0 0 1 5.137.448 10.968 10.968 0 0 1 4.373 2.794 11.304 11.304 0 0 1 2.648 4.525c.52 1.701.636 3.505.34 5.261A11.382 11.382 0 0 1 36.8 31",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("path",{d:"M24 28.773 29 24l5 4.773M29 38V24",stroke:"currentColor",strokeWidth:"2",fill:"none"})]}),contentCreator:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M18.581 37H11v-7.581a1.152 1.152 0 0 1 .337-.814l17.268-17.268a1.151 1.151 0 0 1 1.628 0l6.43 6.43a1.151 1.151 0 0 1 0 1.628L19.395 36.663a1.153 1.153 0 0 1-.814.337Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M25.125 15 33 22.875",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m28.5 33 5.625-5.625-1.125-4.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m11.697 28.572 7.732 7.732",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})]}),cycle:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M35.25 17.25A2.25 2.25 0 0 0 33 15h-5.625l7.875 13.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M35.25 34.125a5.625 5.625 0 1 0 0-11.25 5.625 5.625 0 0 0 0 11.25Zm-22.5 0a5.625 5.625 0 1 0 0-11.25 5.625 5.625 0 0 0 0 11.25Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M12.75 15h3.938l7.875 13.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M29.919 19.5H19.312l-6.562 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})]}),dataAnalyst:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M23 35c6.627 0 12-5.373 12-12s-5.373-12-12-12-12 5.373-12 12 5.373 12 12 12Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"m38 38-6-6m-20-4 7.2-7 3.9 4.1 5.1-6.2",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M19 23a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm4 4a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm5-6a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z",fill:"currentColor"})]}),designerPenTool:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 27v11.938M24 27a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M17 16V9h14v7",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("path",{d:"m16.685 16-3.577 7.244a1.046 1.046 0 0 0 .095 1.083L24 39l10.797-14.673a1.046 1.046 0 0 0 .095-1.083L31.315 16h-14.63Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"})]}),devProcess1:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M8.208 23.057a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM22.086 14a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm4.957 19.97a3 3 0 1 1 6 0 3 3 0 0 1-6 0ZM34 23.057a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Zm-18.16 0h.75c.596 0 1.169-.232 1.59-.645.422-.412.66-.972.66-1.555v-4.6c0-.584.237-1.143.659-1.556a2.276 2.276 0 0 1 1.59-.644h.75m-1.362 9h.75c.597 0 1.17.232 1.591.644.422.413.66.972.66 1.556v6.6c0 .583.237 1.143.659 1.555.421.413.994.645 1.59.645h.75",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M34.826 23.057h-20",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"round",fill:"none"})]}),devProcess2:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M39 35H7v-2h32v2Z",fill:"currentColor"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M37.213 30 41 34l-3.787 4L36 36.718 38.574 34 36 31.282 37.213 30Z",fill:"currentColor"}),l.jsx("path",{clipRule:"evenodd",d:"M26.043 27.253a6.35 6.35 0 0 0 .688-.34c.23-.131.442-.275.635-.432l1.948.795a.405.405 0 0 0 .483-.164l1.577-2.716a.399.399 0 0 0-.085-.505l-1.652-1.304a5.775 5.775 0 0 0 .005-1.53l1.658-1.293a.393.393 0 0 0 .094-.506l-1.56-2.725a.382.382 0 0 0-.481-.166l-1.95.78a5.91 5.91 0 0 0-1.323-.768l-.29-2.086a.388.388 0 0 0-.392-.33l-3.14-.009a.38.38 0 0 0-.384.335l-.3 2.084a4.966 4.966 0 0 0-.698.322 4.856 4.856 0 0 0-.634.432l-1.949-.795a.405.405 0 0 0-.482.164l-1.577 2.716a.398.398 0 0 0 .085.505l1.652 1.304a5.753 5.753 0 0 0-.005 1.53l-1.658 1.293a.4.4 0 0 0-.095.506l1.562 2.725c.097.171.3.247.48.167l1.95-.78c.41.319.859.57 1.324.767l.29 2.086c.028.188.19.332.392.33l3.138.009a.38.38 0 0 0 .385-.335l.31-2.066Z",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{clipRule:"evenodd",d:"M22.184 22.731a2.008 2.008 0 0 1 .741-2.733 2.008 2.008 0 0 1 2.733.741 2.008 2.008 0 0 1-.74 2.733 2.008 2.008 0 0 1-2.734-.74Z",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M13 22c0-6.075 4.925-11 11-11s11 4.925 11 11-4.925 11-11 11h-6.931c2.006 1.267 4.383 2 6.931 2 7.18 0 13-5.82 13-13S31.18 9 24 9s-13 5.82-13 13c0 3.493 1.378 6.664 3.62 9h3.054A10.987 10.987 0 0 1 13 22Z",fill:"currentColor"})]}),discount:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 49 48",width:"49",height:"48",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M15.628 21.718a5.62 5.62 0 1 0 0-11.238 5.62 5.62 0 0 0 0 11.238Zm0-2.094a3.525 3.525 0 1 0 0-7.05 3.525 3.525 0 0 0 0 7.05Z",fill:"currentColor"}),l.jsx("path",{d:"m12.953 36.712 19.66-26.547 1.684 1.247-19.661 26.547-1.683-1.247Z",fill:"currentColor"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M37.834 31.292a5.62 5.62 0 1 1-11.239 0 5.62 5.62 0 0 1 11.239 0Zm-2.095 0a3.525 3.525 0 1 1-7.05 0 3.525 3.525 0 0 1 7.05 0Z",fill:"currentColor"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"m32.51 9.466 2.486 1.842-20.256 27.35-2.487-1.841L32.51 9.467Zm.208 1.399L13.652 36.608l.88.652 19.065-25.744-.88-.651Zm-17.09.114a5.12 5.12 0 1 0 0 10.24 5.12 5.12 0 0 0 0-10.24Zm-6.12 5.12a6.12 6.12 0 1 1 12.24 0 6.12 6.12 0 0 1-12.24 0Zm6.12-3.025a3.025 3.025 0 1 0 0 6.05 3.025 3.025 0 0 0 0-6.05Zm-4.025 3.025a4.025 4.025 0 1 1 8.05 0 4.025 4.025 0 0 1-8.05 0Zm14.492 15.193a6.12 6.12 0 1 1 12.239 0 6.12 6.12 0 0 1-12.24 0Zm6.12-5.119a5.12 5.12 0 1 0 0 10.239 5.12 5.12 0 0 0 0-10.239Zm-4.026 5.12a4.025 4.025 0 1 1 8.05 0 4.025 4.025 0 0 1-8.05 0Zm4.025-3.026a3.025 3.025 0 1 0 0 6.05 3.025 3.025 0 0 0 0-6.05Z",fill:"currentColor"})]}),display:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 49 48",width:"49",height:"48",fill:"none",children:l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M36.958 11.377H11.542a2.158 2.158 0 0 0-2.159 2.159v16.077a2.16 2.16 0 0 0 2.159 2.159h25.416a2.158 2.158 0 0 0 2.159-2.159V13.536a2.158 2.158 0 0 0-2.159-2.159ZM11.542 9.22a4.317 4.317 0 0 0-4.317 4.317v16.077a4.316 4.316 0 0 0 4.317 4.317h12.1v2.693h-7.15v2.158h16.46v-2.158h-7.15V33.93h11.156a4.317 4.317 0 0 0 4.317-4.317V13.536a4.317 4.317 0 0 0-4.317-4.317H11.542Z",fill:"currentColor"})}),dotNet:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M11.5 38a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z",fill:"currentColor"}),l.jsx("path",{d:"M30 22 20 11h-3v25c0 .6.4 1 1 1h4m8-26h4c.6 0 1 .4 1 1v25h-4.2L22 26",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),extra:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 49 48",width:"49",height:"48",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M13.59 11.806c0-1.716 1.382-3.131 3.106-3.131h16.108c1.724 0 3.106 1.415 3.106 3.13v24.427c0 1.696-1.363 3.093-3.069 3.093H16.66c-1.706 0-3.069-1.397-3.069-3.093V11.806Zm3.106-1.268c-.674 0-1.242.56-1.242 1.268v24.426c0 .688.55 1.23 1.205 1.23H32.84c.655 0 1.205-.542 1.205-1.23V11.806c0-.707-.568-1.268-1.242-1.268H16.696Z",fill:"currentColor"}),l.jsx("path",{d:"M24.75 35.56a1.404 1.404 0 1 0 0-2.807 1.404 1.404 0 0 0 0 2.808Z",fill:"currentColor"})]}),featureIdeasAndContentBlocks:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:l.jsx("path",{stroke:"currentColor",strokeWidth:"2",d:"M30 12h6v6h-6zM11 22h7v14h-7zm11 0h14v14H22zM11 12h15v6H11z",fill:"none"})}),financeAssistantCalculator:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M31 15H17v7h14v-7Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M35 37V11H13v26h22Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M18.375 28.5a1.687 1.687 0 1 0 0-3.375 1.687 1.687 0 0 0 0 3.375Zm5.625 0a1.687 1.687 0 1 0 0-3.375 1.687 1.687 0 0 0 0 3.375Zm5.625 0a1.687 1.687 0 1 0 0-3.375 1.687 1.687 0 0 0 0 3.375Zm-11.25 5.625a1.687 1.687 0 1 0 0-3.375 1.687 1.687 0 0 0 0 3.375Zm5.625 0a1.687 1.687 0 1 0 0-3.375 1.687 1.687 0 0 0 0 3.375Zm5.625 0a1.687 1.687 0 1 0 0-3.375 1.687 1.687 0 0 0 0 3.375Z",fill:"currentColor"})]}),flutter:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M14.784 27 11 23.02 23.378 10H31L14.784 27ZM22 33.984 25.02 37H33l-7.01-7",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M21.992 25.98 18 29.99 21.992 34 33 23h-8.042l-2.966 2.98Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"m22.472 34.42 5.622-2.385-1.931-1.931-3.691 4.316Z",fill:"currentColor"})]}),frontendDevelopment:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M15 18a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z",fill:"currentColor"}),l.jsx("path",{d:"m28 22 4.621 4.621L28 31.243M23 22l-4.5 4.5L23 31",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M35.917 13H11v22h26V13h-1.083Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"})]}),frontendDevelopment2:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M35.917 13H11v22h26V13h-1.083Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M23 23h-8v8h8v-8Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M15 18a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z",fill:"currentColor"}),l.jsx("path",{d:"M26 23h8m-8 4h4",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),githubFork:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M16 37a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm17-18a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm-17 0a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm0 10v-1.125c0-.895.358-1.753.996-2.386A3.413 3.413 0 0 1 19.4 24.5h10.2c.902 0 1.767-.356 2.404-.989A3.362 3.362 0 0 0 33 21.125V20",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M16 19v10",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"round",fill:"none"})]}),globe:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 39c8.284 0 15-6.716 15-15 0-8.284-6.716-15-15-15-8.284 0-15 6.716-15 15 0 8.284 6.716 15 15 15Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m37.463 30.62-8.482-5.216a1.25 1.25 0 0 0-.488-.174l-3.565-.48a1.25 1.25 0 0 0-1.309.729l-2.14 4.803a1.25 1.25 0 0 0 .223 1.357l2.938 3.178a1.249 1.249 0 0 1 .31 1.086l-.599 3.093",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m14.149 12.688-1.398 3.305a1.25 1.25 0 0 0-.019.926l1.795 4.791a1.25 1.25 0 0 0 .908.784l3.349.72a1.25 1.25 0 0 1 .862.677l.595 1.229a1.25 1.25 0 0 0 1.125.705h2.099",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m27.822 9.492 1.458 2.612a1.25 1.25 0 0 1-.253 1.537l-4.205 3.802c-.071.065-.15.121-.234.167l-1.913 1.057a1.25 1.25 0 0 1-.604.156h-3.335a1.25 1.25 0 0 0-1.152.764l-1.301 3.09",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})]}),healthCheck:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M9.75 23h-1v2h1v-2Zm5.938 1v1a1 1 0 0 0 .832-.445L15.688 24Zm2.374-3.563.833-.554a1 1 0 0 0-1.665 0l.832.555Zm4.75 7.125-.832.555a1 1 0 0 0 1.665 0l-.832-.555ZM25.188 24v-1a1 1 0 0 0-.832.445l.832.555Zm3.563 1a1 1 0 1 0 0-2v2Zm-19 0h5.938v-2H9.75v2Zm6.77-.445 2.375-3.563-1.665-1.11-2.375 3.563 1.665 1.11Zm.71-3.563 4.75 7.125 1.665-1.11-4.75-7.124-1.665 1.11Zm6.415 7.125 2.375-3.562-1.665-1.11-2.375 3.563 1.665 1.11ZM25.188 25h3.562v-2h-3.563v2Z",fill:"currentColor"}),l.jsx("path",{d:"M9.173 19.249a10.477 10.477 0 0 1-.017-.593A7.72 7.72 0 0 1 24 15.682a7.72 7.72 0 0 1 14.844 2.974C38.844 28.75 24 37.063 24 37.063s-5.93-3.32-10.293-8.313",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"round",fill:"none"})]}),hrAssistant:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"m38.5 23.5-2.125 1.364-4.5-8.618L37 13",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"m9.5 23.5 2.125 1.213 4.5-8.618L11 13.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m36.375 24.864-2.25 2.632c-1.424 1.424-5.67 5.463-5.67 5.463s-6.53-1.482-8.723-2.03a1.125 1.125 0 0 1-.42-.205l-7.687-6.01",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"m34.125 27.496-6.188-4.5-1.8 1.35a4.5 4.5 0 0 1-5.4 0l-.762-.572a1.125 1.125 0 0 1-.12-1.695l5.503-5.503a1.124 1.124 0 0 1 .796-.33h5.721",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m16.206 16.095 7.217-2.104c.257-.075.534-.055.778.056L26 16m-4.25 19.934-4.238-1.06a1.125 1.125 0 0 1-.465-.242l-3.172-2.757",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",fill:"none"})]}),hr1:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M20 29h-9v-9a9 9 0 1 1 9 9Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M19 28.996a9.042 9.042 0 0 0 3.387 4.351A9.45 9.45 0 0 0 27.737 35H37v-9.007c0-2.303-.908-4.52-2.537-6.192C32.834 18.128 31 17.5 29.5 17.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"})]}),hr2:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"m28.326 23.995 3.66 3.504c.698.668 1.918.668 2.615 0 .697-.667.697-1.835 0-2.503l-5.316-5.007a3.853 3.853 0 0 0-5.317 0l-1.22 1.168a1.737 1.737 0 0 1-2.44 0L19 19.906s2.963-3.088 5.49-5.174c2.529-2.086 7.148-2.67 10.286.417 3.137 3.004 2.789 7.093 0 9.93",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"m24 15.052-.346-.331c-2.509-2.073-7.094-2.653-10.208.414C10.33 18.202 10 22 14 25.5M32.5 28c.345.69.14 1.76-.465 2.364-.69.69-1.898.69-2.589 0l-3.625-3.625m3.97 4.056a1.85 1.85 0 0 1-.345 2.158c-.69.69-1.899.69-2.59 0m-.603 1.554-1.122 1.035c-.69.69-1.9.69-2.59 0s-.69-1.898 0-2.589l1.122-1.036c.69-.69 1.9-.69 2.59 0s.69 1.9 0 2.59Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m23.49 32.004-1.38 1.38c-.69.691-1.9.691-2.59 0-.69-.69-.69-1.898 0-2.589l1.381-1.38c.69-.691 1.9-.691 2.59 0a1.73 1.73 0 0 1 0 2.589Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m20.901 29.415-1.38 1.38c-.691.69-1.9.69-2.59 0s-.69-1.898 0-2.589l1.381-1.38c.69-.691 1.899-.691 2.59 0 .69.69.69 1.812 0 2.588Zm-2.589-2.676-1.38 1.38c-.691.691-1.9.691-2.59 0-.69-.69-.69-1.898 0-2.588l1.38-1.381c.691-.69 1.9-.69 2.59 0s.69 1.898 0 2.589Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",strokeLinejoin:"round",fill:"none"})]}),icEmbeddedDeveloperCpu:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M29 19H19v10h10V19Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M33.9 13H13v22h22V13h-1.1Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M36 21h3m-3 6h3M9 21h3.375M9 27h3.375M27 36v3m-6-3v3m6-30v3.375M21 9v3.375",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",strokeLinejoin:"round",fill:"none"})]}),javaForIot:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M15 35.806a1 1 0 0 0 1.176.984l16.824-3V29l-18 3.21v3.596Zm0-9a1 1 0 0 0 1.176.984l16.824-3V20l-18 3.21v3.596Zm0-9a1 1 0 0 0 1.176.984l16.824-3V11l-18 3.21v3.596Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"m15.5 27.5 8.5 3m-8.5-12 8.5 3",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",strokeLinejoin:"round",fill:"none"})]}),java:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M22.952 22h-9.577c-2.115 8.333 5.401 15 5.401 15h8.464s7.46-6.667 5.4-15h-9.688Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M33.173 26.033C35.374 24.225 39 24.79 39 27.728S35.633 34 30 34m-8.623-16.442c-2.98-4.217 4.385-4.892 1.462-8.715m1.855 10.907c-2.98-4.216 4.386-4.89 1.462-8.714",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),javascript:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M20.5 17a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm7 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z",fill:"currentColor"}),l.jsx("path",{d:"M19 24c-2.2-1.5-4-4-4-6.7 0-4.6 4-8.3 9-8.3s9 3.7 9 8.3c0 2.8-1.5 5.2-3.7 6.7",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M17 21.8s-2.1.7-3.2 2.3c0 0-2.7.2-2.9 4.4-.2 4.2 3.5 8.5 8.6 8.5h8.8c5.2 0 8.8-4.2 8.6-8.5-.2-4.3-2.9-4.4-2.9-4.4-1.1-1.6-3.2-2.3-3.2-2.3",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M26.7 19.2c-.1 0-.7-.2-.9-.4-.5-.3-.9-.8-1.8-.8s-1.3.5-1.8.8c-.2.1-.7.4-.9.4-.3 0-.6.2-.7.5-.1.3 0 .7.3.9.1 0 1.5 1 3.1 1s3.1-.9 3.1-1c.3-.2.4-.5.3-.8-.1-.3-.4-.6-.7-.6Z",fill:"currentColor"})]}),laptop:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 49 48",width:"49",height:"48",fill:"none",children:l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M38.096 30.577V13.615a1.04 1.04 0 0 0-1.038-1.038H11.442a1.04 1.04 0 0 0-1.038 1.038v16.962h27.692ZM8.326 13.615v16.962H6.25v3.808A3.12 3.12 0 0 0 9.365 37.5h29.77a3.12 3.12 0 0 0 3.115-3.115v-3.808h-2.077V13.615a3.12 3.12 0 0 0-3.115-3.115H11.442a3.12 3.12 0 0 0-3.115 3.115Zm0 19.039v1.73a1.04 1.04 0 0 0 1.04 1.04h29.769a1.04 1.04 0 0 0 1.038-1.04v-1.73H29.58a2.835 2.835 0 0 1-2.347 1.244h-5.966a2.835 2.835 0 0 1-2.347-1.244H8.327Z",fill:"currentColor"})}),lockPrivacySecurity:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 28.5a2.813 2.813 0 1 0 0-5.625 2.813 2.813 0 0 0 0 5.625Zm0 0v3.375",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M37 37V18H11v19h26Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M19 18v-4a5 5 0 1 1 10 0v4",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})]}),machineLearning:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M19.756 19c-.913-.583-1.934-1.007-3.116-1.007-3.652 0-5.64 3.128-5.64 5.991 0 1.644.645 3.394 1.88 4.56m14.343-8.748c1.128-1.007 2.471-1.803 4.137-1.803 3.652 0 5.64 3.128 5.64 5.991 0 1.644-.645 3.394-1.88 4.56",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M20.67 23.401c-2.15-.265-4.513-.159-6.232 1.538-2.579 2.545-1.773 6.15.322 8.165 2.095 2.014 5.694 2.863 8.273.318 2.686-2.651 1.397-7.105.913-9.384-.483-2.28-1.773-6.787.913-9.438 2.633-2.545 6.232-1.75 8.327.318 1.128 1.114 1.88 2.704 1.934 4.348",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M24.054 32.308c.215.371.483.743.806 1.06 2.578 2.546 6.23 1.75 8.272-.317 2.041-2.068 2.901-5.62.323-8.165-1.612-1.59-3.814-1.75-5.802-1.538m-14.827-3.923c-.053-1.697.752-3.393 1.934-4.56 2.095-2.015 5.695-2.81 8.273-.265.322.318.591.69.806 1.06",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),magnifier:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M23 35c6.627 0 12-5.373 12-12s-5.373-12-12-12-12 5.373-12 12 5.373 12 12 12Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"m38 38-6-6",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),marketingSpecialist:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M11 21h6v14h-6V21Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M17 20.304 22.605 9a4.45 4.45 0 0 1 3.17 1.324 4.525 4.525 0 0 1 1.313 3.198v3.391h8.67a2.226 2.226 0 0 1 1.68.765 2.264 2.264 0 0 1 .545 1.776c-.341 2.752-.88 6.968-1.31 10.315A5.992 5.992 0 0 1 30.73 35H17",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",fill:"none"})]}),marketing:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M11 33.5s18.512-5.738 26-8v-7c-7.503-2.26-26-8-26-8v23Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M26 15a1 1 0 1 0-2 0h2Zm5 12.503v5.499h2v-5.499h-2Zm-5 5.504V15h-2v18.007h2Zm2.5 2.493a2.494 2.494 0 0 1-2.5-2.493h-2a4.494 4.494 0 0 0 4.5 4.493v-2Zm0 2A4.5 4.5 0 0 0 33 33h-2a2.5 2.5 0 0 1-2.5 2.5v2Z",fill:"currentColor"})]}),mobile:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 37.5a1.687 1.687 0 1 0 0-3.375 1.687 1.687 0 0 0 0 3.375Z",fill:"currentColor"}),l.jsx("rect",{x:"14",y:"9",width:"20",height:"31",rx:"1",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M13 32h22M20 10.5h8",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),moneyFinance2:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M37.929 15H9v16.875C9 32.496 9.48 33 10.071 33H39V16.125c0-.621-.48-1.125-1.071-1.125Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M24 28a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm6.429-12.571 8.571 7.5m-8.571 9.643 8.571-7.5m-21.429-9.643L9 22.929m8.571 9.643L9 25.072",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})]}),moneyFinance:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 16.125v2.25m0 11.25v2.25",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M24 39c8.284 0 15-6.716 15-15 0-8.284-6.716-15-15-15-8.284 0-15 6.716-15 15 0 8.284 6.716 15 15 15Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M19.625 29.625h6.063a2.812 2.812 0 1 0 0-5.625h-3.375a2.812 2.812 0 1 1 0-5.625h5.062",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",strokeLinejoin:"round",fill:"none"})]}),motionDesigner:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M38 13H19c1.748 3.75 3.848 7.35 5.793 11-1.945 3.65-4.045 7.25-5.793 11h19c-1.752-3.758-3.884-7.354-5.852-11 1.953-3.664 3.964-7.302 5.852-11Z",stroke:"currentColor",strokeWidth:"1.89696",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M18 21h-4m-2 0H9m7 8h-4m6-4h-8",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),officeAssistant:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:l.jsx("path",{d:"M28.5 17.25 16.783 29.158a2.25 2.25 0 0 0 3.182 3.182L33.93 18.18a4.5 4.5 0 0 0-6.364-6.364l-13.965 14.16a6.75 6.75 0 0 0 9.546 9.546l11.539-11.524",stroke:"currentColor",strokeWidth:"2",fill:"none"})}),pawDog:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:l.jsx("path",{d:"M13 26a3.333 3.333 0 1 0 0-6.666A3.333 3.333 0 0 0 13 26Zm6-7.333A3.333 3.333 0 1 0 19 12a3.333 3.333 0 0 0 0 6.667Zm10 0A3.333 3.333 0 1 0 29 12a3.333 3.333 0 0 0 0 6.667ZM35 26a3.333 3.333 0 1 0 0-6.666A3.333 3.333 0 0 0 35 26Zm-4.98 1.927c-.98-1.153-1.801-2.136-2.792-3.288-.517-.61-1.181-1.22-1.969-1.492a2.271 2.271 0 0 0-.371-.102C24.606 23 24.302 23 24.01 23c-.293 0-.597 0-.89.056a2.273 2.273 0 0 0-.37.102c-.788.271-1.44.882-1.97 1.492-.979 1.152-1.8 2.136-2.79 3.288-1.475 1.48-3.286 3.119-2.949 5.413.326 1.152 1.148 2.294 2.622 2.621.822.17 3.444-.497 6.234-.497h.203c2.79 0 5.413.656 6.234.497 1.474-.327 2.296-1.48 2.622-2.621.35-2.305-1.463-3.944-2.937-5.424Z",stroke:"currentColor",strokeWidth:"2",fill:"none"})}),poiLocation:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 23a4 4 0 1 0 0-8 4 4 0 0 0 0 8Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m24 38-.654.757.671.579.656-.596L24 38Zm0-29V8v1Zm10 11.154c0 1.742-.615 3.676-1.611 5.647-.991 1.961-2.323 3.889-3.674 5.598a55.513 55.513 0 0 1-5.274 5.756 20.566 20.566 0 0 1-.108.1l-.005.004v.001L24 38a186.929 186.929 0 0 0 .674.739l.002-.002.007-.006.026-.024a23.046 23.046 0 0 0 .456-.43 57.545 57.545 0 0 0 5.12-5.637c1.4-1.772 2.817-3.816 3.889-5.937C35.24 24.593 36 22.335 36 20.153h-2ZM24 38l.654-.757h-.001l-.005-.005a49.716 49.716 0 0 1-5.369-5.659C16.543 28.18 14 23.955 14 20.155h-2c0 4.546 2.957 9.245 5.72 12.68a51.749 51.749 0 0 0 5.131 5.478 31.627 31.627 0 0 0 .459.413l.026.023a.33.33 0 0 1 .007.006l.002.002L24 38ZM14 20.154c0-2.698 1.057-5.282 2.934-7.185l-1.424-1.404A12.234 12.234 0 0 0 12 20.154h2Zm2.934-7.185A9.924 9.924 0 0 1 24 10V8c-3.187 0-6.24 1.284-8.49 3.565l1.424 1.404ZM24 10a9.924 9.924 0 0 1 7.066 2.97l1.424-1.405A11.924 11.924 0 0 0 24 8v2Zm7.066 2.97A10.233 10.233 0 0 1 34 20.153h2c0-3.22-1.261-6.309-3.51-8.59l-1.424 1.405Z",fill:"currentColor"})]}),presentation:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M13 31.75V16m22 0v15.75",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M35.917 11H12.083c-.598 0-1.083.56-1.083 1.25V16h26v-3.75c0-.69-.485-1.25-1.083-1.25Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M24 32v3m0 4.875a2.25 2.25 0 1 0 0-4.5 2.25 2.25 0 0 0 0 4.5Zm-13.5-8h27",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})]}),productOwnerKey:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"m19.569 23.321.72.695.443-.46-.23-.596-.933.361Zm5.603 5.804.384-.923-.63-.262-.473.49.72.695Zm-1.844 1.91v1a1 1 0 0 0 .72-.305l-.72-.694Zm-3.362 0v-1a1 1 0 0 0-1 1h1Zm0 3.483v1a1 1 0 0 0 1-1h-1Zm-3.362 0v-1a1 1 0 0 0-1 1h1Zm0 3.482v1h1v-1h-1ZM11 38h-1v1h1v-1Zm0-5.804-.72-.694-.28.29v.404h1Zm9.501-9.236a9.787 9.787 0 0 1-.24-6.349l-1.914-.578a11.787 11.787 0 0 0 .29 7.65l1.864-.723Zm-.24-6.349c.63-2.081 1.93-3.867 3.675-5.06l-1.129-1.65c-2.13 1.456-3.703 3.624-4.46 6.132l1.915.578Zm3.675-5.06a8.808 8.808 0 0 1 5.898-1.503l.21-1.99a10.809 10.809 0 0 0-7.237 1.843l1.129 1.65Zm5.898-1.503a8.938 8.938 0 0 1 5.495 2.704l1.439-1.39a10.939 10.939 0 0 0-6.725-3.303l-.209 1.989Zm5.495 2.704a9.595 9.595 0 0 1 2.624 5.73l1.99-.195a11.595 11.595 0 0 0-3.175-6.924l-1.439 1.389Zm2.624 5.73a9.73 9.73 0 0 1-1.463 6.167l1.687 1.075a11.728 11.728 0 0 0 1.767-7.437l-1.99.195ZM36.49 24.65c-1.157 1.816-2.878 3.154-4.868 3.799l.616 1.902c2.442-.79 4.538-2.428 5.939-4.626L36.49 24.65Zm-4.868 3.799a8.752 8.752 0 0 1-6.066-.246l-.767 1.847a10.752 10.752 0 0 0 7.45.302l-.617-1.903Zm-7.169-.017-1.845 1.91 1.44 1.39 1.844-1.911-1.439-1.39Zm-1.125 1.605h-3.362v2h3.362v-2Zm-4.362 1v3.482h2v-3.482h-2Zm1 2.482h-3.362v2h3.362v-2Zm-4.362 1V38h2v-3.482h-2Zm1 2.482H11v2h5.604v-2ZM12 38v-5.804h-2V38h2Zm-.28-5.11 8.568-8.874-1.439-1.39-8.568 8.876 1.438 1.389Z",fill:"currentColor"}),l.jsx("path",{d:"M31.5 19a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z",stroke:"currentColor",strokeWidth:"2",fill:"none"})]}),productRoadmap:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M13.8 15.6a2.8 2.8 0 1 1 0-5.6 2.8 2.8 0 0 1 0 5.6ZM34.333 38a2.8 2.8 0 1 1 0-5.6 2.8 2.8 0 0 1 0 5.6Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M34.333 38a2.8 2.8 0 1 1 0-5.6 2.8 2.8 0 0 1 0 5.6ZM24.067 26.8a2.8 2.8 0 1 1 0-5.6 2.8 2.8 0 0 1 0 5.6Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M30.6 12.8a5.6 5.6 0 0 1 0 11.2m0-11.2h-14m15.867 22.4H16.6M22.2 24h-5.6m14 0h-4.667M16.6 35.2a5.6 5.6 0 0 1 0-11.2",stroke:"currentColor",strokeWidth:"2",fill:"none"})]}),productStrategy:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("circle",{cx:"24",cy:"24",r:"14",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("path",{d:"m16.736 22.037 12.34-4.113-4.114 12.34-2.021-5.603-.16-.442-.442-.16-5.603-2.022Z",stroke:"currentColor",strokeWidth:"2",fill:"none"})]}),projectManagement:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M35 11h1v-1h-1v1Zm0 26v1h1v-1h-1Zm-22 0h-1v1h1v-1Zm0-26v-1h-1v1h1Zm6.6 1h1v-2h-1v2Zm8.8 0H35v-2h-6.6v2Zm5.6-1v25.999L35 37h1V11h-2Zm1 26v-1H13v2h21.999L35 37Zm-21 0V11h-2v26h2Zm-1-25h6.6v-2H13v2Z",fill:"currentColor"}),l.jsx("path",{d:"M19 15v-1a5 5 0 1 1 10 0v1H19Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M24 32a5 5 0 1 0 0-10 5 5 0 0 0 0 10Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"m22 26 2 2 6.1-5.9",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),puzzleOpenJob:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:l.jsx("path",{d:"M15.008 37v-7.408a3.85 3.85 0 0 1-3.813-.24 4.04 4.04 0 0 1-1.35-1.485 4.2 4.2 0 0 1-.492-1.973 4.2 4.2 0 0 1 .491-1.973 4.04 4.04 0 0 1 1.351-1.485 3.85 3.85 0 0 1 3.813-.24v-7.194h7.098a4.208 4.208 0 0 1 .233-3.94 4.016 4.016 0 0 1 1.436-1.396 3.86 3.86 0 0 1 1.91-.507 3.86 3.86 0 0 1 1.91.507c.585.333 1.08.813 1.437 1.396s.565 1.25.606 1.939a4.21 4.21 0 0 1-.374 2H37v7.195a3.85 3.85 0 0 0-3.813.24 4.04 4.04 0 0 0-1.351 1.485 4.2 4.2 0 0 0-.491 1.973 4.2 4.2 0 0 0 .49 1.973 4.04 4.04 0 0 0 1.352 1.484 3.85 3.85 0 0 0 3.813.24V37H15.008Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"})}),qa:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M27.938 20.625a1.687 1.687 0 1 0 0-3.375 1.687 1.687 0 0 0 0 3.375Zm-7.875 0a1.687 1.687 0 1 0 0-3.375 1.687 1.687 0 0 0 0 3.375Z",fill:"currentColor"}),l.jsx("path",{d:"M24 24v14.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M40 24H8",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M35 27.333c0 3.095-1.159 6.062-3.222 8.25C29.715 37.77 26.918 39 24 39c-2.917 0-5.715-1.23-7.778-3.417C14.159 33.395 13 30.428 13 27.333v-4.666c0-3.095 1.159-6.062 3.222-8.25C18.285 12.23 21.082 11 24 11c2.917 0 5.715 1.23 7.778 3.417C33.841 16.605 35 19.573 35 22.667v4.666Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m38.614 33.438-4.041-2.334m4.041-15.541-4.042 2.333M9.386 15.563l4.042 2.333M9.386 33.438l4.042-2.334",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"round",fill:"none"})]}),react:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M31.5 28.547C35.407 27.593 38 25.913 38 24c0-2.974-6.268-5.385-14-5.385S10 21.026 10 24c0 2.974 6.268 5.385 14 5.385.922 0 1.824-.035 2.697-.1",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("path",{d:"M17.592 24A35.91 35.91 0 0 1 19 21.308c3.866-6.696 9.088-10.92 11.663-9.432 2.576 1.487 1.53 8.12-2.337 14.816-3.866 6.696-9.087 10.92-11.663 9.432-1.616-.933-1.806-3.893-.768-7.624",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("path",{d:"M23.738 15.113c-2.742-2.826-5.441-4.18-7.075-3.237-2.575 1.487-1.529 8.12 2.337 14.816 3.866 6.696 9.088 10.92 11.663 9.432 2.576-1.487 1.53-8.12-2.337-14.816a35.86 35.86 0 0 0-1.632-2.573",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("path",{d:"M23.688 25.375a1.687 1.687 0 1 0 0-3.375 1.687 1.687 0 0 0 0 3.375Z",fill:"currentColor"})]}),rubyRor:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M16.5 11h15l7.5 9.044L24 37 9 20.044 16.5 11Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M30.52 19.813 24 35.75l-6.52-15.938 6.52-8.5 6.52 8.5ZM9 20h29.75",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})]}),scrumMaster:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M18 19h-4v-5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"M21.061 29c1.308 0 2.605-.003 4.051-.57a7.842 7.842 0 0 0 3.554-2.763A7.222 7.222 0 0 0 30 21.5a7.222 7.222 0 0 0-1.334-4.167 7.842 7.842 0 0 0-3.554-2.762 8.327 8.327 0 0 0-4.574-.427 8.063 8.063 0 0 0-4.054 2.053L15 17.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M10 29h27.883",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m34 25 4 4-4 4",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",fill:"none"})]}),security:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{stroke:"currentColor",strokeWidth:"2",d:"M13 19h22v18H13z",fill:"none"}),l.jsx("path",{d:"m29.561 19.14.04-5.054a5.828 5.828 0 0 0-5.83-5.836 5.834 5.834 0 0 0-5.831 5.836l-.04 5.054",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("path",{d:"M23.823 29.307a2.666 2.666 0 0 0 2.66-2.672 2.666 2.666 0 0 0-2.66-2.672 2.666 2.666 0 0 0-2.66 2.672 2.666 2.666 0 0 0 2.66 2.672Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M23.824 29.301v3.71",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",strokeLinecap:"square",strokeLinejoin:"round",fill:"none"})]}),sentAirplane:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M17.522 25.977C18.848 27.145 31 37 31 37c.977-4.474 5-25 5-25s-22.955 7.617-27 9l8.522 4.977Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"m17 26 18-13",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M23.623 31.346 17 37V26",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",strokeLinejoin:"round",fill:"none"})]}),serverBackend:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M33 35H15c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h18c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2Zm0-8H15c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h18c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2Zm0-8H15c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h18c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2Zm-2 16v3m-14-3v3m10.9-7h4.2m-4.2-16h4.2",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M30 24.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z",fill:"currentColor"})]}),settingsTestAutomation:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 31a7 7 0 1 0 0-14 7 7 0 0 0 0 14Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m23.228 11.373-2.842-2.13a1.205 1.205 0 0 0-1.081-.188c-.88.276-1.734.629-2.552 1.056a1.206 1.206 0 0 0-.633.898l-.502 3.516a12.993 12.993 0 0 0-1.093 1.093l-3.516.502a1.203 1.203 0 0 0-.897.632 15.56 15.56 0 0 0-1.057 2.55 1.205 1.205 0 0 0 .187 1.084l2.131 2.842a12.91 12.91 0 0 0 0 1.544l-2.13 2.842a1.205 1.205 0 0 0-.188 1.081c.276.88.629 1.734 1.056 2.552a1.206 1.206 0 0 0 .898.633l3.516.502a12.932 12.932 0 0 0 1.093 1.093l.502 3.515a1.203 1.203 0 0 0 .632.898c.818.427 1.671.781 2.55 1.057a1.206 1.206 0 0 0 1.084-.187l2.842-2.131a12.91 12.91 0 0 0 1.544 0l2.842 2.13a1.204 1.204 0 0 0 1.081.188c.88-.276 1.734-.629 2.552-1.056a1.206 1.206 0 0 0 .633-.898l.502-3.516a12.932 12.932 0 0 0 1.093-1.093l3.515-.502a1.203 1.203 0 0 0 .898-.632c.427-.818.781-1.671 1.057-2.55a1.206 1.206 0 0 0-.187-1.084l-2.131-2.842a12.91 12.91 0 0 0 0-1.544l2.13-2.842a1.204 1.204 0 0 0 .188-1.081 15.561 15.561 0 0 0-1.056-2.552 1.206 1.206 0 0 0-.898-.633l-3.516-.502a12.932 12.932 0 0 0-1.093-1.093l-.502-3.516a1.203 1.203 0 0 0-.632-.897 15.56 15.56 0 0 0-2.55-1.057 1.205 1.205 0 0 0-1.084.187l-2.842 2.131a12.91 12.91 0 0 0-1.544 0Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"})]}),sick:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 39c8.284 0 15-6.716 15-15 0-8.284-6.716-15-15-15-8.284 0-15 6.716-15 15 0 8.284 6.716 15 15 15Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M32.313 19.25 27.563 24m4.75 0-4.75-4.75m-7.125 0L15.688 24m4.75 0-4.75-4.75",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M24 33.5a1.781 1.781 0 1 0 0-3.562 1.781 1.781 0 0 0 0 3.562Z",fill:"currentColor"})]}),solutionArchitectBulb:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"m30.994 29.856-.559-.83a1.045 1.045 0 0 1-.019.014c-.12.08-.554.369-.967.805A3.727 3.727 0 0 0 28.685 31h-9.37a3.727 3.727 0 0 0-.764-1.155 5.658 5.658 0 0 0-.967-.805A11.482 11.482 0 0 1 12.5 19.5c0-6.337 5.135-11.479 11.482-11.5h.037c6.346.021 11.482 5.163 11.482 11.5 0 3.962-2.007 7.458-5.066 9.528l.56.828Zm0 0-.019.013c-.237.158-1.487.993-1.487 2.131L24.02 7c6.896.022 12.48 5.61 12.48 12.5a12.48 12.48 0 0 1-5.506 10.356Z",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("path",{d:"m21.526 39.466-.031-.845-.84-.11a1.34 1.34 0 0 1-1.175-1.318V31h9v6.193a1.34 1.34 0 0 1-1.175 1.318l-.84.11-.03.846a.561.561 0 0 1-.569.533h-3.771a.563.563 0 0 1-.57-.534Z",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("path",{d:"m19.296 18.43 3.581 3.59 6.736-6.75",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"3.8637",fill:"none"})]}),suitcaseBizdev:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 9h2c1.1 0 2 .9 2 2v3m-4-5h-2c-1.1 0-2 .9-2 2v3m2 12.4L11 23v-5c0-2.2 1.8-4 4-4h18c2.2 0 4 1.8 4 4v5l-11 3.4",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M35 24v11H13V24",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M26 29h-4v-4c0-1.1.9-2 2-2s2 .9 2 2v4Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),systemArchitectFork:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:l.jsx("path",{d:"M24 21a5 5 0 1 0 0-10 5 5 0 0 0 0 10Zm11 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm-11 4a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm0-17.5v9.2M35 28v-3H24m-11 9a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm0-6v-3h11",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})}),talentAcquisitionSpecialist:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M27 35v-5.9c0-2.5-3.6-3.9-5-4.6-1.2-.6-3.4-2-3.4-4.2 0-2.1 1.8-3.3 3.4-3.3 1.6 0 3.4 1.2 3.4 3.3 0 2.1-2.2 3.6-3.4 4.2-1.5.8-5 2.2-5 4.6V33",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M23 35c6.627 0 12-5.373 12-12s-5.373-12-12-12-12 5.373-12 12 5.373 12 12 12Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"m38 38-6-6",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),teamLeads:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 38c7.732 0 14-6.268 14-14s-6.268-14-14-14-14 6.268-14 14 6.268 14 14 14Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M24 31.834a4.375 4.375 0 1 0 0-8.75 4.375 4.375 0 0 0 0 8.75Zm7 4.785c-1.476-2.628-4.09-4.375-7.07-4.375-2.888 0-5.432 1.64-6.93 4.132M32 24a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M37.422 27.524c-1.527-1.838-3.78-3-6.292-3a8.016 8.016 0 0 0-4.084 1.116M16 24a3 3 0 1 1 0-6 3 3 0 0 1 0 6Zm-5.125 3.509c1.336-1.838 3.307-3 5.506-3 1.298 0 2.517.405 3.573 1.116",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),ticket:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M19 15v19",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M9.26 28.74a1.09 1.09 0 0 0-.26.703v3.446c0 .295.122.577.338.786.216.208.51.325.816.325H39v-4.557c0-.256-.092-.504-.26-.702a1.16 1.16 0 0 0-.663-.385 4.65 4.65 0 0 1-2.652-1.545A4.345 4.345 0 0 1 34.385 24c0-1.024.367-2.018 1.04-2.811a4.65 4.65 0 0 1 2.652-1.545c.26-.05.495-.187.663-.385.168-.198.26-.446.26-.702V14H10.154c-.306 0-.6.117-.816.325a1.09 1.09 0 0 0-.338.786v3.446c0 .256.092.504.26.702.168.198.402.334.663.385a4.65 4.65 0 0 1 2.652 1.545A4.345 4.345 0 0 1 13.615 24a4.345 4.345 0 0 1-1.04 2.811 4.65 4.65 0 0 1-2.652 1.545 1.16 1.16 0 0 0-.663.385Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"})]}),time:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 38.25c7.87 0 14.25-6.38 14.25-14.25S31.87 9.75 24 9.75 9.75 16.13 9.75 24 16.13 38.25 24 38.25Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M32.313 23H22l6.878 6.878",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"bevel",fill:"none"})]}),uIDesigner:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 31c3.9 0 7-3.1 7-7s-3.1-7-7-7-7 3.1-7 7 3.2 7 7 7Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M9 24s4.3 11 15 11c9.7 0 14.3-9.5 15-11-.7-1.5-5.3-11-15-11C13.3 13 9 24 9 24Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M24 21c-1.7 0-3 1.3-3 3s1.3 3 3 3 3-1.3 3-3h-3v-3Z",fill:"currentColor"})]}),userJourney:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M20 23a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm16.243 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m22 22 4.243 4.243M18 22l-4.243 4.243",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("path",{d:"M28 31a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M34.243 22 30 26.243",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("path",{d:"M12 31a3 3 0 1 1 0-6 3 3 0 0 1 0 6Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})]}),user:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 38c7.732 0 14-6.268 14-14s-6.268-14-14-14-14 6.268-14 14 6.268 14 14 14Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M24 29a6 6 0 1 0 0-12 6 6 0 0 0 0 12Zm9.323 6.16A10.992 10.992 0 0 0 24 30a10.99 10.99 0 0 0-9.137 4.873",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),uxDesigner:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M35 18H17v19h18V18Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M17 32h-4V13h18v4",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M22 21v1.5c0 1.4 1.1 2.5 2.5 2.5s2.5-1.1 2.5-2.5V10c0-.6-.4-1-1-1h-5c-.6 0-1 .4-1 1v3",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),vacation:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M29.819 39.804C31.022 30.78 29.32 23.61 21.5 20",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("path",{d:"M21.697 18.894v10.651c-4.813-1.203-7.288-7.848 0-10.651Zm1.561.682H35.03c-1.203-4.813-9.53-6.728-11.772 0Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M21.697 19.454H8.803c1.416-5.763 10.651-7.287 12.791 0",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"m22.258 19.454 8.643-8.93c-5.076-3.074-13.128 1.643-8.643 8.93Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M17 37h19.06",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"round",fill:"none"})]}),valueMatrix:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 9v30m15-15H9",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("circle",{cx:"33.0993",cy:"17.2721",r:"2.48162",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("circle",{cx:"16.4449",cy:"32.2721",r:"2.48162",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("circle",{cx:"14.7904",cy:"14.9008",r:"2.48162",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("circle",{cx:"31.6654",cy:"30.8383",r:"2.48162",stroke:"currentColor",strokeWidth:"2",fill:"none"})]}),wordpress:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 37c7.18 0 13-5.82 13-13s-5.82-13-13-13-13 5.82-13 13 5.82 13 13 13Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"M27.467 36.133c1.906-5.46 5.546-16.986 5.546-18.546 0-3.9-3.38-4.507-4.68-2.86C25.473 18.28 31.76 22.58 30.46 27m-10.013 9.047c.606-1.734 2.773-8.754 3.813-12.047",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M19.667 19.667h3.466l4.334 16.466m-15.6-16.466H16.2l4.247 15.6",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]})},u={halley3:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",d:"M40.12 70.16c15.13 0 29.6-12.5 29.6-29.61C69.72 21.54 53.14 11 40.12 11c-15.13 0-29.6 12.5-29.6 29.61 0 19.01 16.58 29.55 29.6 29.55Z",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M40.12 21.58c0 8.84-10.16 19-19 19 8.84 0 19.02 9.34 19.02 18.18 9.34 0 19.48-9.53 19.48-22.22C59.62 14.9 40.18 11 40.18 11",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M40.12 59.58c0-8.84 10.16-19 19-19-8.84 0-19-10.16-19-19-9.75 0-19.5 10.46-19.5 23.04 0 21.64 19.44 25.54 19.44 25.54",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"})]}),storybook:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{d:"M17 21v46h42a4 4 0 0 0 4-4V18",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M20 12h37.5a5.5 5.5 0 1 1 0 11h-7M17 23h19.5",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M36 20h15v29l-7.5-5-7.5 5V20Z",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"})]}),halley2:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{d:"M29.62 61.57c5.843 0 10.58-4.737 10.58-10.58s-4.737-10.58-10.58-10.58-10.58 4.737-10.58 10.58 4.737 10.58 10.58 10.58Z",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M35.44 17.54 15.8 37.18c-7.63 7.63-7.63 20 0 27.63 7.63 7.63 20 7.63 27.63 0l19.63-19.63M32.21 33.43 50.1 15.55m-2.92 32.84 17.88-17.88m-23.27 8.31L71.51 9.1",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"})]}),halley:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{d:"m47.9 48.93 16.92-16.92-2.83-2.83L47 44.17c.52 1.55.81 3.14.9 4.76Zm-5.25-11.81c.48.48.92.98 1.33 1.5l27.88-27.88-2.83-2.83-27.88 27.88c.52.41 1.02.85 1.5 1.33Zm-7.04-4.34L50.6 17.79l-2.83-2.83-16.92 16.92c1.61.09 3.21.39 4.76.9Z",fill:"currentColor"}),l.jsx("path",{d:"M29.89 71.99c-5.66 0-11.32-2.15-15.63-6.46-8.62-8.62-8.62-22.64 0-31.26L29.8 18.73l2.83 2.83L17.09 37.1c-7.06 7.06-7.06 18.55 0 25.61 7.06 7.06 18.55 7.06 25.61 0l15.54-15.54L61.07 50 45.53 65.54C41.22 69.85 35.56 72 29.9 72l-.01-.01Z",fill:"currentColor"}),l.jsx("path",{d:"M29.89 62.03c-6.54 0-11.86-5.32-11.86-11.86h4c0 4.33 3.53 7.86 7.86 7.86v4Z",fill:"currentColor"})]}),loggie:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M38.349 28.5H17.748a4.39 4.39 0 0 1-4.386-4.386 4.392 4.392 0 0 1 3.214-4.225l1.668-.46-.215-1.717a8.761 8.761 0 0 1-.07-1.101c0-4.745 3.861-8.605 8.607-8.605a8.6 8.6 0 0 1 8.201 5.987 9.63 9.63 0 0 0-3.453 2.371l2.93 2.723a5.547 5.547 0 0 1 4.105-1.79 5.608 5.608 0 0 1 5.602 5.601 5.608 5.608 0 0 1-5.602 5.602Zm19.65-9.5H47.114c-1.45-3.244-4.639-5.548-8.379-5.695a12.6 12.6 0 0 0-12.169-9.299c-6.95 0-12.606 5.655-12.606 12.605v.023a8.411 8.411 0 0 0-4.596 7.48c0 4.624 3.76 8.386 8.384 8.386H38.35c5.26 0 9.54-4.253 9.597-9.5H58a1 1 0 0 1 1 1v44a1 1 0 0 1-1 1H34c-.55 0-1-.448-1-1V53.833h-4V68c0 2.757 2.245 5 5 5h24c2.758 0 5-2.243 5-5V24c0-2.757-2.242-5-5-5Z",fill:"#D92327"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M44 65a2 2 0 1 0 4.001-.001A2 2 0 0 0 44 65ZM23 37a2 2 0 1 0 .001 4.001A2 2 0 0 0 23 37Zm0 8a2 2 0 1 0 .001 4.001A2 2 0 0 0 23 45Zm6 4h26v-4H29v4Zm0-8h26v-4H29v4Z",fill:"#D92327"})]}),nutsandbolts:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#b57ff8c8-9b82-49c8-9e5d-1d67a0cbe4df)",children:[l.jsx("path",{d:"M56.88 50c0 9.11-7.39 16.5-16.5 16.5s-16.5-7.35-16.5-16.76c0-9.11 7.69-18.84 20.1-18.84 14.43 0 22.19 7.75 25.78 16.81C62.23 45.86 56.88 50 56.88 50Z",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"square",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M46.94 45.11a2.55 2.55 0 1 0 0-5.1 2.55 2.55 0 0 0 0 5.1Z",fill:"#D92327"}),l.jsx("path",{d:"M54.92 23.96H25.85L11.31 49.14l14.54 25.18h29.07L65.15 56.6",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"square",fill:"none"}),l.jsx("path",{clipRule:"evenodd",d:"M40.54 10.18c4.5-4.74 9.97-4.16 9.97-4.16s.27 4.96-4.15 9.21c-4.72 4.54-9.37 3.2-9.37 3.2s-.46-4.03 3.55-8.25Z",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"square",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"b57ff8c8-9b82-49c8-9e5d-1d67a0cbe4df",children:l.jsx("path",{fill:"#fff",d:"M9 4h62.77v72.32H9z"})})})]}),bugsnatch:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M47.074 65.006c-7.45 0-13.89-4.346-16.967-10.627a17.227 17.227 0 0 0 6.025 1.089c8.7 0 15.894-6.48 17.064-14.86a4.375 4.375 0 0 1 1.628 2.599 4.402 4.402 0 0 1-.8 3.567l-1.2 1.6 3.2 2.4 1.198-1.6a8.466 8.466 0 0 0 1.522-6.767 8.463 8.463 0 0 0-4.053-5.63l-1.309-.757v-7.708c7.325 2.604 12.592 9.587 12.592 17.794 0 10.42-8.478 18.9-18.9 18.9ZM23.382 26.979a4.765 4.765 0 0 1 4.76-4.761h12.48c1.191 0 2.313.46 3.171 1.226-9.276 1.337-16.767 8.252-18.96 17.225a10.91 10.91 0 0 1-1.45-5.451v-8.24Zm10.5-14.011c2.481 0 4.5 2.018 4.5 4.5v.75h-9v-.75c0-2.482 2.018-4.5 4.5-4.5ZM28.42 49a18.79 18.79 0 0 1-.245-2.894c0-10.421 8.478-18.9 18.9-18.9.782 0 1.55.063 2.307.155v10.857c0 7.306-5.945 13.25-13.25 13.25a13.19 13.19 0 0 1-7.44-2.283L28.42 49Zm25.258-24.82c1.514-1.677 2.084-4.082 1.333-6.307l-.638-1.895-3.79 1.277.637 1.896a2.386 2.386 0 0 1-1.065 2.82l-1.759 1.016a8.809 8.809 0 0 0-6.014-4.565v-.954c0-4.687-3.814-8.5-8.5-8.5-4.687 0-8.5 3.813-8.5 8.5v1.202a8.797 8.797 0 0 0-5.118 4.5l-2.075-1.198a2.388 2.388 0 0 1-1.066-2.821l.64-1.896-3.793-1.277-.638 1.895a6.403 6.403 0 0 0 2.854 7.56l3.196 1.848v2.566H16.7a8.773 8.773 0 0 0-5.75 2.147l-1.745 1.512 2.62 3.023 1.746-1.513a4.773 4.773 0 0 1 3.13-1.17h2.682v1.372c0 .83.083 1.646.214 2.449l-1.423.823a6.383 6.383 0 0 0-1.909 9.352l1.2 1.6 3.2-2.4-1.2-1.6a2.352 2.352 0 0 1-.428-1.905 2.351 2.351 0 0 1 1.14-1.585l.633-.366a15.019 15.019 0 0 0 3.073 4.345l.296.29c.008 1.769.223 3.49.614 5.146l-.002.002.003.002a22.821 22.821 0 0 0 4.308 8.9l-9.974 8.544 2.602 3.038 10.116-8.665a22.8 22.8 0 0 0 15.23 5.818c12.626 0 22.9-10.273 22.9-22.9 0-10.331-6.88-19.082-16.297-21.925Z",fill:"#D92327"})}),locker:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#220e3690-9b2f-4b8e-a696-9d51e25d34ba)",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",children:[l.jsx("path",{d:"m49.65 25.13-1.56-7.78c-.98-4.87-5.28-8.54-10.24-8.34-6.35.26-10.71 6.05-9.51 12.02l1.62 8.06",fill:"none"}),l.jsx("path",{d:"M47.4 58.81c-1.46 1.65-3.45 2.82-5.75 3.19-3.57.57-6.86-.75-9.04-3.11m-2.83-15.28v3.74m21.35-3.74v3.74m-10.22-3.74v5.9c0 1.33-1.08 2.41-2.41 2.41",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M33.2 72h-6.9c-4.03 0-7.3-3.27-7.3-7.3v-6.23m42-.67v6.9c0 4.03-3.27 7.3-7.3 7.3h-6.3M19 43.6v-6.3c0-4.03 3.27-7.3 7.3-7.3h27.4c4.03 0 7.3 3.27 7.3 7.3v6.3",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"220e3690-9b2f-4b8e-a696-9d51e25d34ba",children:l.jsx("path",{fill:"#fff",d:"M17 7h46v67H17z"})})})]}),androidCollar:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{d:"M49.966 31.89a2.812 2.812 0 1 0 0-5.623 2.812 2.812 0 0 0 0 5.624Zm-19.922 0a2.812 2.812 0 1 0 0-5.623 2.812 2.812 0 0 0 0 5.624Z",fill:"#D8262C"}),l.jsx("path",{d:"M63.437 39.316V37.74a22.624 22.624 0 0 0-6.506-16.162l7.5-7.5a1.876 1.876 0 0 0-2.681-2.625l-7.688 7.696A24.066 24.066 0 0 0 40 14.81a24.075 24.075 0 0 0-14.063 4.322l-7.65-7.678a1.88 1.88 0 0 0-2.662 2.653l7.5 7.5a22.622 22.622 0 0 0-6.563 16.18v1.576A8.437 8.437 0 0 0 10 47.547v15a6.563 6.563 0 1 0 13.125 0v-.937l-3.75-1.763v2.7a2.812 2.812 0 1 1-5.625 0V53.37l16.716 7.782 9.45-8.232 9.459 8.232 16.875-7.857v9.253a2.812 2.812 0 1 1-5.625 0v-2.7l-3.75 1.763v.937a6.563 6.563 0 1 0 13.125 0v-15a8.438 8.438 0 0 0-6.563-8.23v-.002ZM40 18.56c11.41 0 19.687 8.072 19.687 19.18v1.979l-19.771 8.663-19.604-8.588V37.74c0-11.11 8.279-19.181 19.688-19.181ZM29.837 56.726 13.75 49.235v-1.688a4.688 4.688 0 0 1 4.303-4.687l18.403 8.062-6.619 5.804Zm20.157 0-6.619-5.766 18.44-8.1a4.688 4.688 0 0 1 4.435 4.687v1.613l-16.256 7.566Z",fill:"#D8262C"}),l.jsx("path",{d:"M39.916 63.466a2.812 2.812 0 1 0 0-5.624 2.812 2.812 0 0 0 0 5.624Z",fill:"#D8262C"})]}),emotionNormalize:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("g",{clipPath:"url(#ee4df90c-167b-448a-ab30-5dba022c0ddc)",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",children:l.jsx("path",{d:"M23.39 13 10.87 46.97h19.1l-7.51 20.98h.69l32.49-39.47H37.41L43.98 13H23.39Zm26.65 34.8H42v8.1h8.04m11.13-8.1h-8.04v.55l6.04 6.6v.95h-8.04m21.17-8.1h-8.04v.55l6.04 6.6v.95h-8.04",fill:"none"})}),l.jsx("defs",{children:l.jsx("clipPath",{id:"ee4df90c-167b-448a-ab30-5dba022c0ddc",children:l.jsx("path",{fill:"#fff",d:"M8 11h64.3v58.95H8z"})})})]}),analyticsCollector:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#a409605f-6a46-40b4-a544-f73c123ea70c)",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",children:[l.jsx("path",{d:"m14.05 38.41 20.32-20.55 5.7 4.7L50.63 12",fill:"none"}),l.jsx("path",{d:"M41.56 12h9.07v9.07M34.55 38.06v-11m8 11v-9m8 9v-13m9 13-.04-11",fill:"none"}),l.jsx("path",{d:"m35 38.36 9.17 9.17h31.39l-9.46-9.17H35Zm0 0v30.52h31V47.53",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m37.56 38.18-9.18 9.18H5l9-9h21v30.52H14V47.36",strokeLinejoin:"round",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"a409605f-6a46-40b4-a544-f73c123ea70c",children:l.jsx("path",{fill:"#fff",d:"M3 10h74.56v60.88H3z"})})})]}),loggy:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#b59e18ab-0238-4061-81f6-ee36b5bb4476)",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",children:[l.jsx("path",{clipRule:"evenodd",d:"m51.36 37.11-13.57 5.95c-2.8 1.04-5.35 2.68-7.46 4.79l-7.72 7.72L9.17 42.14l8.3-8.3c2.21-2.21 3.89-4.88 4.93-7.82l5.3-12.48c.97-2.75 4.48-3.55 6.54-1.49l18.54 18.54c2.04 2.04 1.29 5.51-1.42 6.52Z",fill:"none"}),l.jsx("path",{d:"m31.09 47.09 18.38 18.38a4.008 4.008 0 0 1 0 5.66 4.008 4.008 0 0 1-5.66 0L25.44 52.74M12 39.31l-2.83-2.83a4.008 4.008 0 0 1 0-5.66 4.008 4.008 0 0 1 5.66 0l2.83 2.83m7.77-14.78 20.58 20.58m.95-24.11c13.81 0 25 11.19 25 25 0 9.25-5.03 17.33-12.5 21.66m8.42-46.66c1.62 1.35 3.11 2.86 4.43 4.5M47.56 8c5.46 0 10.6 1.38 15.09 3.8",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"b59e18ab-0238-4061-81f6-ee36b5bb4476",children:l.jsx("path",{fill:"#fff",d:"M6 6h67.96v68.3H6z"})})})]}),japx:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M47.5 30a1 1 0 0 1-1-1v-5c0-2.757-2.243-5-5-5h-1v4h1a1 1 0 0 1 1 1v5c0 1.13.391 2.162 1.025 3a4.954 4.954 0 0 0-1.025 3v5a1 1 0 0 1-1 1h-1v4h1c2.757 0 5-2.243 5-5v-5a1 1 0 0 1 1-1h1v-4h-1Zm-19-6v5a1 1 0 0 1-1 1h-1v4h1a1 1 0 0 1 1 1v5c0 2.757 2.243 5 5 5h1v-4h-1a1 1 0 0 1-1-1v-5c0-1.13-.391-2.162-1.025-3a4.954 4.954 0 0 0 1.025-3v-5a1 1 0 0 1 1-1h1v-4h-1c-2.757 0-5 2.243-5 5Z",fill:"#D92327"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M65 31.404A6.604 6.604 0 0 1 58.404 38h-.84c1.048-4.05 1.928-9.01 2.381-15H65v8.404ZM25.884 50c-1.494-1.962-6.027-9.079-7.563-24.835-.194-1.998-1.292-3.887-2.353-5.714-.666-1.147-1.345-2.317-1.762-3.45h42.058c-.35 21.668-6.327 31.533-8.108 34H25.884ZM22 58h31v-4H22v4Zm36 4c1.103 0 2 .897 2 2v6H15v-6c0-1.103.897-2 2-2h41ZM32 10c0-1.103.897-2 2-2h7c1.103 0 2 .897 2 2v2H32v-2Zm28.18 9c.064-1.602.1-3.266.1-5v-2H47v-2c0-3.309-2.69-6-6-6h-7c-3.309 0-6 2.691-6 6v2H9.8v2c0 2.795 1.438 5.273 2.71 7.46.885 1.523 1.72 2.963 1.831 4.093 1.273 13.066 4.532 20.664 6.811 24.541A4.005 4.005 0 0 0 18 54v4h-1c-3.309 0-6 2.691-6 6v10h53V64c0-3.309-2.69-6-6-6h-1v-4c0-2.206-1.794-4-4-4h-.092c1.044-1.824 2.301-4.444 3.483-8h2.013C64.247 42 69 37.247 69 31.404V19h-8.82Z",fill:"#D92327"})]}),viper:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M47.31 15.395a2.673 2.673 0 1 1-5.346 0 2.673 2.673 0 0 1 5.345 0Zm-12.06 7.841.322 1.974.32 1.974h.002l-.016.003a12.043 12.043 0 0 0-.461.094 16.45 16.45 0 0 0-1.34.364c-1.11.35-2.427.895-3.501 1.68l-2.359-3.231c1.563-1.141 3.334-1.846 4.653-2.263a20.506 20.506 0 0 1 2.17-.557l.145-.027.043-.007.014-.003h.005l.003-.001Zm.646 3.948Zm-4.381 23.382A4.265 4.265 0 0 0 32.418 59H62v4H32.418a8.265 8.265 0 0 1-1.747-16.344l.844 3.91Z",fill:"#D8262C"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M44.637 9.187a6.178 6.178 0 0 0-5.297 2.938l-.59.963-4.484-.039h-2.294a2.163 2.163 0 0 0-2.028 2.916m0 0 1.466 3.944a3.213 3.213 0 0 0 3.011 2.093h.876l1.73 1.838a2.29 2.29 0 0 0 1.666.72h9.97a5.607 5.607 0 0 0 4.002-1.682l2.777-2.833 2.856 2.8-2.777 2.833a9.608 9.608 0 0 1-6.859 2.881h-9.969a6.287 6.287 0 0 1-4.579-1.978l-.598-.636a7.214 7.214 0 0 1-5.855-4.642l-1.467-3.945c-1.495-4.026 1.483-8.309 5.778-8.309h2.31l2.32.02a10.184 10.184 0 0 1 8.035-3.882 10.2 10.2 0 0 1 8.617 4.736c3.131.124 6.265.76 8.76 2.25 2.944 1.759 4.885 4.655 4.885 8.777 0 2.574-1.078 4.877-2.449 6.88-1.367 2-3.163 3.891-4.826 5.625l-.247.257c-1.619 1.686-3.092 3.221-4.197 4.743-1.165 1.604-1.718 2.928-1.718 4.095 0 1.443.535 2.218 1.325 2.73.92.598 2.388.951 4.33.951h9.466v4h-9.466c-2.303 0-4.663-.398-6.508-1.596-1.977-1.283-3.147-3.35-3.147-6.085 0-2.416 1.127-4.581 2.481-6.446 1.274-1.752 2.927-3.474 4.483-5.094l.311-.324c1.696-1.768 3.26-3.43 4.412-5.114 1.148-1.678 1.75-3.185 1.75-4.622 0-2.637-1.133-4.266-2.936-5.343-1.934-1.156-4.73-1.708-7.899-1.708h-1.268l-.54-1.147a6.21 6.21 0 0 0-5.619-3.565",fill:"#D8262C"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M43.754 33.77c-3.403 3.571-6.537 8.387-6.537 13.915 0 2.891.55 4.944 1.36 6.42.801 1.459 1.92 2.468 3.266 3.186C44.642 58.786 48.362 59 52 59v4c-3.584 0-8.255-.16-12.04-2.18-1.95-1.04-3.672-2.574-4.89-4.79-1.208-2.2-1.853-4.952-1.853-8.345 0-7.04 3.955-12.807 7.642-16.675a42.43 42.43 0 0 1 5.117-4.546 37.477 37.477 0 0 1 1.698-1.21 24.492 24.492 0 0 1 .627-.407l.04-.024.011-.007.004-.003h.002c0-.001.001-.001 1.038 1.709l1.037 1.71-.002.001-.021.014-.1.062a33.499 33.499 0 0 0-1.925 1.349 38.453 38.453 0 0 0-4.63 4.112Zm-15.719-4.35c-.517-.333-1.817-.301-2.728 1.112l-3.362-2.167c1.729-2.683 5.346-4.183 8.257-2.308 2.91 1.876 3.039 5.789 1.312 8.472l-3.364-2.165c.91-1.414.402-2.611-.114-2.944",fill:"#D8262C"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M28.69 16.334C19.14 20.648 12.5 30.256 12.5 41.409c0 15.188 12.313 27.5 27.5 27.5 12.711 0 23.413-8.625 26.561-20.346.612-2.28.94-4.678.94-7.154 0-5.906-1.86-11.371-5.026-15.85l3.267-2.309A31.365 31.365 0 0 1 71.5 41.41c0 2.83-.374 5.576-1.076 8.19v.001C66.818 63.025 54.566 72.91 40 72.91c-17.396 0-31.5-14.103-31.5-31.5 0-12.782 7.614-23.783 18.544-28.72l1.647 3.645Z",fill:"#D8262C"})]}),retrofitConverter:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#9b332062-dac8-4c98-a8de-b2c94972285b)",children:[l.jsx("path",{d:"M50.62 29.39a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm-21.24 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z",fill:"#D92327"}),l.jsx("path",{d:"M55.3 18.31 64.61 9m-39.88 9.31L15.42 9",stroke:"#D8262C",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M40 13.16c13.67 0 23 10.05 23 22.46v3.46c3.87 0 7 3.13 7 7v15c0 2.76-2.24 5-5 5s-5-2.24-5-5v-1M40 13.16c-13.67 0-23 10.05-23 22.46v3.46c-3.87 0-7 3.13-7 7v15c0 2.76 2.24 5 5 5s5-2.24 5-5v-1",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M50.63 46.46c1.24 1.98 1.94 4.34 1.89 6.85-.12 6.91-5.83 12.42-12.75 12.3M31.21 62a12.479 12.479 0 0 1-3.73-9.14c.12-6.91 5.83-12.42 12.75-12.3 1.16.02 2.28.2 3.34.51",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"m37.9 34.47 6.41 6.41-6.41 6.41m6.41 11.9-6.41 6.42 6.41 6.41",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"9b332062-dac8-4c98-a8de-b2c94972285b",children:l.jsx("path",{fill:"#fff",d:"M8 7h64v66.43H8z"})})})]}),actionChainer:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#8fd5ce72-f7f5-433f-9cbe-d0ff386e1519)",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",children:[l.jsx("path",{d:"M45.26 40.09c-7.35-1.03-13-7.34-13-14.97C32.25 16.77 39.02 10 47.38 10S62.5 16.77 62.5 25.12c0 5.22-2.64 9.82-6.67 12.54M32.25 55.73c0-4.18 1.69-7.96 4.43-10.69m0 0a15.07 15.07 0 0 1 10.69-4.43c8.35 0 15.12 6.77 15.12 15.12s-6.77 15.12-15.12 15.12c-6.77 0-12.5-4.45-14.43-10.59",fill:"none"}),l.jsx("path",{d:"M32.24 25.25c7.35 1.03 13 7.34 13 14.97 0 8.35-6.77 15.12-15.12 15.12S15 48.58 15 40.23c0-7.31 5.18-13.4 12.07-14.81",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"8fd5ce72-f7f5-433f-9cbe-d0ff386e1519",children:l.jsx("path",{fill:"#fff",d:"M13 8h51.5v64.85H13z"})})})]}),eightshiftCodingStandard:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#c541bc7a-6ebf-4be7-aa73-0a1fe1b59ca1)",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",children:[l.jsx("path",{d:"m48.91 47.32 11.94 10.57c2.11 1.91 2.19 5.2.17 7.21a4.988 4.988 0 0 1-7.21-.17l-10.5-12.02",fill:"none"}),l.jsx("path",{d:"M30.89 56.78c12.09 0 21.89-9.8 21.89-21.89S42.98 13 30.89 13 9 22.8 9 34.89s9.8 21.89 21.89 21.89Z",fill:"none"}),l.jsx("path",{d:"M30.89 48.71c7.632 0 13.82-6.187 13.82-13.82s-6.188-13.82-13.82-13.82c-7.633 0-13.82 6.187-13.82 13.82s6.187 13.82 13.82 13.82Z",fill:"none"}),l.jsx("path",{d:"m36.89 27.75-9.63 9.62 9.95 9.95m25.01-16.46 7.18 7.17-7.42 7.42M57.8 23.08l-5.12 9.74",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"c541bc7a-6ebf-4be7-aa73-0a1fe1b59ca1",children:l.jsx("path",{fill:"#fff",d:"M7 11h65.22v57.56H7z"})})})]}),eightshiftDashboardMonitor:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#fa4060d1-31f9-47ee-a144-aacf7aecc8c0)",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",children:[l.jsx("path",{d:"M38.61 59H16c-2.76 0-5-2.24-5-5V14h45c2.76 0 5 2.24 5 5v16.65",fill:"none"}),l.jsx("path",{d:"M53 66c8.837 0 16-7.163 16-16s-7.163-16-16-16-16 7.163-16 16 7.163 16 16 16Z",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"M53 55a5 5 0 1 0 0-10 5 5 0 0 0 0 10ZM27.75 37.61l-2.97-1.05a6.547 6.547 0 0 1-4-8.36 6.547 6.547 0 0 1 8.36-4l2.97 1.05",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"m33.97 36.58-5.21-1.87m7.55-5.01-5.55-1.99",fill:"none"}),l.jsx("path",{d:"M22.02 25.2c-1.51-.53-3.07.67-3.6 2.18-.53 1.51-.15 3.25 1.36 3.78m7.36 8.13 5.85-16.31",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"M19.76 27.88C15.69 26.45 11 23.45 11 16m42 29 7.39-7.39m-3.85 15.93v10.45M48 50l-7.39-7.39",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"fa4060d1-31f9-47ee-a144-aacf7aecc8c0",children:l.jsx("path",{fill:"#fff",d:"M9 12h62v56H9z"})})})]}),eightshiftGdpr:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#6d947cbc-7947-41d2-a0cc-c23e805d3752)",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"square",children:[l.jsx("path",{d:"M58.75 65h-37.5C17.8 65 15 62.2 15 58.75v-37.5C15 17.8 17.8 15 21.25 15h37.5C62.2 15 65 17.8 65 21.25v37.5C65 62.2 62.2 65 58.75 65Z",fill:"none"}),l.jsx("path",{d:"M50 27H23v27h27V27Z",fill:"none"}),l.jsx("path",{d:"m29.99 38.01 6 5.99L55 24.99",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"6d947cbc-7947-41d2-a0cc-c23e805d3752",children:l.jsx("path",{fill:"#fff",d:"M13 13h54v54H13z"})})})]}),eightshiftForms:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#b212a30b-8a5c-4319-844a-5cc0a5b35d11)",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",children:[l.jsx("path",{d:"M57 28H23v22h34V28Z",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"M33 35v10",fill:"none"}),l.jsx("path",{d:"M31 34h4m-4 10h4m23.75 21h-37.5C17.8 65 15 62.2 15 58.75v-37.5C15 17.8 17.8 15 21.25 15h37.5C62.2 15 65 17.8 65 21.25v37.5C65 62.2 62.2 65 58.75 65Z",strokeLinecap:"square",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"b212a30b-8a5c-4319-844a-5cc0a5b35d11",children:l.jsx("path",{fill:"#fff",d:"M13 13h54v54H13z"})})})]}),eightshiftDocs:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#74116306-3519-4f7a-bb59-c558ed93b8b5)",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",children:[l.jsx("path",{d:"M61 22.63c4.09 0 7.41 3.32 7.41 7.41v27.78c0 4.09-3.32 7.41-7.41 7.41H18.41c-4.09-.01-7.41-3.32-7.41-7.42V30.03c0-4.09 3.32-7.41 7.41-7.41",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"M39.71 17.53c-4.02-3.97-8.41-5.67-21.3.74v37.88c0 .41.33.74.74.74h15.38a5.17 5.17 0 0 1 5.17 5.17v2.68-2.68a5.17 5.17 0 0 1 5.17-5.17h15.38c.41 0 .74-.33.74-.74V18.27c-12.88-6.41-17.27-4.71-21.28-.74Z",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"M61 28.58c-12.89-6.41-17.28-4.7-21.3-.74M61 40.05c-12.89-6.41-17.28-4.7-21.3-.74M61 51.51c-12.89-6.41-17.28-4.7-21.3-.74",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"74116306-3519-4f7a-bb59-c558ed93b8b5",children:l.jsx("path",{fill:"#fff",d:"M9 12h61.41v55.22H9z"})})})]}),eightshiftFrontendLibs:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#d52dd685-4b43-4f14-83c7-7f9f9c5e6138)",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"square",children:[l.jsx("path",{d:"M41.11 14v15.36h15.35",fill:"none"}),l.jsx("path",{d:"M57.46 59.89v6.86H16V13h26.11l15.35 15.36v15",fill:"none"}),l.jsx("path",{d:"M63.68 44h-33v15h33V44Z",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"d52dd685-4b43-4f14-83c7-7f9f9c5e6138",children:l.jsx("path",{fill:"#fff",d:"M14 11h51.68v57.75H14z"})})})]}),eightshiftLibs1:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#6483b84f-b870-4980-baac-7fbb0ef69e71)",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",children:[l.jsx("path",{d:"M44.43 14v15.36h15.35",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"M61 67H19V13h26.81L61 28.43V67Z",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"m41.7 58.66-3.98-1.4a8.787 8.787 0 0 1-5.37-11.22 8.787 8.787 0 0 1 11.22-5.37l3.98 1.4m2.49 15.2-6.99-2.5m9.72-6.17-6.6-2.36",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"M34 42c-2.03-.71-4.11.9-4.83 2.92-.71 2.03-.2 4.37 1.83 5.08m9.87 10.91 7.85-21.89",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"M30.96 45.59C25.5 43.67 19 39 19 29",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"6483b84f-b870-4980-baac-7fbb0ef69e71",children:l.jsx("path",{fill:"#fff",d:"M17 11h46v58H17z"})})})]}),eightshiftLibs:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#3d82a66e-25df-490d-8f7b-15f3b6effac0)",children:[l.jsx("path",{d:"M67 13H13v54h54V13Z",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"M61 63a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm-42 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm42-42a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm-42 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z",fill:"#D92327"}),l.jsx("path",{d:"M40 59c10.493 0 19-8.507 19-19s-8.507-19-19-19-19 8.507-19 19 8.507 19 19 19Z",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"M45.56 55.78c2.77-7.93 7.6-22.91 7.6-25.17 0-5.69-4.99-6.54-6.89-4.18-4.18 5.18 5.03 11.33 2.91 18.42m-4.76 11.62-7.51-24.85m-2.14 25.97c.89-2.48 3.55-10.16 5.1-14.94m-6.47-9.59h5.36m-3.99 23.41-7.51-24.85m-4.57 1.44h6.43",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"3d82a66e-25df-490d-8f7b-15f3b6effac0",children:l.jsx("path",{fill:"#fff",d:"M11 11h58v58H11z"})})})]}),boilerplate:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#6242c987-27ea-4f6e-8ebc-c4c779f67374)",children:[l.jsx("path",{d:"M67 13H13v54h54V13Z",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"M61 63a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm-42 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm42-42a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm-42 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z",fill:"#D92327"}),l.jsx("path",{d:"M40 59c10.493 0 19-8.507 19-19s-8.507-19-19-19-19 8.507-19 19 8.507 19 19 19Z",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"M45.56 55.78c2.77-7.93 7.6-22.91 7.6-25.17 0-5.69-4.99-6.54-6.89-4.18-4.18 5.18 5.03 11.33 2.91 18.42m-4.76 11.62-7.51-24.85m-2.14 25.97c.89-2.48 3.55-10.16 5.1-14.94m-6.47-9.59h5.36m-3.99 23.41-7.51-24.85m-4.57 1.44h6.43",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"6242c987-27ea-4f6e-8ebc-c4c779f67374",children:l.jsx("path",{fill:"#fff",d:"M11 11h58v58H11z"})})})]}),secretsCli:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#7b9b4ab6-7355-4ebe-b0e3-bfc8e2fd588c)",children:[l.jsx("path",{d:"M33.57 44.96a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm6 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm6 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm-12 5.37a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm6 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm6 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm-12 5.37a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm6 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm6 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm-6 5.37a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z",fill:"currentColor"}),l.jsx("path",{d:"M50.99 33.84v-9.1c0-5.65-3.97-10.7-9.54-11.59-7.14-1.13-13.3 4.35-13.3 11.27v9.42",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{clipRule:"evenodd",d:"M57.13 66.82H22c-2.21 0-4-1.79-4-4V37.84c0-2.21 1.79-4 4-4h35.13c2.21 0 4 1.79 4 4v24.99c0 2.2-1.79 3.99-4 3.99Z",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"square",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"7b9b4ab6-7355-4ebe-b0e3-bfc8e2fd588c",children:l.jsx("path",{fill:"#fff",d:"M16 11h47.13v57.82H16z"})})})]}),jsonapiQuerybuilder:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#7cba23f5-900c-48ef-a878-753eca73dbff)",children:[l.jsx("path",{d:"M51.53 50.41c7.693 0 13.93-6.237 13.93-13.93s-6.237-13.93-13.93-13.93S37.6 28.787 37.6 36.48s6.237 13.93 13.93 13.93Z",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M16.72 65.52h26.02m6.72-42.82V14H16.72v41.8m35.74-5.55V22.7m-3 36.1v-8.55M16.72 65.52c-3.71 0-6.72-3.01-6.72-6.72v-2.84h29.07m10.39 2.84c0 3.71-3.01 6.72-6.72 6.72",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M24.74 28.05a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm0 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z",fill:"currentColor"}),l.jsx("path",{d:"M38.24 37.05h6.5m-16-3h9.5m-9.5-8h12.89m19.68 20.34 9.7 9.83",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"7cba23f5-900c-48ef-a878-753eca73dbff",children:l.jsx("path",{fill:"#fff",d:"M8 12h64.43v55.52H8z"})})})]}),chartsPainter:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#565d328f-0ba9-42ac-a0b9-ff3a7d8d349a)",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",children:[l.jsx("path",{clipRule:"evenodd",d:"M69.65 40.33c0 16.2-13.13 29.33-29.33 29.33-17.61 0-8.54-10.9-13.75-15.65C20.69 48.64 11 56.58 11 40.33 11 24.13 24.13 11 40.33 11c16.2 0 29.32 13.13 29.32 29.33Z",fill:"none"}),l.jsx("path",{d:"M39.24 54.13a5.82 5.82 0 1 0 0-11.64 5.82 5.82 0 0 0 0 11.64Zm-4.51-8.43L13.17 29.25M43.45 45.7l22.6-19.46M39.24 53.53l1.09 16.12m-2.18-26.56-4.89-31.23m11.2 39.19 16.05 10.54m-24.8-9.45-7.19 7.53",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"565d328f-0ba9-42ac-a0b9-ff3a7d8d349a",children:l.jsx("path",{fill:"#fff",d:"M9 9h62.65v62.65H9z"})})})]}),princeofversionsFlutter:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M65 35H12V7.941l18.642 10.716-1.995 3.468L16 14.855V31h45V14.854l-12.647 7.271-1.995-3.468L65 7.941v27.06Z",fill:"currentColor"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M48.542 26.773 38.99 13.772l-9.552 13-3.222-2.367L38.99 7.015l12.775 17.39-3.223 2.368ZM46.18 39.374l-7.19 9.788-7.19-9.788h-4.963L38.99 55.917l12.153-16.543H46.18Z",fill:"currentColor"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"m59.12 39.374-20.13 27.49-20.129-27.49h-4.957L38.99 73.636l25.086-34.262H59.12Zm3.326-4.544h.327l-.213-.155-.114.156Zm-47.238 0h.327l-.115-.155-.212.156Z",fill:"currentColor"})]}),princeofversionsIos:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M65 35H12V7.941l18.642 10.716-1.995 3.468L16 14.855V31h45V14.854l-12.647 7.271-1.995-3.468L65 7.941v27.06Z",fill:"#D92327"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M48.542 26.773 38.99 13.772l-9.552 13-3.222-2.367L38.99 7.015l12.775 17.39-3.223 2.368ZM46.18 39.374l-7.19 9.788-7.19-9.788h-4.963L38.99 55.917l12.153-16.543H46.18Z",fill:"#D92327"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"m59.12 39.374-20.13 27.49-20.129-27.49h-4.957L38.99 73.636l25.086-34.262H59.12Zm3.326-4.544h.327l-.213-.155-.114.156Zm-47.238 0h.327l-.115-.155-.212.156Z",fill:"#D92327"})]}),mailgunCatcher:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#6b7dee8e-4328-4d1a-b9f9-4454efca0565)",children:[l.jsx("path",{d:"M32.73 31.08a2.23 2.23 0 1 0 0-4.46 2.23 2.23 0 0 0 0 4.46Z",fill:"#D92327"}),l.jsx("path",{d:"M40.56 27.24c.11.52.16 1.06.16 1.61 0 4.42-3.58 8-8 8s-8-3.58-8-8 3.58-8 8-8c3.87 0 7.1 2.75 7.84 6.39Z",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M19.04 36.85a15.73 15.73 0 0 1-2.16-8C16.87 20.1 23.97 13 32.73 13c8.12 0 14.82 6.1 15.74 13.97 0 2.21-1.68 3.99-3.89 3.99a4.01 4.01 0 0 1-3.95-3.34",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M8 36.86h49.19",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M52.34 36.86c.16 1.01.24 2.05.24 3.11 0 11.05-8.95 28-20 28s-20-16.95-20-28c0-1.05.08-2.07.23-3.07m39.77 3.07H73.2M32.73 38.4v29.57m10-29.57v25.57m-20-25.57v24.57M14.4 46.64h36.36m-33.36 10h30.36",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"6b7dee8e-4328-4d1a-b9f9-4454efca0565",children:l.jsx("path",{fill:"#fff",d:"M6 11h67.2v58.97H6z"})})})]}),prometheus:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#d1444ede-6423-4934-a1c1-57e98224a95c)",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",children:[l.jsx("path",{d:"m56.41 51.62 8.89-8.88 8.88 8.88M6.41 42.74l8.89 8.88 8.88-8.88M45.55 16h-10c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4ZM29.93 44.05l8.65 8.8 14.97-15.12",fill:"none"}),l.jsx("path",{d:"M65.39 44.12c.11.95.16 1.91.16 2.88 0 13.81-11.19 25-25 25-9.48 0-17.72-5.27-21.96-13.04m-2.96-10.03c-.05-.64-.07-1.28-.07-1.93 0-13.81 11.19-25 25-25 9.35 0 17.51 5.14 21.79 12.74",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"d1444ede-6423-4934-a1c1-57e98224a95c",children:l.jsx("path",{fill:"#fff",d:"M5 6h70.59v68H5z"})})})]}),phrasingplus:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#352f3457-050f-4a9d-b366-8e32d43769f6)",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",children:[l.jsx("path",{d:"M19 54V26h5.79c3.66 0 7.29 2.93 7.73 6.56.55 4.56-2.99 8.44-7.44 8.44H23m16 13V24m0 19.58c0-3.4 3.52-6.1 7-5.68 2.9.35 5 2.97 5 5.89V54m9-12.75V71m0-61v24",fill:"none"}),l.jsx("path",{d:"M58 61H10V17h31m31 5H48",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"352f3457-050f-4a9d-b366-8e32d43769f6",children:l.jsx("path",{fill:"#fff",d:"M8 10h64v61H8z"})})})]}),fiscalizer:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#b4e1974a-e322-4da4-a802-4e7ff20f4059)",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",children:[l.jsx("path",{d:"M45.64 66.1H34.05C19.66 66.1 8 54.44 8 40.05S19.66 14 34.05 14h11.59",fill:"none"}),l.jsx("path",{d:"M45.64 66.1c14.387 0 26.05-11.663 26.05-26.05S60.027 14 45.64 14 19.59 25.663 19.59 40.05 31.253 66.1 45.64 66.1ZM8 40.05h11.59M10.9 53.2h11.59M10.9 26.9h11.59",fill:"none"}),l.jsx("path",{d:"M52.27 31.34c-4.58-4.71-12.95-3.84-12.95 1.92 0 6.77 13.3 5.11 13.3 12.54 0 5.38-9.17 8.29-14.72 2.39m7.74 3.22v5.57m0-33.86v5.57",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"b4e1974a-e322-4da4-a802-4e7ff20f4059",children:l.jsx("path",{fill:"#fff",d:"M6 12h67.69v56.1H6z"})})})]}),enumeration:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#2243c74e-e798-41a0-a62f-215549aaaeab)",children:[l.jsx("path",{d:"M56.12 48.66 39.49 30.99l5.09-7.34h23.07l5.09 7.34-16.62 17.67Z",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M13.72 65.52h26.02m6.72-46.47V14H13.72v41.8m32.74 3V38.95M13.72 65.52C10.01 65.52 7 62.51 7 58.8v-2.84h19.07m20.39 2.84c0 3.71-3.01 6.72-6.72 6.72",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M21.74 25.05a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm0 7.66a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm6 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm-6 7.67a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm6 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm6 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm-12 7.67a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm6 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm6 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm6 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z",fill:"#D92327"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"2243c74e-e798-41a0-a62f-215549aaaeab",children:l.jsx("path",{fill:"#fff",d:"M5 12h70.31v55.52H5z"})})})]}),phrasing:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{d:"M26 29v26h-4V25h7.792c4.705 0 9.153 3.718 9.713 8.32.693 5.713-3.738 10.68-9.429 10.68H28v-4h2.076c3.297 0 5.862-2.874 5.459-6.197-.31-2.544-3.013-4.803-5.743-4.803H26Zm20 26h-4V25h4v30Z",fill:"#D8262C"}),l.jsx("path",{d:"M46 44.583h-4c0-4.597 4.558-8.231 9.237-7.662C55.124 37.393 58 40.838 58 44.8V55h-4V44.8c0-1.988-1.418-3.686-3.245-3.909-2.388-.29-4.755 1.597-4.755 3.692ZM63 9h4v63h-4V9Z",fill:"#D8262C"}),l.jsx("path",{d:"M17 60h46v4H13V16h50v4H17v40Z",fill:"#D8262C"})]}),mobxJsonapi:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M12.892 17.646a.203.203 0 0 0-.018.073c0 .005 0 .026.018.072.019.05.062.137.156.258.196.255.56.59 1.172.974 1.229.77 3.14 1.537 5.679 2.21 5.049 1.34 12.135 2.19 20.039 2.19 7.904 0 14.989-.85 20.037-2.19 2.54-.673 4.45-1.44 5.679-2.21.612-.383.976-.72 1.172-.974.094-.121.137-.208.156-.258.018-.046.018-.067.018-.072 0-.006 0-.027-.018-.073a1.065 1.065 0 0 0-.156-.258c-.196-.255-.56-.59-1.172-.974-1.229-.77-3.14-1.538-5.679-2.211-5.049-1.339-12.133-2.19-20.037-2.19s-14.99.851-20.039 2.19c-2.54.673-4.45 1.44-5.679 2.21-.612.384-.976.72-1.172.975a1.06 1.06 0 0 0-.156.258Zm5.982-7.31c5.47-1.45 12.917-2.323 21.064-2.323S55.531 8.886 61 10.336c2.72.722 5.066 1.615 6.778 2.689C69.388 14.034 71 15.568 71 17.719c0 2.15-1.612 3.684-3.222 4.693C66.066 23.486 63.72 24.38 61 25.1c-5.47 1.45-12.915 2.324-21.062 2.324-8.148 0-15.594-.874-21.064-2.324-2.72-.721-5.066-1.614-6.778-2.688-1.61-1.009-3.222-2.543-3.222-4.693 0-2.15 1.612-3.685 3.222-4.694 1.712-1.074 4.058-1.967 6.778-2.689Zm48.104 21.87a.24.24 0 0 0 .022-.09h4c0 2.247-1.742 3.83-3.473 4.865-1.852 1.107-4.398 2.023-7.367 2.75l-.951-3.885c2.788-.683 4.9-1.482 6.267-2.299.681-.407 1.094-.77 1.32-1.05a1.19 1.19 0 0 0 .182-.291ZM67 46.515h4c0 1.9-1.258 3.327-2.615 4.307-1.404 1.013-3.32 1.859-5.54 2.56l-1.205-3.815c2.027-.64 3.49-1.33 4.404-1.989.451-.326.706-.6.838-.796.12-.177.118-.258.118-.267Z",fill:"#D8262C"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M9 60.846V18h4v42.846c0 .019.066.566 1.41 1.487 1.237.849 3.15 1.72 5.674 2.5 5.023 1.551 12.07 2.622 19.916 2.622 7.847 0 14.893-1.07 19.916-2.623 2.524-.78 4.437-1.65 5.674-2.499 1.344-.921 1.41-1.468 1.41-1.487V18h4v42.846c0 2.105-1.557 3.696-3.148 4.786-1.698 1.164-4.031 2.18-6.755 3.022-5.473 1.69-12.927 2.801-21.097 2.801-8.17 0-15.624-1.11-21.097-2.801-2.724-.842-5.057-1.858-6.755-3.022C10.558 64.542 9 62.951 9 60.846Z",fill:"#D8262C"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M50.994 50.313V50.3a3.259 3.259 0 0 1 .01-.279 6.056 6.056 0 0 1 .757-2.56c.887-1.574 2.63-2.884 5.514-2.884v4c-1.468 0-1.865.556-2.03.849a2.06 2.06 0 0 0-.25.878v7.091c0 1.865-.837 3.361-2.141 4.333-1.242.925-2.8 1.306-4.284 1.306v-4c.853 0 1.507-.225 1.894-.513.323-.241.53-.565.53-1.126v-7.08Z",fill:"#D8262C"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M50.464 35.426c-.387-.288-1.04-.513-1.894-.513v-4c1.484 0 3.042.381 4.284 1.306 1.304.972 2.14 2.468 2.14 4.333v6.235a1.917 1.917 0 0 0 .027.232c.034.195.102.43.224.647.165.293.563.85 2.03.85v4c-2.884 0-4.627-1.312-5.514-2.886a6.06 6.06 0 0 1-.767-2.84v-6.238c0-.561-.207-.884-.53-1.126ZM27.02 32.22c1.241-.926 2.8-1.307 4.284-1.307v4c-.853 0-1.507.226-1.894.514-.323.24-.53.564-.53 1.125v6.238a3.95 3.95 0 0 1-.01.279 6.062 6.062 0 0 1-.757 2.56c-.887 1.575-2.63 2.886-5.514 2.886v-4c1.467 0 1.865-.556 2.03-.85a2.066 2.066 0 0 0 .25-.878v-6.235c0-1.865.837-3.361 2.141-4.333Z",fill:"#D8262C"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M28.88 50.313V50.3a3.942 3.942 0 0 0-.01-.279 6.057 6.057 0 0 0-.757-2.56c-.887-1.574-2.63-2.884-5.514-2.884v4c1.468 0 1.865.556 2.03.849a2.063 2.063 0 0 1 .25.878v7.091c0 1.865.837 3.361 2.141 4.333 1.241.925 2.8 1.306 4.284 1.306v-4c-.853 0-1.507-.225-1.894-.513-.323-.241-.53-.565-.53-1.126v-7.08Zm6.843-3.613a2.583 2.583 0 1 1-5.167 0 2.583 2.583 0 0 1 5.167 0Zm6.817.03a2.583 2.583 0 1 1-5.169.001 2.583 2.583 0 0 1 5.168 0Zm6.816-.03a2.583 2.583 0 1 1-5.169.001 2.583 2.583 0 0 1 5.17-.002Zm-36.961-9.728C10.67 35.921 9 34.335 9 32.116h4c0 .024.046.569 1.476 1.44 1.33.81 3.404 1.608 6.19 2.29l-.952 3.885c-2.972-.728-5.492-1.646-7.319-2.759Zm-.864 13.834C10.18 49.804 9 48.378 9 46.515h4c0 .026.012.41.915 1.079.875.65 2.297 1.335 4.32 1.973l-1.205 3.815c-2.226-.703-4.12-1.552-5.499-2.576Z",fill:"#D8262C"})]}),mjolnir:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{d:"M41.419 41.419 15.756 67.083 8.124 59.45l22.53-22.53",stroke:"#D8262C",strokeWidth:"4",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m56.18 10.872 7.632 7.63m1.624 18.968.227-6.986-10.856-10.857L43.948 8.77l-6.986.227-9.905 9.904-.226 6.986L37.69 36.744 40.945 40",stroke:"#D8262C",strokeWidth:"4",fill:"none"}),l.jsx("path",{clipRule:"evenodd",d:"M72.133 52.327c0 9.504-7.704 17.208-17.208 17.208-9.504 0-17.208-7.704-17.208-17.208 0-9.504 7.704-17.208 17.208-17.208 9.504 0 17.208 7.704 17.208 17.208Z",stroke:"#D8262C",strokeWidth:"4",fill:"none"}),l.jsx("path",{d:"M47 45h16m-18 7h20m-18 7h16",stroke:"#D8262C",strokeWidth:"4",fill:"none"})]}),mina:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{d:"m19.944 19.053-2.767-2.889A32.888 32.888 0 0 1 40 7a32.888 32.888 0 0 1 22.826 9.168l-2.767 2.888A28.889 28.889 0 0 0 40 11a28.889 28.889 0 0 0-20.055 8.053Z",fill:"#D8262C"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"m65.581 19.035-25.58 22.484-25.578-22.486-1.286 1.8A32.856 32.856 0 0 0 7 39.999c0 18.226 14.774 33 33 33s33-14.774 33-33a32.856 32.856 0 0 0-6.133-19.164l-1.286-1.8Zm-50.412 5.98 24.83 21.83 24.836-21.829A28.86 28.86 0 0 1 69 40c0 16.017-12.984 29-29 29S11 56.016 11 40c0-5.366 1.461-10.51 4.169-14.985Z",fill:"#D8262C"}),l.jsx("path",{d:"M53 32h4v20h-4V32Zm-30 0h4v20h-4V32Z",fill:"#D8262C"})]}),mediaBlender:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{d:"M14 23v36h-4V19h11v4h-7Zm51 0H27v-4h42v42H21v-4h44V23Z",fill:"#D8262C"}),l.jsx("path",{d:"M23 66h37v4H19V10h41v43h-4V14H23v52Z",fill:"#D8262C"}),l.jsx("path",{d:"M46 34h-7v-4h11v11h-4v-7ZM33 47h7v4H29V40h4v7Z",fill:"#D8262C"}),l.jsx("path",{d:"m32.34 50.597-2.83-2.829 16.517-16.516 2.828 2.829L32.34 50.597Z",fill:"#D8262C"})]}),material:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M16 17v48h48V17H16Zm44 44H20V21h40v40Z",fill:"#D8262C"}),l.jsx("path",{d:"m21.902 64.272-2.828-2.828 23.771-23.771 20.78 22.332-2.929 2.725-17.955-19.296-20.839 20.838Z",fill:"#D8262C"}),l.jsx("path",{d:"m34.064 47.55-2.665 2.983a12.38 12.38 0 0 1-4.143-9.214c-.021-6.85 5.515-12.422 12.365-12.443 6.852-.021 12.423 5.514 12.444 12.366a12.359 12.359 0 0 1-1.725 6.353l-3.44-2.038a8.359 8.359 0 0 0 1.166-4.303 8.404 8.404 0 0 0-8.431-8.378 8.404 8.404 0 0 0-8.378 8.43 8.38 8.38 0 0 0 2.808 6.245ZM67 21v-4h6v4h-6Zm0 44v-4h6v4h-6Zm-7 3h4v6h-4v-6Zm-44 0h4v6h-4v-6ZM60 8h4v6h-4V8ZM16 8h4v6h-4V8ZM7 21v-4h6v4H7Zm0 44v-4h6v4H7Z",fill:"#D8262C"})]}),learnquery:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M35.647 50.402a2.564 2.564 0 1 1-5.129.001 2.564 2.564 0 0 1 5.129-.001Z",fill:"#D8262C"}),l.jsx("path",{d:"M15.442 42.174a10.21 10.21 0 0 1 1.25 3.198 15.89 15.89 0 0 1 .324 3.219v13.594c0 .895.206 1.416.576 1.728.477.4 1.146.616 2.096.616h3.706v4h-3.706c-1.843 0-3.426-.509-4.671-1.555-1.348-1.135-2.001-2.787-2.001-4.79V48.592c0-.83-.08-1.634-.24-2.408a6.212 6.212 0 0 0-.765-1.953c-.341-.57-.82-1.086-1.449-1.552-.605-.449-1.426-.812-2.475-1.074l-.039-3.87c2.064-.56 3.304-1.443 3.884-2.624a10.54 10.54 0 0 0 1.084-4.723v-12.91c0-2.005.652-3.659 1.997-4.792 1.244-1.053 2.829-1.564 4.675-1.564h3.706v4h-3.706c-.948 0-1.616.215-2.094.62-.372.313-.578.836-.578 1.737v12.909c0 2.293-.5 4.465-1.494 6.487a7.833 7.833 0 0 1-2.315 2.791 9.26 9.26 0 0 1 2.235 2.509Zm50.24-5.299a14.54 14.54 0 0 1-1.494-6.489V17.477c0-.9-.207-1.423-.58-1.738-.477-.403-1.145-.619-2.092-.619H57.81v-4h3.706c1.844 0 3.43.512 4.674 1.564 1.345 1.137 1.998 2.79 1.998 4.793v12.91c0 1.684.36 3.252 1.084 4.724.58 1.18 1.819 2.062 3.882 2.622l-.038 3.87c-1.048.262-1.87.626-2.474 1.074-.629.466-1.108.983-1.45 1.554a6.205 6.205 0 0 0-.764 1.95c-.16.777-.24 1.58-.24 2.41v13.593c0 2.001-.654 3.654-2.002 4.79-1.243 1.046-2.827 1.554-4.67 1.554H57.81v-4h3.706c.95 0 1.619-.215 2.094-.614.371-.313.578-.835.578-1.73V48.591c0-1.098.107-2.173.323-3.221.235-1.132.653-2.2 1.25-3.196a9.28 9.28 0 0 1 2.235-2.509 7.831 7.831 0 0 1-2.314-2.79Z",fill:"#D8262C"}),l.jsx("path",{d:"M22 22h4v34h-4V22Zm33.08 22.772 3.84 1.12a8.897 8.897 0 0 1-2.71 4.277c-.392.346-.8.65-1.241.94-.168.11-.336.213-.521.325l-.405.239c-1.369.807-2.98 1.2-4.802 1.2-1.42 0-2.78-.273-4.062-.82a9.877 9.877 0 0 1-3.395-2.401c-.964-1.042-1.714-2.306-2.254-3.777-.538-1.462-.801-3.1-.801-4.907 0-1.808.263-3.446.8-4.908.543-1.476 1.303-2.744 2.285-3.788a10.072 10.072 0 0 1 3.403-2.39 10.347 10.347 0 0 1 4.099-.82c1.7 0 3.241.358 4.599 1.085 2 1.072 3.957 3.246 4.974 6.178l-3.779 1.311c-.674-1.945-1.94-3.35-3.084-3.963-.753-.403-1.646-.61-2.71-.61a6.36 6.36 0 0 0-2.528.498c-.775.33-1.457.81-2.06 1.452-.6.638-1.082 1.44-1.444 2.426-.366.998-.555 2.172-.555 3.529 0 1.356.189 2.53.555 3.528.364.991.844 1.8 1.436 2.44a5.875 5.875 0 0 0 2.029 1.438c.78.333 1.607.5 2.492.5 1.14 0 2.052-.223 2.768-.646.872-.515 1.13-.684 1.556-1.059a4.917 4.917 0 0 0 1.515-2.397Z",fill:"#D8262C"}),l.jsx("path",{d:"M55 29h4v30h-4V29Z",fill:"#D8262C"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M35.647 36.086a2.564 2.564 0 1 1-5.129.001 2.564 2.564 0 0 1 5.129-.001Z",fill:"#D8262C"})]}),goldfinger:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M50.125 30.349a3.022 3.022 0 1 0 0-6.044 3.022 3.022 0 0 0 0 6.044Zm-20.25 0a3.022 3.022 0 1 0 0-6.044 3.022 3.022 0 0 0 0 6.044Z",fill:"#D8262C"}),l.jsx("path",{d:"M56.714 19.642a2 2 0 1 1-2.828-2.829l9.313-9.312a2 2 0 1 1 2.828 2.829l-9.313 9.312Zm-30.566-2.829a2 2 0 0 1-2.829 2.829l-9.312-9.312a2 2 0 1 1 2.829-2.83l9.312 9.312ZM12 69h7v4H8V63h4v6Zm53-30h-7v-4h11v23a7 7 0 0 1-7 7H48v8H37v-4h7v-8h18a3 3 0 0 0 3-3V39Zm-21 0h-7v-4h11v11h-4v-7Z",fill:"#D8262C"}),l.jsx("path",{d:"M45.608 11.695c11.27 2.49 19.167 12.043 19.167 23.786h-4c0-9.842-6.57-17.79-16.03-19.88C30.698 12.497 19 22.227 19 36.864V39h-6v7H9V35h6.055c.976-16.132 14.582-26.834 30.552-23.305Zm-19.784 52.3a2 2 0 1 1 3.999.07l-.065 3.72a2 2 0 1 1-4-.07l.066-3.72Z",fill:"#D8262C"}),l.jsx("path",{d:"M37.62 62.766a2 2 0 1 1-3.908.857c-1.351-6.166-10.551-6.163-11.909.002a2 2 0 0 1-3.906-.86c2.28-10.35 17.452-10.357 19.723.001Z",fill:"#D8262C"}),l.jsx("path",{d:"M40.184 54.34a2 2 0 1 1-3.198 2.403c-4.435-5.904-14.134-5.914-18.551-.008a2 2 0 0 1-3.203-2.396c6.017-8.045 18.918-8.032 24.952.002Z",fill:"#D8262C"}),l.jsx("path",{d:"M37.103 43.71a2 2 0 0 1-1.972 3.48c-4.505-2.552-10.352-2.56-14.847-.014a2 2 0 1 1-1.971-3.48c5.719-3.24 13.063-3.23 18.79.014Z",fill:"#D8262C"})]}),princeofversionsAndroid:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#ceddb96d-a637-4e4d-8ae1-945c531d84ae)",children:[l.jsx("path",{d:"M50.62 30.39a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm-21.24 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z",fill:"#D92327"}),l.jsx("path",{d:"M55.3 19.31 64.61 10m-39.88 9.31L15.42 10",stroke:"#D8262C",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M40 14.16c13.67 0 23 10.05 23 22.46v3.46c3.87 0 7 3.13 7 7v15c0 2.76-2.24 5-5 5s-5-2.24-5-5v-1M40 14.16c-13.67 0-23 10.05-23 22.46v3.46c-3.87 0-7 3.13-7 7v15c0 2.76 2.24 5 5 5s5-2.24 5-5v-1",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M53.62 42.83H26.5v27.12h27.12V42.83Z",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"m35.16 61.18 11.25-11.25m-8.94-.38h9.06v9.07m-4.09 4.59h-9.07v-9.07",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"ceddb96d-a637-4e4d-8ae1-945c531d84ae",children:l.jsx("path",{fill:"#fff",d:"M8 8h64v63.95H8z"})})})]}),complexify1:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#1d4d076d-d9fd-4398-af3c-68e39a67f183)",children:[l.jsx("path",{d:"M48.62 31.39a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm-21.24 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z",fill:"#D92327"}),l.jsx("path",{d:"M53.3 20.31 62.61 11m-39.88 9.31L13.42 11",stroke:"#D8262C",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M38 15.16c13.67 0 23 10.05 23 22.46v3.46M38 15.16c-13.67 0-23 10.05-23 22.46v3.46c-3.87 0-7 3.13-7 7v15c0 2.76 2.24 5 5 5s5-2.24 5-5v-1",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{clipRule:"evenodd",d:"M65.51 55.64H30.87a6.5 6.5 0 1 1 0-13h34.64a6.5 6.5 0 1 1 0 13Z",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M58.17 49.14h5.85",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{clipRule:"evenodd",d:"M65.51 68.64H30.87a6.5 6.5 0 1 1 0-13h34.64a6.5 6.5 0 1 1 0 13Z",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M32.15 62.14H38",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"1d4d076d-d9fd-4398-af3c-68e39a67f183",children:l.jsx("path",{fill:"#fff",d:"M6 9h68.01v61.64H6z"})})})]}),jsonapix:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{d:"M44.867 62.34v-2h-2v2h2Zm24.184-22.262 1.175 1.618-.011-3.244-1.164 1.626ZM44.774 17.663l-2-.022-.022 2.022h2.022v-2Zm.093-8.348v-2H42.89l-.022 1.977 2 .023ZM78.25 43.153l.958 1.756 1.042-.569v-1.187h-2ZM44.867 70.686h-2v2h2v-2ZM78.25 37.54h2v-1.11l-.94-.587-1.06 1.696Zm-1.559 6.464.958 1.755-.958-1.755Zm-.51-7.757-1.06 1.696 1.06-1.696ZM66.75 38.43l1.164-1.626-1.164 1.626Zm-3.344-6.464 2-.01-2 .01Zm3.32 9.802 1.175 1.618-1.175-1.618Zm-1.3 15.572v-9.1h-4v9.1h4ZM67.9 43.386l2.326-1.69-2.35-3.236-2.327 1.69 2.351 3.236Zm2.315-4.934-2.302-1.648-2.328 3.253 2.302 1.647 2.328-3.252Zm-4.81-6.496-.047-9.328-4 .02.047 9.328 4-.02Zm-7.047-16.293H44.774v4h13.584v-4Zm-11.584 2.023.093-8.35-4-.044-.093 8.349 4 .045Zm-1.907-6.371h15.614v-4H44.867v4Zm24.614 9v7.452h4v-7.452h-4Zm7.811 21.082-1.559.851 1.916 3.511 1.559-.85-1.916-3.511Zm-7.81 11.385v6.904h4v-6.904h-4Zm-9 15.904H44.866v4H60.48v-4ZM44.867 64.34h13.558v-4H44.867v4Zm2 6.346V62.34h-4v8.346h4Zm28.254-32.743 2.068 1.293 2.12-3.392-2.068-1.293-2.12 3.392Zm1.128-.403v5.613h4V37.54h-4Zm-.517 4.708a12 12 0 0 0-6.252 10.534h4a8 8 0 0 1 4.168-7.023l-1.916-3.511ZM69.48 27.767a12 12 0 0 0 5.64 10.176l2.12-3.392a8 8 0 0 1-3.76-6.784h-4Zm-9-16.452a9 9 0 0 1 9 9h4c0-7.18-5.82-13-13-13v4Zm4.877 11.313a7 7 0 0 0-7-6.965v4a3 3 0 0 1 3 2.985l4-.02Zm2.555 14.176a6 6 0 0 1-2.508-4.848l-4 .02a10 10 0 0 0 4.18 8.08l2.328-3.252ZM65.426 48.24a6 6 0 0 1 2.474-4.854l-2.35-3.237a10 10 0 0 0-4.124 8.091h4Zm4.055 11.446a9 9 0 0 1-9 9v4c7.18 0 13-5.82 13-13h-4Zm-8.055-2.346a3 3 0 0 1-3 3v4a7 7 0 0 0 7-7h-4Z",fill:"#D8262C"}),l.jsx("path",{d:"M46.67 62.29h2.756a5 5 0 0 0 5-5v-9.1a8 8 0 0 1 3.299-6.473l2.326-1.69-2.29-1.639a8 8 0 0 1-3.344-6.488l-.02-9.245a5 5 0 0 0-5-4.99H46.63",stroke:"#D8262C",strokeWidth:"4",strokeLinejoin:"bevel",fill:"none"}),l.jsx("path",{d:"M44.972 17.66v2h2v-2h-2ZM20.505 39.922l-1.175-1.618.01 3.244 1.165-1.626Zm24.467 22.321h2v-2h-2v2Zm0 8.442v2h2v-2h-2ZM11.306 35.847l-.74-1.858-1.26.501v1.357h2ZM44.972 9.314h2v-2h-2v2ZM11.306 43.46h-2v1.262l1.138.543.862-1.805Zm.466-7.799-.74-1.858.74 1.858Zm11.014 5.894-1.164 1.626 1.164-1.626Zm.045-3.323-1.175-1.618 1.175 1.618ZM24.13 22.66v9.1h4v-9.1h-4Zm-2.474 13.954-2.326 1.69 2.35 3.236 2.326-1.69-2.35-3.236Zm-2.315 4.934 2.28 1.633 2.33-3.253-2.282-1.632-2.328 3.252Zm4.789 6.512v9.183h4V48.06h-4Zm7 16.183h13.842v-4H31.13v4Zm11.842-2v8.442h4v-8.442h-4Zm2 6.442H29.074v4h15.898v-4Zm-24.898-9v-6.687h-4v6.687h4Zm-8.029-21.98.466-.185-1.479-3.717-.466.186 1.48 3.716Zm8.03-11.335v-6.056h-4v6.056h4Zm9-15.056h15.897v-4H29.074v4Zm15.897 4.346H31.13v4h13.842v-4Zm-2-6.346v8.346h4V9.314h-4ZM13.242 42.17l-1.075-.514-1.723 3.61 1.076.514 1.723-3.61Zm.064 1.291v-7.613h-4v7.613h4Zm-.795-5.94a12 12 0 0 0 7.563-11.15h-4a8 8 0 0 1-5.042 7.433l1.48 3.717Zm7.563 15.478a12 12 0 0 0-6.832-10.83l-1.722 3.61a8 8 0 0 1 4.554 7.22h4Zm9 15.687a9 9 0 0 1-9-9h-4c0 7.18 5.82 13 13 13v-4ZM24.13 57.243a7 7 0 0 0 7 7v-4a3 3 0 0 1-3-3h-4Zm-2.508-14.062a6 6 0 0 1 2.508 4.879h4a10 10 0 0 0-4.18-8.132l-2.328 3.253ZM24.13 31.76a6 6 0 0 1-2.474 4.854l2.35 3.237a10 10 0 0 0 4.124-8.091h-4Zm-4.056-11.446a9 9 0 0 1 9-9v-4c-7.18 0-13 5.82-13 13h4Zm8.056 2.346a3 3 0 0 1 3-3v-4a7 7 0 0 0-7 7h4Z",fill:"#D8262C"}),l.jsx("path",{d:"M34.251 70.685H20.074c-6.075 0-11-4.924-11-11v-7.948a8 8 0 0 0-4.554-7.22L2.306 43.46v-7.613l1.726-.687a8 8 0 0 0 5.042-7.433v-7.413c0-6.075 4.925-11 11-11h14.177M3.275 35.757h8.03m-8.029 8.012h8.736m46.604-3.357h10.207",stroke:"#D8262C",strokeWidth:"4",fill:"none"})]}),sentinelIos:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#d1111247-3645-4ffc-b34f-2ee979a20fa4)",children:[l.jsx("path",{d:"M41.08 58.49a3.08 3.08 0 1 0 0-6.16 3.08 3.08 0 0 0 0 6.16Zm9.66-1.21a1.87 1.87 0 1 0 0-3.74 1.87 1.87 0 0 0 0 3.74Zm-4.89 2.74a1.21 1.21 0 1 0 0-2.42 1.21 1.21 0 0 0 0 2.42Zm0-7.23a1.21 1.21 0 1 0 0-2.42 1.21 1.21 0 0 0 0 2.42Zm-14.61 4.49a1.87 1.87 0 1 0 0-3.74 1.87 1.87 0 0 0 0 3.74Zm4.9 2.74a1.21 1.21 0 1 0 0-2.42 1.21 1.21 0 0 0 0 2.42Zm0-7.23a1.21 1.21 0 1 0 0-2.42 1.21 1.21 0 0 0 0 2.42Z",fill:"currentColor"}),l.jsx("path",{clipRule:"evenodd",d:"M40.99 65.14c-4.25.08-7.61-1.39-9.72-3.72-.09 0-.17.01-.26.01A6.01 6.01 0 0 1 25 55.42c0-3.32 2.69-6.01 6.01-6.01.13 0 .25 0 .38.01 2.06-2.21 5.57-3.65 9.61-3.72 4.03.07 7.55 1.52 9.61 3.72.12-.01.25-.01.38-.01 3.32 0 6.01 2.69 6.01 6.01a6.01 6.01 0 0 1-6.01 6.01c-.09 0-.17 0-.26-.01-2.13 2.33-5.48 3.79-9.74 3.72Z",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M57.7 54.46h16.29m-17.65 4.35 5.65 5.65h11m-23.64-1.79 7.64 10.79h8m-8-20 15.5-15.5v-12.5",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M69.11 22.46a3.325 3.325 0 0 0 3.25 4c1.83 0 3.32-1.49 3.32-3.32 0-.23-.03-.46-.07-.68h-6.5Zm7.88 28.76a3.325 3.325 0 0 0-4 3.25c0 1.83 1.49 3.32 3.32 3.32.23 0 .46-.03.68-.07v-6.5Zm-2 10a3.325 3.325 0 0 0-4 3.25c0 1.83 1.49 3.32 3.32 3.32.23 0 .46-.03.68-.07v-6.5Zm-8 9a3.325 3.325 0 0 0-4 3.25c0 1.83 1.49 3.32 3.32 3.32.23 0 .46-.03.68-.07v-6.5Z",fill:"currentColor"}),l.jsx("path",{d:"M24.82 54.46H7m18 4-6 6H8m24.64-1.79L25 73.46h-8m8-20L9.5 37.96v-12.5",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M12.89 22.46a3.325 3.325 0 0 1-3.25 4c-1.83 0-3.32-1.49-3.32-3.32 0-.23.03-.46.07-.68h6.5ZM4 51.22a3.325 3.325 0 0 1 4 3.25c0 1.83-1.49 3.32-3.32 3.32-.23 0-.46-.03-.68-.07v-6.5Zm2 10a3.325 3.325 0 0 1 4 3.25c0 1.83-1.49 3.32-3.32 3.32-.23 0-.46-.03-.68-.07v-6.5Zm9 9a3.325 3.325 0 0 1 4 3.25c0 1.83-1.49 3.32-3.32 3.32-.23 0-.46-.03-.68-.07v-6.5Z",fill:"currentColor"}),l.jsx("path",{d:"M22.77 51.23c-1.31-3.45-2.13-7.17-2.13-10.61 0-10.38 6.48-15.82 12.56-15.82 3.95 0 7.02 2.28 9.07 2.28 1.76 0 5.04-2.42 9.3-2.42 7.33 0 10.22 5.22 10.22 5.22s-5.64 2.88-5.64 9.88c0 4.94 2.75 7.85 4.8 9.34",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{clipRule:"evenodd",d:"M44.893 11.318c3.66-3.756 8.104-3.3 8.104-3.3s.218 3.93-3.37 7.3c-3.838 3.603-7.614 2.534-7.614 2.534s-.374-3.195 2.88-6.534Z",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M48.32 39.56a2.46 2.46 0 1 0 0-4.92 2.46 2.46 0 0 0 0 4.92Zm-12.2 0a2.46 2.46 0 1 0 0-4.92 2.46 2.46 0 0 0 0 4.92Z",fill:"currentColor"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"d1111247-3645-4ffc-b34f-2ee979a20fa4",children:l.jsx("path",{fill:"#fff",d:"M4 4h72.99v72.78H4z"})})})]}),sentinel:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#3a7f3d86-f747-40d4-a256-dd9949fd3403)",fill:"#D92327",children:[l.jsx("path",{d:"M48.35 28.04c1.3 0 2.36-1.06 2.36-2.36 0-1.3-1.06-2.36-2.36-2.36-1.3 0-2.36 1.06-2.36 2.36 0 1.31 1.06 2.36 2.36 2.36Zm-16.72 0c1.3 0 2.36-1.06 2.36-2.36 0-1.3-1.06-2.36-2.36-2.36-1.3 0-2.36 1.06-2.36 2.36 0 1.31 1.06 2.36 2.36 2.36Zm8.45 23.99a3.08 3.08 0 1 0 0-6.16 3.08 3.08 0 0 0 0 6.16Zm9.66-4.95c-1.03 0-1.87.84-1.87 1.87 0 1.03.84 1.87 1.87 1.87 1.03 0 1.87-.84 1.87-1.87 0-1.03-.83-1.87-1.87-1.87Zm-4.89 4.06c-.67 0-1.21.54-1.21 1.21 0 .67.54 1.21 1.21 1.21.67 0 1.21-.54 1.21-1.21 0-.67-.54-1.21-1.21-1.21Zm0-4.81a1.21 1.21 0 1 0 0-2.42 1.21 1.21 0 0 0 0 2.42Zm-14.61.75c-1.03 0-1.87.84-1.87 1.87 0 1.03.84 1.87 1.87 1.87 1.03 0 1.87-.84 1.87-1.87 0-1.03-.84-1.87-1.87-1.87Zm4.9 4.06c-.67 0-1.21.54-1.21 1.21 0 .67.54 1.21 1.21 1.21.67 0 1.21-.54 1.21-1.21 0-.67-.54-1.21-1.21-1.21Zm0-4.81a1.21 1.21 0 1 0 0-2.42 1.21 1.21 0 0 0 0 2.42Z",fill:"none"}),l.jsx("path",{d:"M77.31 44.68c-1.08 0-2.03.52-2.63 1.32h-8.69v-5.49c0-.22-.01-.44-.03-.65l7.53-7.53V19.2c.71-.61 1.18-1.5 1.18-2.52 0-.23-.03-.46-.07-.68h-6.49a3.328 3.328 0 0 0 1.39 3.43v11.24l-5.15 5.15A7.546 7.546 0 0 0 60 33.15v-.2c0-5.33-1.97-10.03-5.25-13.5l6.03-6.03c.78-.78.78-2.05 0-2.83-.78-.78-2.05-.78-2.83 0l-6.25 6.25c-3.22-2.22-7.2-3.51-11.6-3.55v-.01h-.2v.01c-4.4.04-8.37 1.33-11.59 3.54l-6.24-6.24c-.78-.78-2.05-.78-2.83 0-.78.78-.78 2.05 0 2.83l6.02 6.02c-3.29 3.47-5.27 8.17-5.27 13.51v.2a7.495 7.495 0 0 0-4.35 2.67l-5.14-5.15V19.43A3.315 3.315 0 0 0 11.89 16h-6.5c-.04.22-.07.45-.07.68 0 1.01.46 1.91 1.18 2.52v13.13l7.52 7.52c-.02.22-.03.44-.03.66V46H5.31a3.29 3.29 0 0 0-2.63-1.32c-.23 0-.46.03-.68.07v6.49c.22.05.45.07.68.07 1.08 0 2.03-.52 2.63-1.32h8.68v3.07c0 1.51.57 2.89 1.5 3.93H7.31a3.29 3.29 0 0 0-2.63-1.32c-.23 0-.46.03-.68.07v6.49c.22.05.45.07.68.07 1.08 0 2.03-.52 2.63-1.32h10.52l2-2h.22c2.39 0 4.45-1.43 5.39-3.47.96.67 2.07 1.13 3.28 1.33L22.97 65h-5.65a3.29 3.29 0 0 0-2.63-1.32c-.23 0-.46.03-.68.07v6.49c.22.05.45.07.68.07 1.08 0 2.03-.52 2.63-1.32h7.72l7.14-10.09c2.23 1.2 4.88 1.83 7.82 1.76h.31c2.8 0 5.35-.62 7.51-1.78L54.96 69h7.72c.61.8 1.55 1.32 2.63 1.32.23 0 .46-.03.68-.07v-6.49c-.22-.05-.45-.07-.68-.07-1.08 0-2.03.52-2.63 1.32h-5.65l-5.76-8.14c1.2-.19 2.31-.66 3.27-1.33.94 2.04 3 3.47 5.39 3.47h.13c.03 0 .07 0 .1-.01l2 2h10.51c.61.8 1.55 1.32 2.63 1.32.23 0 .46-.03.68-.07v-6.49c-.22-.05-.45-.07-.68-.07-1.08 0-2.03.52-2.63 1.32h-8.19c.93-1.05 1.5-2.42 1.5-3.93V50h8.69c.61.8 1.55 1.32 2.63 1.32.23 0 .46-.03.68-.07v-6.49c-.21-.05-.44-.08-.67-.08ZM21.5 37h2.49v-4.05c0-9.05 6.72-15.62 16-15.67 9.28.05 16 6.62 16 15.67V37h2.49c1.27 0 2.37.68 2.99 1.69l-5.25 5.25a7.973 7.973 0 0 0-5.81-2.99c-2.52-2.3-6.26-3.65-10.46-3.72-4.14.07-7.87 1.42-10.39 3.72a8.005 8.005 0 0 0-5.8 2.99l-5.25-5.25A3.503 3.503 0 0 1 21.5 37Zm.49 16.07c0 1.07-.87 1.93-1.93 1.93h-.13c-1.07 0-1.93-.87-1.93-1.93v-4.99c0-.03.01-.05.01-.08s-.01-.05-.01-.08v-4.1l4.08 4.08c-.05.34-.08.69-.08 1.05v4.12h-.01Zm27.99-.11-1.11-.05-.63.7c-1.85 2.04-4.79 3.14-8.21 3.06h-.08c-3.42.07-6.36-1.03-8.21-3.06l-.63-.7-1.11.05c-2.21 0-4.01-1.8-4.01-4.01s1.8-4.01 4.01-4.01c.08 0 .17 0 .25.01l.95.05.64-.69c1.75-1.87 4.8-3.03 8.11-3.09 3.38.06 6.43 1.21 8.18 3.09l.65.69.94-.06c2.28-.13 4.27 1.71 4.27 4.01 0 2.21-1.8 4.01-4.01 4.01Zm8.01.11v-4.12c0-.35-.03-.7-.08-1.04l4.08-4.08v9.24c0 1.07-.87 1.93-1.93 1.93h-.13a1.94 1.94 0 0 1-1.94-1.93Z",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"3a7f3d86-f747-40d4-a256-dd9949fd3403",children:l.jsx("path",{fill:"#fff",d:"M2 10h75.99v60.32H2z"})})})]}),goldeneye:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M65 38.224V36.54c0-6.86-2.604-12.884-6.943-17.241l7.969-7.97a2 2 0 1 0-2.828-2.828l-8.204 8.204C50.871 13.778 45.719 12.08 40 12.08c-5.71 0-10.854 1.692-14.974 4.612l-8.19-8.191a2 2 0 1 0-2.828 2.828l7.952 7.953C17.611 23.64 15 29.672 15 36.54v1.684c-4.003.912-7 4.5-7 8.776v15c0 3.86 3.141 7 7 7s7-3.14 7-7v-1h-4v1c0 1.655-1.346 3-3 3s-3-1.345-3-3V47c0-2.756 2.243-5 5-5h2v-5.46c0-11.854 8.832-20.46 21-20.46s21 8.606 21 20.46V42h2c2.757 0 5 2.244 5 5v15c0 1.655-1.346 3-3 3s-3-1.345-3-3v-1h-4v1c0 3.86 3.141 7 7 7s7-3.14 7-7V47c0-4.275-2.997-7.864-7-8.776Zm-35.625-13.92a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm21.25 0a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm-2.498 33.697-5.656 9.797c2.713-.474 5.222-1.767 7.249-3.722.423-.407.805-.843 1.169-1.293L48.127 58Zm-7.528 5.037H29.327l.12.142c.155.183.31.366.477.54a13.893 13.893 0 0 0 7.915 4.099l2.76-4.781Zm-8.808-13.18 4.983-9.471a13.887 13.887 0 0 0-6.493 3.537c-.423.407-.805.844-1.169 1.293l2.679 4.642Zm7.096-4.896h11.786l-.117-.139c-.156-.184-.311-.368-.48-.543a13.89 13.89 0 0 0-8.623-4.197l-2.566 4.879Zm14.179 4h-5.538l5.64 9.77a13.966 13.966 0 0 0-.102-9.77Zm-26.234.308a13.967 13.967 0 0 0 .103 9.768h5.537l-5.64-9.768Zm10.26 9.768h5.816L45.818 54l-2.91-5.038h-6.124l-2.627 4.993 2.935 5.083ZM40.42 36.01c.02 0 .04.002.06.004a17.87 17.87 0 0 1 12.475 5.489 17.882 17.882 0 0 1 5.042 12.82 17.88 17.88 0 0 1-5.5 12.632 17.872 17.872 0 0 1-12.82 5.042 17.88 17.88 0 0 1-12.632-5.5 17.88 17.88 0 0 1-5.042-12.82 17.88 17.88 0 0 1 5.5-12.632c3.46-3.34 8.052-5.115 12.821-5.042l.048.003a.774.774 0 0 0 .048.004Z",fill:"#D92327"})}),dox:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"m29.082 24-6.044 8.71 17.335 18.426 17.334-18.427L51.663 24h-22.58Zm20.487 4 3.004 4.328-12.2 12.97-12.201-12.97L31.175 28H49.57Z",fill:"#D8262C"}),l.jsx("path",{d:"M63 23a2 2 0 1 1 0-4c5.523 0 10 4.477 10 10v30c0 5.523-4.477 10-10 10H17c-5.523 0-10-4.477-10-10V29c0-5.523 4.477-10 10-10a2 2 0 1 1 0 4 6 6 0 0 0-6 6v30a6 6 0 0 0 6 6h46a6 6 0 0 0 6-6V29a6 6 0 0 0-6-6Z",fill:"#D8262C"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"m65 15.054-1.11-.552C51.855 8.522 45.534 8.252 40 12.8c-5.534-4.549-11.855-4.279-23.89 1.702l-1.11.552v42.148A2.798 2.798 0 0 0 17.798 60h16.614A3.588 3.588 0 0 1 38 63.588v2.897h4v-2.897A3.588 3.588 0 0 1 45.588 60h16.614A2.798 2.798 0 0 0 65 57.202V15.054Zm-25 3.252 1.405-1.388c4.377-4.321 8.74-4.619 19.595.622V56H45.588A7.57 7.57 0 0 0 40 58.455 7.568 7.568 0 0 0 34.412 56H19V17.54c10.854-5.241 15.218-4.943 19.595-.622L40 18.306Z",fill:"#D8262C"})]}),cookies:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M49.534 28.406a3.171 3.171 0 1 1-6.342 0 3.171 3.171 0 0 1 6.342 0Zm-16.52 23.667a3.355 3.355 0 1 1-6.71 0 3.355 3.355 0 0 1 6.71 0ZM27.316 36.78a3.26 3.26 0 1 0 0-6.52 3.26 3.26 0 0 0 0 6.52Z",fill:"#D8262C"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M38.467 15.12c-13.995 0-25.341 11.347-25.341 25.343 0 13.997 11.346 25.342 25.341 25.342.837 0 1.665-.041 2.482-.122a12.291 12.291 0 0 1-.136-1.823c0-3.486 1.467-6.62 3.802-8.839a14.74 14.74 0 0 1-.908-5.095c0-7.135 5.015-13.091 11.71-14.551.597-3.165 2.41-5.9 4.937-7.694-4.4-7.517-12.555-12.56-21.887-12.56ZM9.126 40.463c0-16.205 13.136-29.343 29.341-29.343 11.573 0 21.575 6.7 26.35 16.423l.892 1.816-1.826.87a8.219 8.219 0 0 0-4.666 6.983l-.09 1.702-1.695.181c-5.466.584-9.725 5.21-9.725 10.831 0 1.718.408 3.338 1.124 4.793l.744 1.512-1.363.99c-2.064 1.498-3.399 3.912-3.399 6.64 0 .987.175 1.936.492 2.809l.807 2.223-2.326.427c-1.724.316-3.5.485-5.319.485-16.205 0-29.341-13.136-29.341-29.342Z",fill:"#D8262C"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M66.424 44.544c-4.838-1.727-10.16.793-11.888 5.63l11.888-5.63Zm-8.111 6.949a16.13 16.13 0 0 1 7.732.78c.901.323 1.752.718 2.552 1.176a5.302 5.302 0 0 0-10.284-1.956Zm8.111-6.95c4.84 1.727 7.358 7.051 5.632 11.887l-.001.004a9.453 9.453 0 0 1-.526 1.182l-1.155 2.213-1.908-1.609a12.199 12.199 0 0 0-3.767-2.18 12.178 12.178 0 0 0-8.017-.064l-2.359.794-.268-2.474a9.261 9.261 0 0 1 .48-4.12l.001-.001",fill:"#D8262C"})]}),complexify:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{d:"M16.596 37.558c0-12.926 10.479-22.404 23.404-22.404 12.926 0 23.405 9.478 23.405 22.404",stroke:"#D8262C",strokeWidth:"4",fill:"none"}),l.jsx("path",{clipRule:"evenodd",d:"M10 68h60V43H10v25Z",stroke:"#D8262C",strokeWidth:"4",fill:"none"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M59.035 58.152a2.915 2.915 0 1 0 0-5.829 2.915 2.915 0 0 0 0 5.83Zm-12.632 0a2.915 2.915 0 1 0 .001-5.829 2.915 2.915 0 0 0 0 5.83Zm-12.631 0a2.915 2.915 0 1 0 0-5.83 2.915 2.915 0 0 0 0 5.83Zm-12.632 0a2.915 2.915 0 1 0 0-5.83 2.915 2.915 0 0 0 0 5.83Z",fill:"#D8262C"}),l.jsx("path",{d:"m55.3 20.227 9.313-9.312m-39.88 9.312-9.312-9.312",stroke:"#D8262C",strokeWidth:"4",strokeLinecap:"round",fill:"none"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M50.125 33.349a3.022 3.022 0 1 0 0-6.044 3.022 3.022 0 0 0 0 6.044Zm-20.25 0a3.022 3.022 0 1 0 0-6.044 3.022 3.022 0 0 0 0 6.044Z",fill:"#D8262C"})]}),annotationClustering:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M53.405 56.358C61.25 48.661 66 40.705 66 32.763 66 18.533 54.358 7 40 7 25.643 7 14 18.533 14 32.763c0 7.842 4.748 15.772 12.591 23.505 2.692 2.654 5.569 5.097 8.446 7.278a81.121 81.121 0 0 0 2.788 2.025 54.402 54.402 0 0 0 1.087.734l1.08.695 1.084-.688a52.045 52.045 0 0 0 1.089-.725 79.041 79.041 0 0 0 2.79-2.003 84.524 84.524 0 0 0 8.45-7.226Zm-2.81-3.021c-2.557 2.496-5.304 4.797-8.05 6.846A75.618 75.618 0 0 1 40.007 62a77.683 77.683 0 0 1-2.544-1.843c-2.748-2.072-5.496-4.393-8.054-6.903C22.252 46.234 18 39.168 18 32.676 18 20.706 27.849 11 40 11c12.152 0 22 9.706 22 21.676 0 6.593-4.25 13.676-11.405 20.66Z",fill:"#D92327"}),l.jsx("path",{d:"M42.747 40v4H28v-2c0-2.69 1.54-4.53 4.937-7.135.348-.266.7-.531 1.394-1.051 3.485-2.62 4.736-4.046 4.736-5.651 0-1.61-1.502-3.163-3.28-3.163-1.737 0-3.213.994-3.63 3.052l-3.851-.806c.83-4.1 4.018-6.246 7.482-6.246C39.75 21 43 24.359 43 28.163c0 3.407-1.809 5.467-6.331 8.867-.698.524-1.034.776-1.365 1.03-.982.753-1.723 1.388-2.256 1.94h9.699ZM47 22h4v22h-4V22Zm6.637 43.503c-2.192-.729-5.328-1.268-8.898-1.509l.269-3.992C53.88 60.6 60 62.634 60 66.427 60 70.766 51.45 73 40.5 73S21 70.766 21 66.427c0-3.02 3.576-4.74 9.37-5.762A53.426 53.426 0 0 1 36.036 60l.264 3.993a49.448 49.448 0 0 0-5.238.612c-2.168.383-3.928.89-5.084 1.445a5.6 5.6 0 0 0-.674.377l.121.077c.686.424 1.786.85 3.205 1.22C31.714 68.53 35.956 69 40.5 69s8.786-.47 11.869-1.275c1.419-.37 2.52-.796 3.205-1.22.043-.026.083-.052.12-.077-.45-.302-1.15-.623-2.057-.924Z",fill:"#D92327"})]}),andoidinspector:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{d:"M18.596 37.558h-4c0-13.868 11.198-24.405 25.404-24.405 14.207 0 25.405 10.537 25.405 24.405V57.25h-4V37.558c0-11.603-9.355-20.405-21.405-20.405s-21.404 8.802-21.404 20.405Z",fill:"#D8262C"}),l.jsx("path",{d:"M56.714 21.642a2 2 0 1 1-2.828-2.829l9.313-9.312a2 2 0 1 1 2.828 2.829l-9.313 9.312Zm-30.566-2.829a2 2 0 0 1-2.829 2.829l-9.312-9.312a2 2 0 1 1 2.829-2.83l9.312 9.312Z",fill:"#D8262C"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M20.048 69.64c9.6 2.121 19.102-3.942 21.223-13.541 2.122-9.6-3.941-19.103-13.542-21.224-9.599-2.121-19.101 3.942-21.221 13.542-2.122 9.6 3.94 19.102 13.54 21.223Zm6.818-30.86c7.443 1.646 12.144 9.013 10.5 16.455-1.645 7.443-9.012 12.144-16.455 10.5-7.443-1.646-12.142-9.012-10.498-16.456 1.644-7.442 9.011-12.143 16.453-10.498Z",fill:"#D8262C"}),l.jsx("path",{d:"m47.726 59.572-8.839-1.952.863-3.906 4.933 1.09.761-3.444 24.124 5.33-2.815 12.741-20.558-4.541.863-3.906 16.652 3.679 1.09-4.93-16.313-3.605-.761 3.444ZM17.794 51.69l-3.906-.863c1.342-6.076 7.355-9.913 13.432-8.57l-.863 3.905a7.266 7.266 0 0 0-8.663 5.528Z",fill:"#D8262C"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M50.125 32.35a3.023 3.023 0 1 0-.001-6.046 3.023 3.023 0 0 0 .001 6.045Zm-20.25 0a3.023 3.023 0 1 0-.001-6.046 3.023 3.023 0 0 0 .001 6.045Z",fill:"#D8262C"})]})},p={error:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"M4.222 19.778 19.778 4.222m-15.556 0 15.556 15.556",stroke:"currentColor",strokeWidth:"2",fill:"none"})}),warningCircle:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M12 23C5.925 23 1 18.075 1 12S5.925 1 12 1s11 4.925 11 11-4.925 11-11 11ZM3 12a9 9 0 1 0 18 0 9 9 0 0 0-18 0Zm10-6v7h-2V6h2Z",fill:"currentColor"}),l.jsx("circle",{cx:"1.25",cy:"1.25",r:"1.25",transform:"matrix(1 0 0 -1 10.75 18)",fill:"currentColor"})]}),warning:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"M1 21 12 2l11 19H1Zm2.883-1.667h16.234L12 5.333l-8.117 14Zm8.187-1.283a.815.815 0 0 0 .83-.836.815.815 0 0 0-.836-.83.814.814 0 0 0-.83.836.814.814 0 0 0 .836.83Zm-.837-2.85H12.9V9.8h-1.667v5.4Z",fill:"currentColor"})}),lightbulb:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"M11.975 23a2.42 2.42 0 0 1-1.302-.353 1.844 1.844 0 0 1-.788-.967h-.257c-.495 0-.924-.182-1.288-.545a1.761 1.761 0 0 1-.545-1.288v-3.924a8.44 8.44 0 0 1-2.773-2.96C4.341 11.753 4 10.422 4 8.975c0-2.218.775-4.102 2.324-5.651C7.873 1.774 9.757 1 11.975 1s4.102.775 5.651 2.324c1.55 1.549 2.324 3.433 2.324 5.651 0 1.46-.34 2.793-1.022 3.997a8.465 8.465 0 0 1-2.773 2.951v3.924c0 .495-.182.924-.545 1.288a1.761 1.761 0 0 1-1.288.545h-.257c-.147.41-.41.732-.788.967a2.416 2.416 0 0 1-1.302.353Zm-2.347-3.153h4.694V18.71H9.628v1.137Zm0-2.237h4.694v-1.082H9.628v1.082Zm-.238-2.915h1.888v-3.502L8.785 8.7l.953-.953 2.237 2.236 2.237-2.236.953.953-2.493 2.493v3.502h1.888c1.063-.501 1.922-1.267 2.576-2.296.654-1.03.98-2.171.98-3.424 0-1.723-.592-3.178-1.778-4.363-1.185-1.186-2.64-1.779-4.363-1.779-1.723 0-3.178.593-4.363 1.779-1.186 1.185-1.779 2.64-1.779 4.363 0 1.253.327 2.394.981 3.424.654 1.03 1.513 1.795 2.576 2.296Z",fill:"currentColor"})}),checkmark:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"M20 7 9 18l-5-5",stroke:"currentColor",strokeWidth:"2",fill:"none"})}),info:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1ZM3 12a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm10 5v-7h-2v7h2Z",fill:"currentColor"}),l.jsx("circle",{cx:"12",cy:"7.25",r:"1.25",fill:"currentColor"})]}),keepOut:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1ZM3 12a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm5 1h8v-2H8v2Z",fill:"currentColor"})}),person:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:[l.jsx("path",{d:"M20 23a8 8 0 1 0-16 0",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("circle",{cx:"12",cy:"8",r:"6",stroke:"currentColor",strokeWidth:"2",fill:"none"})]}),sun:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:[l.jsx("path",{d:"M12 16a4 4 0 1 0 0-8 4 4 0 0 0 0 8Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M12 4.196V2.5M6.482 6.482l-1.2-1.2M4.196 12H2.5m3.982 5.518-1.2 1.2M12 19.804V21.5m5.518-3.982 1.2 1.2M19.804 12H21.5m-3.982-5.518 1.2-1.2",stroke:"currentColor",strokeWidth:"1.80952",strokeLinecap:"square",strokeLinejoin:"round",fill:"none"})]}),page:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M6 1a3 3 0 0 0-3 3v16a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V9a1 1 0 0 0-.24-.65l-6-7A1 1 0 0 0 14 1H6ZM5 4a1 1 0 0 1 1-1h6v7h7v10a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V4Zm12.826 4L14 3.537V8h3.826Z",fill:"currentColor"})}),play:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"M21 12 7 20V4l14 8Z",stroke:"currentColor",strokeWidth:"2",fill:"none"})}),moon:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"m4.44 16.295-.14-.868-1.33.214.732 1.132.738-.478ZM9.82 4.188l-.139-.868-1.331.214.733 1.132.738-.478Zm.388 4.295c0 3.5-2.559 6.406-5.908 6.944l.28 1.736a8.794 8.794 0 0 0 7.386-8.68h-1.758ZM9.083 4.666a6.997 6.997 0 0 1 1.125 3.817h1.758A8.756 8.756 0 0 0 10.56 3.71l-1.476.956Zm.877.39a7.09 7.09 0 0 1 1.127-.09V3.208a8.85 8.85 0 0 0-1.406.112l.28 1.736Zm1.127-.09A7.034 7.034 0 0 1 18.121 12h1.758a8.792 8.792 0 0 0-8.792-8.792v1.758ZM18.121 12a7.034 7.034 0 0 1-7.034 7.034v1.758A8.792 8.792 0 0 0 19.879 12h-1.758Zm-7.034 7.034a7.027 7.027 0 0 1-5.909-3.216l-1.476.955a8.786 8.786 0 0 0 7.385 4.02v-1.76Z",fill:"currentColor"})}),search:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M10.5 3a7.5 7.5 0 1 0 4.55 13.462l.043.045 5.2 5.2a1 1 0 0 0 1.414-1.414l-5.2-5.2a1.116 1.116 0 0 0-.045-.042A7.5 7.5 0 0 0 10.5 3ZM5 10.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0Z",fill:"currentColor"})}),book:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:[l.jsx("path",{d:"M4 19.5V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("path",{d:"M21 22H6.5a2.5 2.5 0 0 1 0-5H21",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("path",{d:"M21 17h-.5a2.5 2.5 0 0 0 0 5h.5",stroke:"currentColor",strokeWidth:"2",fill:"none"})]}),chartBar:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"M14.944 21V3h-6.06v18m6.059 0-.002-10.21a1 1 0 0 1 1-1H21V21h-6.056Zm0 0H8.884m0 0v-6.442a1 1 0 0 0-1-1H3V21h5.885Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"})}),chartLine:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"M3 3.5V21h19.5M3 19.556l9.152-9.167 3.051 3.056L21 7.75",stroke:"currentColor",strokeWidth:"2",fill:"none"})}),paperClip:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"m21.438 11.662-9.19 9.19a6.003 6.003 0 1 1-8.49-8.49l9.19-9.19a4.002 4.002 0 0 1 5.66 5.66l-9.2 9.19a2.001 2.001 0 1 1-2.83-2.83l8.49-8.48",stroke:"currentColor",strokeWidth:"2",fill:"none"})}),settings:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"m8.756 4.255 1.271-1.826a1 1 0 0 1 .82-.429h1.806a1 1 0 0 1 .819.426L14.73 4.22m-5.974.035c-.347.495-.923.738-1.535.695m1.535-.695c-.349.494-.923.74-1.535.695m0 0-2.25-.142a1 1 0 0 0-.835.364l-1.14 1.39a1 1 0 0 0-.179.943l.656 2.02m0 0c.09.288.1.597.037.889m-.037-.889c.09.288.101.596.036.892m0-.003c-.064.288-.202.56-.407.78m.408-.78v.003m-.408.778-1.486 1.598a1 1 0 0 0-.24.916l.403 1.668a1 1 0 0 0 .628.704l2.041.749c.285.11.531.29.718.515m-2.064-6.15c.206-.219.343-.49.407-.778m1.657 6.928c.185.226.31.5.36.795m-.36-.795c.186.226.313.499.36.795m-.36-.795-.003-.003a1.973 1.973 0 0 0-.038-.045m.4.843.348 2.136a1 1 0 0 0 .566.746l1.628.756a1 1 0 0 0 .91-.034l1.913-1.07m0 0a1.75 1.75 0 0 1 .857-.225m-.857.224a1.707 1.707 0 0 1 .857-.224m0 0a1.786 1.786 0 0 1 .861.224m-.861-.224c.297 0 .595.074.861.224m0 0 2.004 1.085a1 1 0 0 0 .907.023l1.62-.774a1 1 0 0 0 .558-.754l.312-2.075m0 0a1.68 1.68 0 0 1 .355-.801m-.355.801c.045-.298.17-.573.355-.801m0 0a1.74 1.74 0 0 1 .71-.518m-.71.518c.183-.227.425-.408.71-.518m0 0 2.063-.808a1 1 0 0 0 .61-.708l.386-1.69a1 1 0 0 0-.24-.9l-1.496-1.619m0 0a1.738 1.738 0 0 1-.425-.766m.425.766a1.76 1.76 0 0 1-.425-.766m0 0a1.598 1.598 0 0 1 .022-.86l.647-2.073a1 1 0 0 0-.182-.933l-1.113-1.353a1 1 0 0 0-.845-.362l-2.223.163m0 0a1.76 1.76 0 0 1-.87-.162m.87.162a1.737 1.737 0 0 1-.87-.162m0 0a1.735 1.735 0 0 1-.678-.568m.678.568a1.714 1.714 0 0 1-.678-.568M3.51 10.417v-.004m11.626 1.598c0 1.865-1.546 3.376-3.453 3.376-1.906 0-3.452-1.511-3.452-3.376s1.546-3.377 3.452-3.377c1.907 0 3.453 1.512 3.453 3.377Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"16",fill:"none"})}),postItNote:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"M3.852 20.148h10.74v-5.555h5.556V3.852H3.852v16.296Zm0 1.852c-.51 0-.945-.181-1.308-.544A1.783 1.783 0 0 1 2 20.148V3.852c0-.51.181-.945.544-1.308A1.783 1.783 0 0 1 3.852 2h16.296c.51 0 .945.181 1.308.544.363.363.544.799.544 1.308v11.481L15.333 22H3.852Zm2.963-8.148V12h5v1.852h-5Zm0-4.445V7.556h10.37v1.851H6.815Z",fill:"currentColor"})}),verified:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"m8.633 22.5-1.9-3.233-3.716-.784.4-3.683L1 12l2.417-2.783-.4-3.684 3.716-.783 1.9-3.25L12 3.017 15.367 1.5l1.916 3.25 3.7.783-.4 3.684L23 12l-2.417 2.8.4 3.683-3.7.784-1.916 3.233L12 20.983 8.633 22.5Zm.734-2.167L12 19.217l2.7 1.116 1.583-2.466 2.867-.717-.283-2.917L20.833 12l-1.966-2.283.283-2.917-2.867-.667-1.633-2.466L12 4.783 9.3 3.667 7.717 6.133 4.85 6.8l.283 2.917L3.167 12l1.966 2.233L4.85 17.2l2.867.667 1.65 2.466Zm1.566-4.933L16.6 9.767 15.383 8.6l-4.45 4.417-2.3-2.35L7.4 11.883l3.533 3.517Z",fill:"currentColor"})}),danger:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"M7.833 22 2 16.167V7.833L7.833 2h8.334L22 7.833v8.334L16.167 22H7.833Zm.834-5.37L12 13.296l3.333 3.334 1.297-1.297L13.296 12l3.334-3.333-1.297-1.297L12 10.704 8.667 7.37 7.37 8.667 10.704 12 7.37 15.333l1.297 1.297Zm-.056 3.518h6.778l4.76-4.76V8.612l-4.76-4.76H8.61l-4.76 4.76v6.778l4.76 4.76Z",fill:"currentColor"})}),checkCircle:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"M10.55 16.567 17.617 9.5l-1.234-1.217-5.833 5.834-2.95-2.95-1.217 1.216 4.167 4.184ZM12 22a9.696 9.696 0 0 1-3.883-.788 10.13 10.13 0 0 1-3.184-2.145 10.129 10.129 0 0 1-2.145-3.184A9.696 9.696 0 0 1 2 12a9.74 9.74 0 0 1 .788-3.9 10.028 10.028 0 0 1 2.145-3.175 10.2 10.2 0 0 1 3.184-2.137A9.696 9.696 0 0 1 12 2a9.74 9.74 0 0 1 3.9.788 10.098 10.098 0 0 1 3.175 2.137c.9.9 1.613 1.958 2.137 3.175A9.738 9.738 0 0 1 22 12a9.696 9.696 0 0 1-.788 3.883 10.2 10.2 0 0 1-2.137 3.184c-.9.905-1.958 1.62-3.175 2.145A9.738 9.738 0 0 1 12 22Zm0-1.667c2.322 0 4.292-.81 5.908-2.433 1.617-1.622 2.425-3.589 2.425-5.9 0-2.322-.808-4.292-2.425-5.908C16.292 4.475 14.322 3.667 12 3.667c-2.311 0-4.278.808-5.9 2.425C4.478 7.708 3.667 9.678 3.667 12c0 2.311.81 4.278 2.433 5.9 1.622 1.622 3.589 2.433 5.9 2.433Z",fill:"currentColor"})})},f=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter(Boolean).join(" ")},b=e=>{var t,n,s,a;const{type:r="info",children:i,title:c}=e,d={note:{label:"Note",icon:p.postItNote,iconClass:"text-violet-30"},tip:{label:"Tip",icon:p.lightbulb,iconClass:"text-sand-30"},info:{label:"Info",icon:p.info,iconClass:"text-sky-30"},caution:{label:"Caution",icon:p.warning,iconClass:"text-candy-30"},danger:{label:"Danger",icon:p.danger,iconClass:"text-candy-30"},success:{label:"Success",icon:p.checkCircle,iconClass:"text-olive-30"}};return r&&Object.keys(d).includes(r)?l.jsxs("div",{className:f(`es-alert es-alert--${r}`,"m-0 my-10 pl-10 pr-0 py-4 border-l-4 border-l-infinum","info"===r&&"border-l-sky-30","tip"===r&&"border-l-sand-30","note"===r&&"border-l-violet-30","success"===r&&"border-l-olive-30","danger"===r&&"border-l-candy-30","caution"===r&&"border-l-candy-30"),children:[":es-hide-title:"!==c&&l.jsxs("i",{className:"flex gap-1.5 items-center font-sans text-12 uppercase not-italic leading-none font-medium mb-2",children:[(null==(t=d[r])?void 0:t.icon)&&o.cloneElement(null==(n=d[r])?void 0:n.icon,{className:f("w-6 h-6",null==(s=d[r])?void 0:s.iconClass)}),l.jsx("span",{className:"text-grey-500",children:c??(null==(a=d[r])?void 0:a.label)})]}),l.jsx("div",{className:"font-sans text-16 text-black",children:i})]}):null},h=e=>{const{label:t,url:n,external:s=(null==n?void 0:n.startsWith("http")),anchor:o=(null==n?void 0:n.startsWith("#"))}=e;let a={};s&&(a={rel:"noopener noreferrer",target:"_blank"});const r="group isolate overflow-hidden relative bg-infinum text-white hover:text-white px-7.5 py-3.75 rounded-full inline-flex items-center gap-3 cursor-pointer text-16 font-bold before:bg-black before:absolute before:inset-0 before:-z-10 before:translate-y-full-plus-px hover:before:translate-y-0 focus:before:translate-y-0 before:transition-transform before:duration-300 hover:decoration-transparent focus:outline-offset-4 focus:outline-infinum";if(o){const e=()=>{const e=document.querySelector(n);e&&e.scrollIntoView({behavior:"smooth",block:"start",inline:"nearest"})};return l.jsxs("button",{className:r,onClick:e,children:[l.jsx("span",{className:"group-hover:translate-x-3 group-focus:translate-x-3 transition duration-500",children:t}),l.jsx("svg",{className:"group-hover:opacity-0 group-hover:translate-x-3 group-hover:scale-75 group-focus:opacity-0 group-focus:translate-x-3 group-focus:scale-75 origin-right transition duration-500",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 17 16",fill:"none",height:"16",width:"17",children:l.jsx("path",{d:"M.5 8h14M9.234 2.725l5.978 5.979m-5.978 4.57 5.978-5.978",stroke:"currentColor",strokeWidth:"2",fill:"none"})})]})}return l.jsxs("a",{className:r,href:n,...a,children:[l.jsx("span",{className:"group-hover:translate-x-3 group-focus:translate-x-3 transition duration-500",children:t}),l.jsx("svg",{className:"group-hover:opacity-0 group-hover:translate-x-3 group-hover:scale-75 group-focus:opacity-0 group-focus:translate-x-3 group-focus:scale-75 origin-right transition duration-500",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 17 16",fill:"none",height:"16",width:"17",children:l.jsx("path",{d:"M.5 8h14M9.234 2.725l5.978 5.979m-5.978 4.57 5.978-5.978",stroke:"currentColor",strokeWidth:"2",fill:"none"})})]})},m=e=>{const{title:t,subtitle:n,cards:s}=e;return l.jsxs("div",{className:" gap-gutter px-side-padding p-side-padding py-10 desktop:pt-24 desktop:pb-36 desktop:grid desktop:grid-cols-12 desktop:auto-rows-auto",children:[l.jsxs("div",{className:"col-start-1 col-span-3 row-start-1 row-span-full mb-10 desktop:mb-0 max-w-xl",children:[l.jsx("h3",{className:"text-36 font-bold mb-4 desktop:mb-1",children:t}),l.jsx("p",{className:"text-16",children:n})]}),l.jsx("div",{className:"col-start-5 col-span-8 flex flex-col items-start gap-y-20 desktop:grid desktop:grid-cols-fit20 desktop:auto-rows-auto desktop:gap-x-gutter",children:s.map(((e,t)=>{let{icon:n,text:s,buttonLabel:a,buttonUrl:r}=e;return l.jsxs("div",{children:[l.jsx("div",{className:"w-20 h-20 bg-infinum text-white rounded-full flex items-center justify-center mb-5",children:o.cloneElement(n,{className:"w-20 h-20"})}),l.jsx("h4",{className:"text-h3 font-bold font-display mb-10 max-w-prose-mini",children:s}),a&&r&&l.jsx(h,{label:a,url:r})]},t)}))})]})},g=e=>{const{title:t,buttonLabel:n,buttonUrl:s,imageUrl:o,imageAlt:a,gray:r=!1}=e;return l.jsxs("div",{className:"px-side-padding desktop:pr-0 py-10 desktop:py-20 desktop:grid desktop:grid-cols-2 desktop:items-center gap-gutter border-t border-t-grey-200 "+(r?"bg-grey-100":""),children:[l.jsxs("div",{className:"mb-10 desktop:mb-0 text-center desktop:text-left flex flex-col items-center desktop:block max-w-xl",children:[l.jsx("h3",{className:"text-h3 font-bold font-display mb-4 desktop:mb-10",children:t}),l.jsx(h,{label:n,url:s})]}),l.jsx("img",{className:"w-full",src:o,alt:a})]})},v=e=>{const{title:t,text:n,imageUrl:s,imageAlt:o,gray:a=!1,sticky:r=!1}=e;return l.jsxs("div",{className:f("desktop:grid desktop:grid-cols-12 gap-gutter px-side-padding p-side-padding desktop:py-20",a&&"bg-grey-100"),children:[l.jsxs("div",{className:f("col-start-9 col-span-4 mb-10 desktop:mb-0 max-w-lg desktop:max-w-full row-start-1",r&&"desktop:self-start desktop:sticky desktop:top-navbar desktop:pt-10"),children:[l.jsx("h1",{className:"text-h3 font-bold font-display mb-5",children:t}),l.jsx("span",{className:"text-18",children:n})]}),l.jsx("img",{className:"col-start-1 col-span-6 row-start-1 w-full",src:s,alt:o})]})},y=()=>l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 200 18",width:"200",height:"18",fill:"none",children:[l.jsx("path",{d:"M48.603 1.133h-5.4v15.666h5.4V1.133Zm28.465 0v15.733h-5.866L58.002 6.8v10.067h-5.4V1.133h6.466l12.6 9.6v-9.6h5.4ZM102.131 5.4H86.865v2.866h14.666v4.067H86.865v4.533H81.53V1.133h20.6v4.266Zm8.738-4.267h-5.4v15.666h5.4V1.133Zm28.868 0v15.733h-5.8L120.67 6.8v10.067h-5.334V1.133h6.401l12.6 9.6v-9.6h5.4Zm9.593 8.133c0 1.133.267 2.067.933 2.667.667.667 1.867.933 3.534.933h2.866c3.067 0 4.6-1.2 4.6-3.6V1.133h5.4v8.133c0 2.267-.733 4.2-2.133 5.6-1.467 1.467-3.6 2.2-6.6 2.2h-5.333c-1.534 0-2.867-.2-4-.6-1.134-.4-2.2-1.133-3.2-2.2-1-1.066-1.467-2.733-1.467-5V1.133h5.4v8.133Zm26.8 7.6h-5.333V1.133h7.733l6.667 10.333 6.533-10.333h7.867v15.733h-5.334v-10.6l-6.733 10.6h-4.467l-6.933-10.6v10.6Z",fill:"currentColor"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M8.866 5.07c-2.151 0-3.81 1.66-3.81 3.93 0 2.19 1.648 3.88 3.77 3.93.94-.006 1.846-.376 3.02-1.333.848-.693 1.688-1.563 2.678-2.63-.963-1.037-1.786-1.886-2.617-2.564C10.725 5.44 9.814 5.07 8.866 5.07Zm9.103.166c-.946-1.01-1.903-1.977-2.87-2.766C13.405 1.09 11.396 0 8.866 0 3.809 0 0 4.044 0 9c0 4.901 3.808 8.911 8.759 9h.045c2.531 0 4.54-1.09 6.232-2.47.989-.807 1.967-1.8 2.933-2.832.966 1.033 1.944 2.025 2.932 2.832 1.692 1.38 3.702 2.47 6.233 2.47C32.112 18 36 13.972 36 9c0-5.005-3.982-9-8.928-9-2.531 0-4.54 1.09-6.233 2.47-.967.79-1.924 1.757-2.87 2.766Zm3.445 3.73c.99 1.068 1.83 1.938 2.679 2.63 1.182.965 2.093 1.334 3.041 1.334 2.105 0 3.81-1.677 3.81-3.93 0-2.22-1.735-3.93-3.872-3.93-.948 0-1.86.369-3.041 1.333-.831.678-1.654 1.527-2.617 2.564Z",fill:"#D82828"})]}),k={twitter:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"M22.46 6c-.77.35-1.6.58-2.46.69.88-.53 1.56-1.37 1.88-2.38-.83.5-1.75.85-2.72 1.05C18.37 4.5 17.26 4 16 4c-2.35 0-4.27 1.92-4.27 4.29 0 .34.04.67.11.98C8.28 9.09 5.11 7.38 3 4.79c-.37.63-.58 1.37-.58 2.15 0 1.49.75 2.81 1.91 3.56-.71 0-1.37-.2-1.95-.5v.03c0 2.08 1.48 3.82 3.44 4.21a4.22 4.22 0 0 1-1.93.07 4.28 4.28 0 0 0 4 2.98 8.521 8.521 0 0 1-5.33 1.84c-.34 0-.68-.02-1.02-.06C3.44 20.29 5.7 21 8.12 21 16 21 20.33 14.46 20.33 8.79c0-.19 0-.37-.01-.56.84-.6 1.56-1.36 2.14-2.23Z",fill:"currentColor"})}),clutch:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:[l.jsx("path",{d:"M16.121 15.696a5.351 5.351 0 0 1-3.615 1.34c-3.065 0-5.316-2.25-5.316-5.339 0-3.089 2.179-5.243 5.316-5.243a5.483 5.483 0 0 1 3.64 1.316l.67.575 2.969-2.969-.743-.694a9.609 9.609 0 0 0-6.536-2.443C6.999 2.24 3 6.214 3 11.673c0 5.46 4.094 9.554 9.506 9.554a9.611 9.611 0 0 0 6.584-2.49l.718-.67-3.017-2.97-.67.599Z",fill:"currentColor"}),l.jsx("circle",{cx:"12.362",cy:"11.7211",r:"3.18451",fill:"currentColor"})]}),dribbble:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M2 12C2 6.477 6.477 2 12 2A10 10 0 1 1 2 12Zm14.86-6.09A7.726 7.726 0 0 0 12 4.2c-.57 0-1.12.07-1.66.18.66.87 1.66 2.29 2.69 4.27 1.47-.65 2.81-1.51 3.83-2.74ZM8.55 5c.55.65 1.63 2.06 2.79 4.25-2.34.71-4.73.87-6.16.87h-.13c-.24 0-.45 0-.62-.01C5 7.87 6.5 6 8.55 5ZM4.2 11.89V12c0 1.91.7 3.66 1.84 5 .41-.61 1.12-1.54 2.15-2.5 1.08-.97 2.54-1.96 4.4-2.58-.15-.36-.3-.7-.45-1.03-2.78.87-5.52 1-7.08 1.01h-.01c-.34 0-.63 0-.85-.01Zm12.22 6.53A57.5 57.5 0 0 0 15 13.17c.5-.07 1-.11 1.58-.11h.02c.93 0 1.95.12 3.06.37a7.788 7.788 0 0 1-3.24 4.99ZM12 19.8c-1.74 0-3.34-.57-4.64-1.54.28-.45.87-1.32 1.82-2.22.96-.93 2.32-1.89 4.05-2.46.59 1.67 1.13 3.57 1.54 5.71-.86.33-1.77.51-2.77.51Zm6.13-12.62a7.823 7.823 0 0 1 1.66 4.45 15.32 15.32 0 0 0-3.19-.35h-.01c-.8 0-1.55.07-2.26.19l-.027-.067c-.16-.395-.313-.774-.493-1.143 1.58-.69 3.09-1.68 4.32-3.08Z",fill:"currentColor"})}),facebook:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"M22 11.994c0-5.522-4.478-10-10-10s-10 4.478-10 10c0 4.99 3.656 9.128 8.438 9.879v-6.988h-2.54v-2.891h2.54V9.79c0-2.506 1.493-3.89 3.777-3.89 1.094 0 2.239.195 2.239.195v2.46h-1.262c-1.242 0-1.63.771-1.63 1.563v1.876h2.774l-.443 2.891h-2.33v6.988c4.78-.75 8.437-4.887 8.437-9.879Z",fill:"currentColor"})}),instagram:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M7.8 2h8.4C19.4 2 22 4.6 22 7.8v8.4a5.8 5.8 0 0 1-5.8 5.8H7.8C4.6 22 2 19.4 2 16.2V7.8A5.8 5.8 0 0 1 7.8 2Zm-.2 2A3.6 3.6 0 0 0 4 7.6v8.8C4 18.39 5.61 20 7.6 20h8.8a3.6 3.6 0 0 0 3.6-3.6V7.6C20 5.61 18.39 4 16.4 4H7.6Zm10.9 2.75a1.25 1.25 0 1 0-2.5 0 1.25 1.25 0 0 0 2.5 0ZM12 7a5 5 0 1 1 0 10 5 5 0 0 1 0-10Zm-3 5a3 3 0 1 1 6 0 3 3 0 0 1-6 0Z",fill:"currentColor"})}),linkedin:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M21 5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5Zm-2.5 8.2v5.3h-2.79v-4.93a1.4 1.4 0 0 0-1.4-1.4c-.77 0-1.39.63-1.39 1.4v4.93h-2.79v-8.37h2.79v1.11c.48-.78 1.47-1.3 2.32-1.3 1.8 0 3.26 1.46 3.26 3.26ZM6.88 8.56a1.686 1.686 0 0 0 0-3.37 1.69 1.69 0 0 0-1.69 1.69c0 .93.76 1.68 1.69 1.68Zm1.39 1.57v8.37H5.5v-8.37h2.77Z",fill:"currentColor"})})},x=e=>{const{footer:t}=e;if(!t)return null;const{copyright:n,links:s}=t,o=null==s?void 0:s[0].items;return l.jsxs("div",{className:"es-footer flex flex-col desktop:flex-row items-center gap-8 desktop:justify-between px-side-padding py-8 border-t border-t-grey-200 bg-grey-100",children:[l.jsx("a",{href:"https://infinum.com",children:l.jsx(y,{})}),l.jsx("span",{className:"text-14",children:n}),l.jsx("div",{className:"flex gap-2",children:o.map(((e,t)=>{let{href:n,icon:s}=e;return l.jsx("a",{href:n,children:k[s]},t)}))})]})},w=e=>{const{title:t,subtitle:n,buttonLabel:s,buttonUrl:o,imageUrl:a,imageAlt:r,gray:i=!1,extendImage:c=!1}=e;return l.jsxs("div",{className:f("flex flex-col-reverse desktop:grid desktop:grid-cols-2 gap-gutter p-side-padding pb-20 desktop:pb-side-padding desktop:pt-20 items-center",i&&"bg-grey-100",c&&"desktop:pb-0 desktop:gap-y-0 desktop:grid-rows-[auto_9rem]",!c&&"desktop:pb-36"),children:[l.jsxs("div",{className:"space-y-5",children:[l.jsx("h1",{className:"text-h2 font-display font-bold max-w-[15ch]",children:t}),l.jsx("p",{className:"text-16 max-w-sm",children:n}),l.jsx(h,{label:s,url:o})]}),l.jsx("img",{className:f("w-full mb-5 desktop:mb-0",c&&"desktop:row-span-2"),src:a,alt:r})]})},_=e=>{const{title:t,cards:n,gray:s=!1,osProjectIcons:a=!1}=e;return l.jsxs("div",{className:f("px-side-padding py-10 desktop:py-24",s&&"bg-grey-100"),children:[l.jsx("h3",{className:"text-h3 font-bold font-display mb-4 desktop:mb-20",children:t}),l.jsx("div",{className:"-mx-side-padding px-side-padding tablet:mx-0 tablet:px-0 max-tablet:no-scrollbar grid grid-rows-2 auto-cols-auto grid-flow-col tablet:grid-flow-row overflow-x-auto tablet:overflow-x-hidden gap-10 desktop:gap-y-20 tablet:grid-cols-2 desktop:grid-cols-4 tablet:auto-rows-auto tablet:gap-x-20 desktop:gap-x-gutter",children:n.map(((e,t)=>{let{icon:n,text:s,url:r}=e;return l.jsxs("a",{className:"hover:no-underline hover:text-infinum w-64 desktop:w-auto",href:r,children:[o.cloneElement(n,{className:f("text-infinum",a?"w-20 h-20 -mx-2":"w-24 h-24 -mx-5")}),l.jsx("h4",{className:"text-24 font-bold",children:s})]},t)}))})]})},j=e=>{const{title:t,imageUrl:n,imageAlt:s,children:o,gray:a=!1}=e;return l.jsxs("div",{className:f("desktop:grid desktop:grid-cols-12 gap-gutter px-side-padding p-side-padding pt-0 desktop:pb-36 items-center",a&&"bg-grey-100"),children:[l.jsx("img",{className:"col-start-1 col-span-5 w-full",src:n,alt:s}),l.jsxs("div",{className:"col-start-7 col-span-6 max-w-lg desktop:max-w-xl",children:[l.jsx("h1",{className:"text-h3 font-bold font-display mb-5",children:t}),l.jsx("span",{className:"text-18",children:o})]})]})},C=e=>{const{title:t,subtitle:n,cards:s}=e;return l.jsxs("div",{className:"gap-gutter px-side-padding p-side-padding py-10 desktop:py-24 desktop:grid desktop:grid-cols-12 desktop:auto-rows-auto",children:[l.jsxs("div",{className:"col-start-1 col-span-3 row-start-1 row-span-full mb-10 desktop:mb-0 max-w-xl",children:[l.jsx("h3",{className:"text-36 font-bold mb-4 desktop:mb-1",children:t}),l.jsx("p",{className:"text-16",children:n})]}),l.jsx("div",{className:"col-start-5 col-span-8 flex flex-col items-start gap-y-10 desktop:grid desktop:grid-cols-fit20 desktop:auto-rows-auto desktop:gap-x-gutter",children:s.map(((e,t)=>{let{title:n,subtitle:s}=e;return l.jsxs("div",{children:[l.jsx("h4",{className:"text-24 font-bold mb-1.5",children:n}),l.jsx("p",{className:"text-16",children:s})]},t)}))})]})},S=e=>{const{imageUrl:t,imageAlt:n,title:s,description:o,url:a,newTab:r=!1}=e,i=l.jsxs(l.Fragment,{children:[l.jsx("img",{className:"aspect-[3/2] object-cover mb-2 border border-grey-100",src:t,alt:n}),l.jsx("h2",{className:"transition-colors group-hover:text-infinum -mb-2",children:s}),l.jsx("p",{children:o})]});let c={};return r&&(c={target:"_blank",rel:"noopener noreferrer"}),a?l.jsx("a",{href:a,className:"max-w-sm flex flex-col gap-4 group hover:no-underline transition hover:scale-105",...c,children:i}):l.jsx("div",{className:"max-w-sm flex flex-col",children:i})}},34164:(e,t,n)=>{"use strict";function s(e){var t,n,o="";if("string"==typeof e||"number"==typeof e)o+=e;else if("object"==typeof e)if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(n=s(e[t]))&&(o&&(o+=" "),o+=n)}else for(n in e)e[n]&&(o&&(o+=" "),o+=n);return o}n.d(t,{A:()=>o});const o=function(){for(var e,t,n=0,o="",a=arguments.length;n<a;n++)(e=arguments[n])&&(t=s(e))&&(o&&(o+=" "),o+=t);return o}},71765:(e,t,n)=>{"use strict";n.d(t,{My:()=>M,f4:()=>ee});var s,o,a,r,i,c,l,d=n(96540),u=n(34164),p=Object.create,f=Object.defineProperty,b=Object.defineProperties,h=Object.getOwnPropertyDescriptor,m=Object.getOwnPropertyDescriptors,g=Object.getOwnPropertyNames,v=Object.getOwnPropertySymbols,y=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty,x=Object.prototype.propertyIsEnumerable,w=(e,t,n)=>t in e?f(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,_=(e,t)=>{for(var n in t||(t={}))k.call(t,n)&&w(e,n,t[n]);if(v)for(var n of v(t))x.call(t,n)&&w(e,n,t[n]);return e},j=(e,t)=>b(e,m(t)),C=(e,t)=>{var n={};for(var s in e)k.call(e,s)&&t.indexOf(s)<0&&(n[s]=e[s]);if(null!=e&&v)for(var s of v(e))t.indexOf(s)<0&&x.call(e,s)&&(n[s]=e[s]);return n},S=(s={"../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js"(e,t){var n=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},s={util:{encode:function e(t){return t instanceof o?new o(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function e(t,n){var o,a;switch(n=n||{},s.util.type(t)){case"Object":if(a=s.util.objId(t),n[a])return n[a];for(var r in o={},n[a]=o,t)t.hasOwnProperty(r)&&(o[r]=e(t[r],n));return o;case"Array":return a=s.util.objId(t),n[a]?n[a]:(o=[],n[a]=o,t.forEach((function(t,s){o[s]=e(t,n)})),o);default:return t}},getLanguage:function(t){for(;t;){var n=e.exec(t.className);if(n)return n[1].toLowerCase();t=t.parentElement}return"none"},setLanguage:function(t,n){t.className=t.className.replace(RegExp(e,"gi"),""),t.classList.add("language-"+n)},isActive:function(e,t,n){for(var s="no-"+t;e;){var o=e.classList;if(o.contains(t))return!0;if(o.contains(s))return!1;e=e.parentElement}return!!n}},languages:{plain:n,plaintext:n,text:n,txt:n,extend:function(e,t){var n=s.util.clone(s.languages[e]);for(var o in t)n[o]=t[o];return n},insertBefore:function(e,t,n,o){var a=(o=o||s.languages)[e],r={};for(var i in a)if(a.hasOwnProperty(i)){if(i==t)for(var c in n)n.hasOwnProperty(c)&&(r[c]=n[c]);n.hasOwnProperty(i)||(r[i]=a[i])}var l=o[e];return o[e]=r,s.languages.DFS(s.languages,(function(t,n){n===l&&t!=e&&(this[t]=r)})),r},DFS:function e(t,n,o,a){a=a||{};var r=s.util.objId;for(var i in t)if(t.hasOwnProperty(i)){n.call(t,i,t[i],o||i);var c=t[i],l=s.util.type(c);"Object"!==l||a[r(c)]?"Array"!==l||a[r(c)]||(a[r(c)]=!0,e(c,n,i,a)):(a[r(c)]=!0,e(c,n,null,a))}}},plugins:{},highlight:function(e,t,n){var a={code:e,grammar:t,language:n};if(s.hooks.run("before-tokenize",a),!a.grammar)throw new Error('The language "'+a.language+'" has no grammar.');return a.tokens=s.tokenize(a.code,a.grammar),s.hooks.run("after-tokenize",a),o.stringify(s.util.encode(a.tokens),a.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var s in n)t[s]=n[s];delete t.rest}var o=new i;return c(o,o.head,e),r(e,o,t,o.head,0),function(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}(o)},hooks:{all:{},add:function(e,t){var n=s.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=s.hooks.all[e];if(n&&n.length)for(var o,a=0;o=n[a++];)o(t)}},Token:o};function o(e,t,n,s){this.type=e,this.content=t,this.alias=n,this.length=0|(s||"").length}function a(e,t,n,s){e.lastIndex=t;var o=e.exec(n);if(o&&s&&o[1]){var a=o[1].length;o.index+=a,o[0]=o[0].slice(a)}return o}function r(e,t,n,i,d,u){for(var p in n)if(n.hasOwnProperty(p)&&n[p]){var f=n[p];f=Array.isArray(f)?f:[f];for(var b=0;b<f.length;++b){if(u&&u.cause==p+","+b)return;var h=f[b],m=h.inside,g=!!h.lookbehind,v=!!h.greedy,y=h.alias;if(v&&!h.pattern.global){var k=h.pattern.toString().match(/[imsuy]*$/)[0];h.pattern=RegExp(h.pattern.source,k+"g")}for(var x=h.pattern||h,w=i.next,_=d;w!==t.tail&&!(u&&_>=u.reach);_+=w.value.length,w=w.next){var j=w.value;if(t.length>e.length)return;if(!(j instanceof o)){var C,S=1;if(v){if(!(C=a(x,_,e,g))||C.index>=e.length)break;var M=C.index,E=C.index+C[0].length,L=_;for(L+=w.value.length;M>=L;)L+=(w=w.next).value.length;if(_=L-=w.value.length,w.value instanceof o)continue;for(var A=w;A!==t.tail&&(L<E||"string"==typeof A.value);A=A.next)S++,L+=A.value.length;S--,j=e.slice(_,L),C.index-=_}else if(!(C=a(x,0,j,g)))continue;M=C.index;var T=C[0],P=j.slice(0,M),R=j.slice(M+T.length),N=_+j.length;u&&N>u.reach&&(u.reach=N);var Z=w.prev;if(P&&(Z=c(t,Z,P),_+=P.length),l(t,Z,S),w=c(t,Z,new o(p,m?s.tokenize(T,m):T,y,T)),R&&c(t,w,R),S>1){var O={cause:p+","+b,reach:N};r(e,t,n,w.prev,_,O),u&&O.reach>u.reach&&(u.reach=O.reach)}}}}}}function i(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function c(e,t,n){var s=t.next,o={value:n,prev:t,next:s};return t.next=o,s.prev=o,e.length++,o}function l(e,t,n){for(var s=t.next,o=0;o<n&&s!==e.tail;o++)s=s.next;t.next=s,s.prev=t,e.length-=o}return o.stringify=function e(t,n){if("string"==typeof t)return t;if(Array.isArray(t)){var o="";return t.forEach((function(t){o+=e(t,n)})),o}var a={type:t.type,content:e(t.content,n),tag:"span",classes:["token",t.type],attributes:{},language:n},r=t.alias;r&&(Array.isArray(r)?Array.prototype.push.apply(a.classes,r):a.classes.push(r)),s.hooks.run("wrap",a);var i="";for(var c in a.attributes)i+=" "+c+'="'+(a.attributes[c]||"").replace(/"/g,""")+'"';return"<"+a.tag+' class="'+a.classes.join(" ")+'"'+i+">"+a.content+"</"+a.tag+">"},s}();t.exports=n,n.default=n}},function(){return o||(0,s[g(s)[0]])((o={exports:{}}).exports,o),o.exports}),M=((e,t,n)=>(n=null!=e?p(y(e)):{},((e,t,n,s)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of g(t))k.call(e,o)||o===n||f(e,o,{get:()=>t[o],enumerable:!(s=h(t,o))||s.enumerable});return e})(!t&&e&&e.__esModule?n:f(n,"default",{value:e,enumerable:!0}),e)))(S());M.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},M.languages.markup.tag.inside["attr-value"].inside.entity=M.languages.markup.entity,M.languages.markup.doctype.inside["internal-subset"].inside=M.languages.markup,M.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(M.languages.markup.tag,"addInlined",{value:function(e,t){var n;(t=((n=((n={})["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:M.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i,{"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}}))["language-"+t]={pattern:/[\s\S]+/,inside:M.languages[t]},{}))[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:n},M.languages.insertBefore("markup","cdata",t)}}),Object.defineProperty(M.languages.markup.tag,"addAttribute",{value:function(e,t){M.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:M.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),M.languages.html=M.languages.markup,M.languages.mathml=M.languages.markup,M.languages.svg=M.languages.markup,M.languages.xml=M.languages.extend("markup",{}),M.languages.ssml=M.languages.xml,M.languages.atom=M.languages.xml,M.languages.rss=M.languages.xml,a=M,r={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},c="(?:[^\\\\-]|"+(i=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/).source+")",c=RegExp(c+"-"+c),l={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"},a.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:"operator"},"char-class-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:c,inside:{escape:i,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":r,"char-set":{pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},escape:i}},"special-escape":r,"char-set":{pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":l}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:i,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:"punctuation",inside:{"group-name":l}},{pattern:/\)/,alias:"punctuation"}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:"number"},alternation:{pattern:/\|/,alias:"keyword"}},M.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},M.languages.javascript=M.languages.extend("clike",{"class-name":[M.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),M.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,M.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:M.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:M.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:M.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:M.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:M.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),M.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:M.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),M.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),M.languages.markup&&(M.languages.markup.tag.addInlined("script","javascript"),M.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),M.languages.js=M.languages.javascript,M.languages.actionscript=M.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/}),M.languages.actionscript["class-name"].alias="function",delete M.languages.actionscript.parameter,delete M.languages.actionscript["literal-property"],M.languages.markup&&M.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:M.languages.markup}}),function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(M),function(e){var t=e.languages.javadoclike={parameter:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(t,"addSupport",{value:function(t,n){(t="string"==typeof t?[t]:t).forEach((function(t){var s=function(e){e.inside||(e.inside={}),e.inside.rest=n},o="doc-comment";if(a=e.languages[t]){var a,r=a[o];if((r=r||(a=e.languages.insertBefore(t,"comment",{"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:!0,alias:"comment"}}))[o])instanceof RegExp&&(r=a[o]={pattern:r}),Array.isArray(r))for(var i=0,c=r.length;i<c;i++)r[i]instanceof RegExp&&(r[i]={pattern:r[i]}),s(r[i]);else s(r)}}))}}),t.addSupport(["java","javascript","php"],t)}(M),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;(t=(e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css,e.languages.markup))&&(t.tag.addInlined("style","css"),t.tag.addAttribute("style","css"))}(M),function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,n=(t=(e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+t.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[t,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}}),{pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0}),{pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0});e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,number:n})}(M),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,s="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",o=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),a=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function r(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,(function(){return s})).replace(/<<value>>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,(function(){return s}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,(function(){return s})).replace(/<<key>>/g,(function(){return"(?:"+o+"|"+a+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:r(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:r(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:r(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:r(a),lookbehind:!0,greedy:!0},number:{pattern:r(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(M),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(/<inner>/g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var s=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,o=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return s})),a=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source,r=(e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+o+a+"(?:"+o+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+o+a+")(?:"+o+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(s),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+o+")"+a+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+o+"$"),inside:{"table-header":{pattern:RegExp(s),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,s=t.length;n<s;n++){var o,a=t[n];"code"!==a.type?e(a.content):(o=a.content[1],a=a.content[3],o&&a&&"code-language"===o.type&&"code-block"===a.type&&"string"==typeof o.content&&(o=o.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),o="language-"+(o=(/[a-z][\w-]*/i.exec(o)||[""])[0].toLowerCase()),a.alias?"string"==typeof a.alias?a.alias=[a.alias,o]:a.alias.push(o):a.alias=[o]))}}(e.tokens)})),e.hooks.add("wrap",(function(t){if("code-block"===t.type){for(var n="",s=0,o=t.classes.length;s<o;s++){var a=t.classes[s];if(a=/language-(.+)/.exec(a)){n=a[1];break}}var l,d=e.languages[n];d?t.content=e.highlight(t.content.replace(r,"").replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,(function(e,t){var n;return"#"===(t=t.toLowerCase())[0]?(n="x"===t[1]?parseInt(t.slice(2),16):Number(t.slice(1)),c(n)):i[t]||e})),d,n):n&&"none"!==n&&e.plugins.autoloader&&(l="md-"+(new Date).valueOf()+"-"+Math.floor(1e16*Math.random()),t.attributes.id=l,e.plugins.autoloader.loadLanguages(n,(function(){var t=document.getElementById(l);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))})))}})),RegExp(e.languages.markup.tag.pattern.source,"gi")),i={amp:"&",lt:"<",gt:">",quot:'"'},c=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(M),M.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:M.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},M.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n<t.length;){var s=t[n++];if("keyword"===s.type&&"mutation"===s.content){var o=[];if(u(["definition-mutation","punctuation"])&&"("===d(1).content){n+=2;var a=p(/^\($/,/^\)$/);if(-1===a)continue;for(;n<a;n++){var r=d(0);"variable"===r.type&&(f(r,"variable-input"),o.push(r.content))}n=a+1}if(u(["punctuation","property-query"])&&"{"===d(0).content&&(n++,f(d(0),"property-mutation"),0<o.length)){var i=p(/^\{$/,/^\}$/);if(-1!==i)for(var c=n;c<i;c++){var l=t[c];"variable"===l.type&&0<=o.indexOf(l.content)&&f(l,"variable-input")}}}}function d(e){return t[n+e]}function u(e,t){t=t||0;for(var n=0;n<e.length;n++){var s=d(n+t);if(!s||s.type!==e[n])return}return 1}function p(e,s){for(var o=1,a=n;a<t.length;a++){var r=t[a],i=r.content;if("punctuation"===r.type&&"string"==typeof i)if(e.test(i))o++;else if(s.test(i)&&0==--o)return a}return-1}function f(e,t){var n=e.alias;n?Array.isArray(n)||(e.alias=n=[n]):e.alias=n=[],n.push(t)}})),M.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,s=t.inside.interpolation,o=s.inside["interpolation-punctuation"],a=s.pattern.source;function r(t,s){if(e.languages[t])return{pattern:RegExp("((?:"+s+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function i(t,n,s){return t={code:t,grammar:n,language:s},e.hooks.run("before-tokenize",t),t.tokens=e.tokenize(t.code,t.grammar),e.hooks.run("after-tokenize",t),t.tokens}function c(t,n,r){var c=e.tokenize(t,{interpolation:{pattern:RegExp(a),lookbehind:!0}}),l=0,d={},u=(c=i(c.map((function(e){if("string"==typeof e)return e;var n,s;for(e=e.content;-1!==t.indexOf((s=l++,n="___"+r.toUpperCase()+"_"+s+"___")););return d[n]=e,n})).join(""),n,r),Object.keys(d));return l=0,function t(n){for(var a=0;a<n.length;a++){if(l>=u.length)return;var r,c,p,f,b,h,m,g=n[a];"string"==typeof g||"string"==typeof g.content?(r=u[l],-1!==(m=(h="string"==typeof g?g:g.content).indexOf(r))&&(++l,c=h.substring(0,m),b=d[r],p=void 0,(f={})["interpolation-punctuation"]=o,3===(f=e.tokenize(b,f)).length&&((p=[1,1]).push.apply(p,i(f[1],e.languages.javascript,"javascript")),f.splice.apply(f,p)),p=new e.Token("interpolation",f,s.alias,b),f=h.substring(m+r.length),b=[],c&&b.push(c),b.push(p),f&&(t(h=[f]),b.push.apply(b,h)),"string"==typeof g?(n.splice.apply(n,[a,1].concat(b)),a+=b.length-1):g.content=b)):(m=g.content,Array.isArray(m)?t(m):t([m]))}}(c),new e.Token(r,c,"language-"+r,t)}e.languages.javascript["template-string"]=[r("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),r("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),r("svg",/\bsvg/.source),r("markdown",/\b(?:markdown|md)/.source),r("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),r("sql",/\bsql/.source),t].filter(Boolean);var l={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function d(e){return"string"==typeof e?e:Array.isArray(e)?e.map(d).join(""):d(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in l&&function t(n){for(var s=0,o=n.length;s<o;s++){var a,r,i,l=n[s];"string"!=typeof l&&(a=l.content,Array.isArray(a)?"template-string"===l.type?(l=a[1],3===a.length&&"string"!=typeof l&&"embedded-code"===l.type&&(r=d(l),l=l.alias,l=Array.isArray(l)?l[0]:l,i=e.languages[l])&&(a[1]=c(r,i,l))):t(a):"string"!=typeof a&&t([a]))}}(t.tokens)}))}(M),function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(M),function(e){var t=e.languages.javascript,n=/\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/.source,s="(@(?:arg|argument|param|property)\\s+(?:"+n+"\\s+)?)";e.languages.jsdoc=e.languages.extend("javadoclike",{parameter:{pattern:RegExp(s+/(?:(?!\s)[$\w\xA0-\uFFFF.])+(?=\s|$)/.source),lookbehind:!0,inside:{punctuation:/\./}}}),e.languages.insertBefore("jsdoc","keyword",{"optional-parameter":{pattern:RegExp(s+/\[(?:(?!\s)[$\w\xA0-\uFFFF.])+(?:=[^[\]]+)?\](?=\s|$)/.source),lookbehind:!0,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:!0,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:!0,inside:t,alias:"language-javascript"},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\s+(?:<TYPE>\s+)?)[A-Z]\w*(?:\.[A-Z]\w*)*/.source.replace(/<TYPE>/g,(function(){return n}))),lookbehind:!0,inside:{punctuation:/\./}},{pattern:RegExp("(@[a-z]+\\s+)"+n),lookbehind:!0,inside:{string:t.string,number:t.number,boolean:t.boolean,keyword:e.languages.typescript.keyword,operator:/=>|\.\.\.|[&|?:*]/,punctuation:/[.,;=<>{}()[\]]/}}],example:{pattern:/(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:!0,inside:{code:{pattern:/^([\t ]*(?:\*\s*)?)\S.*$/m,lookbehind:!0,inside:t,alias:"language-javascript"}}}}),e.languages.javadoclike.addSupport("javascript",e.languages.jsdoc)}(M),function(e){e.languages.flow=e.languages.extend("javascript",{}),e.languages.insertBefore("flow","keyword",{type:[{pattern:/\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\b/,alias:"class-name"}]}),e.languages.flow["function-variable"].pattern=/(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i,delete e.languages.flow.parameter,e.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),Array.isArray(e.languages.flow.keyword)||(e.languages.flow.keyword=[e.languages.flow.keyword]),e.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/,lookbehind:!0})}(M),M.languages.n4js=M.languages.extend("javascript",{keyword:/\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/}),M.languages.insertBefore("n4js","constant",{annotation:{pattern:/@+\w+/,alias:"operator"}}),M.languages.n4jsd=M.languages.n4js,function(e){function t(e,t){return RegExp(e.replace(/<ID>/g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?<ID>/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],s=0;s<n.length;s++){var o=n[s],a=e.languages.javascript[o];o=(a="RegExp"===e.util.type(a)?e.languages.javascript[o]={pattern:a}:a).inside||{};(a.inside=o)["maybe-class-name"]=/^[A-Z][\s\S]*/}}(M),function(e){var t=e.util.clone(e.languages.javascript),n=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,s=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,o=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function a(e,t){return e=e.replace(/<S>/g,(function(){return n})).replace(/<BRACES>/g,(function(){return s})).replace(/<SPREAD>/g,(function(){return o})),RegExp(e,t)}function r(t){for(var n=[],s=0;s<t.length;s++){var o=t[s],a=!1;"string"!=typeof o&&("tag"===o.type&&o.content[0]&&"tag"===o.content[0].type?"</"===o.content[0].content[0].content?0<n.length&&n[n.length-1].tagName===i(o.content[0].content[1])&&n.pop():"/>"!==o.content[o.content.length-1].content&&n.push({tagName:i(o.content[0].content[1]),openedBraces:0}):0<n.length&&"punctuation"===o.type&&"{"===o.content?n[n.length-1].openedBraces++:0<n.length&&0<n[n.length-1].openedBraces&&"punctuation"===o.type&&"}"===o.content?n[n.length-1].openedBraces--:a=!0),(a||"string"==typeof o)&&0<n.length&&0===n[n.length-1].openedBraces&&(a=i(o),s<t.length-1&&("string"==typeof t[s+1]||"plain-text"===t[s+1].type)&&(a+=i(t[s+1]),t.splice(s+1,1)),0<s&&("string"==typeof t[s-1]||"plain-text"===t[s-1].type)&&(a=i(t[s-1])+a,t.splice(s-1,1),s--),t[s]=new e.Token("plain-text",a,null,a)),o.content&&"string"!=typeof o.content&&r(o.content)}}o=a(o).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=a(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:a(/<SPREAD>/.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:a(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var i=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(i).join(""):""};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||r(e.tokens)}))}(M),function(e){var t=e.util.clone(e.languages.typescript);(t=(e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"],e.languages.tsx.tag)).pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+t.pattern.source+")",t.pattern.flags),t.lookbehind=!0}(M),M.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source+"|"+/"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source+"|"+/"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source+")\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+/(?:elseif|if)\b/.source+"(?:[ \t]*"+/(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source+")+|"+/(?:else|endif)\b/.source+")"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},M.languages.swift["string-literal"].forEach((function(e){e.inside.interpolation.inside=M.languages.swift})),function(e){e.languages.kotlin=e.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin["class-name"];var t={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:e.languages.kotlin}};e.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:t},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:t},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete e.languages.kotlin.string,e.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),e.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(M),M.languages.c=M.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),M.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),M.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},M.languages.c.string],char:M.languages.c.char,comment:M.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:M.languages.c}}}}),M.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete M.languages.c.boolean,M.languages.objectivec=M.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete M.languages.objectivec["class-name"],M.languages.objc=M.languages.objectivec,M.languages.reason=M.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),M.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete M.languages.reason.function,function(e){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,n=0;n<2;n++)t=t.replace(/<self>/g,(function(){return t}));t=t.replace(/<self>/g,(function(){return/[^\s\S]/.source})),e.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(M),M.languages.go=M.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),M.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete M.languages.go["class-name"],function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(M),M.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},M.languages.python["string-interpolation"].inside.interpolation.inside.rest=M.languages.python,M.languages.py=M.languages.python;((e,t)=>{for(var n in t)f(e,n,{get:t[n],enumerable:!0})})({},{dracula:()=>E,duotoneDark:()=>L,duotoneLight:()=>A,github:()=>T,jettwaveDark:()=>H,jettwaveLight:()=>V,nightOwl:()=>P,nightOwlLight:()=>R,oceanicNext:()=>O,okaidia:()=>D,oneDark:()=>U,oneLight:()=>q,palenight:()=>B,shadesOfPurple:()=>I,synthwave84:()=>F,ultramin:()=>z,vsDark:()=>W,vsLight:()=>$});var E={plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},L={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]},A={plain:{backgroundColor:"#faf8f5",color:"#728fcb"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#b6ad9a"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#063289"}},{types:["property","function"],style:{color:"#b29762"}},{types:["tag-id","selector","atrule-id"],style:{color:"#2d2006"}},{types:["attr-name"],style:{color:"#896724"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule"],style:{color:"#728fcb"}},{types:["placeholder","variable"],style:{color:"#93abdc"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#896724"}}]},T={plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},P={plain:{color:"#d6deeb",backgroundColor:"#011627"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(99, 119, 119)",fontStyle:"italic"}},{types:["string","url"],style:{color:"rgb(173, 219, 103)"}},{types:["variable"],style:{color:"rgb(214, 222, 235)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation"],style:{color:"rgb(199, 146, 234)"}},{types:["selector","doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(255, 203, 139)"}},{types:["tag","operator","keyword"],style:{color:"rgb(127, 219, 202)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["property"],style:{color:"rgb(128, 203, 196)"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}}]},R={plain:{color:"#403f53",backgroundColor:"#FBFBFB"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(72, 118, 214)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(152, 159, 177)",fontStyle:"italic"}},{types:["string","builtin","char","constant","url"],style:{color:"rgb(72, 118, 214)"}},{types:["variable"],style:{color:"rgb(201, 103, 101)"}},{types:["number"],style:{color:"rgb(170, 9, 130)"}},{types:["punctuation"],style:{color:"rgb(153, 76, 195)"}},{types:["function","selector","doctype"],style:{color:"rgb(153, 76, 195)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(17, 17, 17)"}},{types:["tag"],style:{color:"rgb(153, 76, 195)"}},{types:["operator","property","keyword","namespace"],style:{color:"rgb(12, 150, 155)"}},{types:["boolean"],style:{color:"rgb(188, 84, 84)"}}]},N="#c5a5c5",Z="#8dc891",O={plain:{backgroundColor:"#282c34",color:"#ffffff"},styles:[{types:["attr-name"],style:{color:N}},{types:["attr-value"],style:{color:Z}},{types:["comment","block-comment","prolog","doctype","cdata","shebang"],style:{color:"#999999"}},{types:["property","number","function-name","constant","symbol","deleted"],style:{color:"#5a9bcf"}},{types:["boolean"],style:{color:"#ff8b50"}},{types:["tag"],style:{color:"#fc929e"}},{types:["string"],style:{color:Z}},{types:["punctuation"],style:{color:Z}},{types:["selector","char","builtin","inserted"],style:{color:"#D8DEE9"}},{types:["function"],style:{color:"#79b6f2"}},{types:["operator","entity","url","variable"],style:{color:"#d7deea"}},{types:["keyword"],style:{color:N}},{types:["atrule","class-name"],style:{color:"#FAC863"}},{types:["important"],style:{fontWeight:"400"}},{types:["bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}}]},D={plain:{color:"#f8f8f2",backgroundColor:"#272822"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"#f92672",fontStyle:"italic"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"#8292a2",fontStyle:"italic"}},{types:["string","url"],style:{color:"#a6e22e"}},{types:["variable"],style:{color:"#f8f8f2"}},{types:["number"],style:{color:"#ae81ff"}},{types:["builtin","char","constant","function","class-name"],style:{color:"#e6db74"}},{types:["punctuation"],style:{color:"#f8f8f2"}},{types:["selector","doctype"],style:{color:"#a6e22e",fontStyle:"italic"}},{types:["tag","operator","keyword"],style:{color:"#66d9ef"}},{types:["boolean"],style:{color:"#ae81ff"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)",opacity:.7}},{types:["tag","property"],style:{color:"#f92672"}},{types:["attr-name"],style:{color:"#a6e22e !important"}},{types:["doctype"],style:{color:"#8292a2"}},{types:["rule"],style:{color:"#e6db74"}}]},B={plain:{color:"#bfc7d5",backgroundColor:"#292d3e"},styles:[{types:["comment"],style:{color:"rgb(105, 112, 152)",fontStyle:"italic"}},{types:["string","inserted"],style:{color:"rgb(195, 232, 141)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation","selector"],style:{color:"rgb(199, 146, 234)"}},{types:["variable"],style:{color:"rgb(191, 199, 213)"}},{types:["class-name","attr-name"],style:{color:"rgb(255, 203, 107)"}},{types:["tag","deleted"],style:{color:"rgb(255, 85, 114)"}},{types:["operator"],style:{color:"rgb(137, 221, 255)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["keyword"],style:{fontStyle:"italic"}},{types:["doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}},{types:["url"],style:{color:"rgb(221, 221, 221)"}}]},I={plain:{color:"#9EFEFF",backgroundColor:"#2D2A55"},styles:[{types:["changed"],style:{color:"rgb(255, 238, 128)"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)"}},{types:["comment"],style:{color:"rgb(179, 98, 255)",fontStyle:"italic"}},{types:["punctuation"],style:{color:"rgb(255, 255, 255)"}},{types:["constant"],style:{color:"rgb(255, 98, 140)"}},{types:["string","url"],style:{color:"rgb(165, 255, 144)"}},{types:["variable"],style:{color:"rgb(255, 238, 128)"}},{types:["number","boolean"],style:{color:"rgb(255, 98, 140)"}},{types:["attr-name"],style:{color:"rgb(255, 180, 84)"}},{types:["keyword","operator","property","namespace","tag","selector","doctype"],style:{color:"rgb(255, 157, 0)"}},{types:["builtin","char","constant","function","class-name"],style:{color:"rgb(250, 208, 0)"}}]},F={plain:{backgroundColor:"linear-gradient(to bottom, #2a2139 75%, #34294f)",backgroundImage:"#34294f",color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"},styles:[{types:["comment","block-comment","prolog","doctype","cdata"],style:{color:"#495495",fontStyle:"italic"}},{types:["punctuation"],style:{color:"#ccc"}},{types:["tag","attr-name","namespace","number","unit","hexcode","deleted"],style:{color:"#e2777a"}},{types:["property","selector"],style:{color:"#72f1b8",textShadow:"0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475"}},{types:["function-name"],style:{color:"#6196cc"}},{types:["boolean","selector-id","function"],style:{color:"#fdfdfd",textShadow:"0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975"}},{types:["class-name","maybe-class-name","builtin"],style:{color:"#fff5f6",textShadow:"0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75"}},{types:["constant","symbol"],style:{color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"}},{types:["important","atrule","keyword","selector-class"],style:{color:"#f4eee4",textShadow:"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575"}},{types:["string","char","attr-value","regex","variable"],style:{color:"#f87c32"}},{types:["parameter"],style:{fontStyle:"italic"}},{types:["entity","url"],style:{color:"#67cdcc"}},{types:["operator"],style:{color:"ffffffee"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["entity"],style:{cursor:"help"}},{types:["inserted"],style:{color:"green"}}]},z={plain:{color:"#282a2e",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(197, 200, 198)"}},{types:["string","number","builtin","variable"],style:{color:"rgb(150, 152, 150)"}},{types:["class-name","function","tag","attr-name"],style:{color:"rgb(40, 42, 46)"}}]},W={plain:{color:"#9CDCFE",backgroundColor:"#1E1E1E"},styles:[{types:["prolog"],style:{color:"rgb(0, 0, 128)"}},{types:["comment"],style:{color:"rgb(106, 153, 85)"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"rgb(86, 156, 214)"}},{types:["number","inserted"],style:{color:"rgb(181, 206, 168)"}},{types:["constant"],style:{color:"rgb(100, 102, 149)"}},{types:["attr-name","variable"],style:{color:"rgb(156, 220, 254)"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"rgb(206, 145, 120)"}},{types:["selector"],style:{color:"rgb(215, 186, 125)"}},{types:["tag"],style:{color:"rgb(78, 201, 176)"}},{types:["tag"],languages:["markup"],style:{color:"rgb(86, 156, 214)"}},{types:["punctuation","operator"],style:{color:"rgb(212, 212, 212)"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"rgb(220, 220, 170)"}},{types:["class-name"],style:{color:"rgb(78, 201, 176)"}},{types:["char"],style:{color:"rgb(209, 105, 105)"}}]},$={plain:{color:"#000000",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(0, 128, 0)"}},{types:["builtin"],style:{color:"rgb(0, 112, 193)"}},{types:["number","variable","inserted"],style:{color:"rgb(9, 134, 88)"}},{types:["operator"],style:{color:"rgb(0, 0, 0)"}},{types:["constant","char"],style:{color:"rgb(129, 31, 63)"}},{types:["tag"],style:{color:"rgb(128, 0, 0)"}},{types:["attr-name"],style:{color:"rgb(255, 0, 0)"}},{types:["deleted","string"],style:{color:"rgb(163, 21, 21)"}},{types:["changed","punctuation"],style:{color:"rgb(4, 81, 165)"}},{types:["function","keyword"],style:{color:"rgb(0, 0, 255)"}},{types:["class-name"],style:{color:"rgb(38, 127, 153)"}}]},H={plain:{color:"#f8fafc",backgroundColor:"#011627"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#569CD6"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#f8fafc"}},{types:["attr-name","variable"],style:{color:"#9CDCFE"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#cbd5e1"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#D4D4D4"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#7dd3fc"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},V={plain:{color:"#0f172a",backgroundColor:"#f1f5f9"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#0c4a6e"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#0f172a"}},{types:["attr-name","variable"],style:{color:"#0c4a6e"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#64748b"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#475569"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#0e7490"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},U={plain:{backgroundColor:"hsl(220, 13%, 18%)",color:"hsl(220, 14%, 71%)",textShadow:"0 1px rgba(0, 0, 0, 0.3)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(220, 10%, 40%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(220, 14%, 71%)"}},{types:["attr-name","class-name","maybe-class-name","boolean","constant","number","atrule"],style:{color:"hsl(29, 54%, 61%)"}},{types:["keyword"],style:{color:"hsl(286, 60%, 67%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(355, 65%, 65%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value"],style:{color:"hsl(95, 38%, 62%)"}},{types:["variable","operator","function"],style:{color:"hsl(207, 82%, 66%)"}},{types:["url"],style:{color:"hsl(187, 47%, 55%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(220, 14%, 71%)"}}]},q={plain:{backgroundColor:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(230, 4%, 64%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(230, 8%, 24%)"}},{types:["attr-name","class-name","boolean","constant","number","atrule"],style:{color:"hsl(35, 99%, 36%)"}},{types:["keyword"],style:{color:"hsl(301, 63%, 40%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(5, 74%, 59%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value","punctuation"],style:{color:"hsl(119, 34%, 47%)"}},{types:["variable","operator","function"],style:{color:"hsl(221, 87%, 60%)"}},{types:["url"],style:{color:"hsl(198, 99%, 37%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(230, 8%, 24%)"}}]},G=(e,t)=>{const{plain:n}=e,s=e.styles.reduce(((e,n)=>{const{languages:s,style:o}=n;return s&&!s.includes(t)||n.types.forEach((t=>{const n=_(_({},e[t]),o);e[t]=n})),e}),{});return s.root=n,s.plain=j(_({},n),{backgroundColor:void 0}),s},K=/\r\n|\r|\n/,Y=e=>{0===e.length?e.push({types:["plain"],content:"\n",empty:!0}):1===e.length&&""===e[0].content&&(e[0].content="\n",e[0].empty=!0)},Q=(e,t)=>{const n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)},X=e=>{const t=[[]],n=[e],s=[0],o=[e.length];let a=0,r=0,i=[];const c=[i];for(;r>-1;){for(;(a=s[r]++)<o[r];){let e,l=t[r];const d=n[r][a];if("string"==typeof d?(l=r>0?l:["plain"],e=d):(l=Q(l,d.type),d.alias&&(l=Q(l,d.alias)),e=d.content),"string"!=typeof e){r++,t.push(l),n.push(e),s.push(0),o.push(e.length);continue}const u=e.split(K),p=u.length;i.push({types:l,content:u[0]});for(let t=1;t<p;t++)Y(i),c.push(i=[]),i.push({types:l,content:u[t]})}r--,t.pop(),n.pop(),s.pop(),o.pop()}return Y(i),c},J=({children:e,language:t,code:n,theme:s,prism:o})=>{const a=t.toLowerCase(),r=((e,t)=>{const[n,s]=(0,d.useState)(G(t,e)),o=(0,d.useRef)(),a=(0,d.useRef)();return(0,d.useEffect)((()=>{t===o.current&&e===a.current||(o.current=t,a.current=e,s(G(t,e)))}),[e,t]),n})(a,s),i=(e=>(0,d.useCallback)((t=>{var n=t,{className:s,style:o,line:a}=n,r=C(n,["className","style","line"]);const i=j(_({},r),{className:(0,u.A)("token-line",s)});return"object"==typeof e&&"plain"in e&&(i.style=e.plain),"object"==typeof o&&(i.style=_(_({},i.style||{}),o)),i}),[e]))(r),c=(e=>{const t=(0,d.useCallback)((({types:t,empty:n})=>{if(null!=e)return 1===t.length&&"plain"===t[0]?null!=n?{display:"inline-block"}:void 0:1===t.length&&null!=n?e[t[0]]:Object.assign(null!=n?{display:"inline-block"}:{},...t.map((t=>e[t])))}),[e]);return(0,d.useCallback)((e=>{var n=e,{token:s,className:o,style:a}=n,r=C(n,["token","className","style"]);const i=j(_({},r),{className:(0,u.A)("token",...s.types,o),children:s.content,style:t(s)});return null!=a&&(i.style=_(_({},i.style||{}),a)),i}),[t])})(r),l=(({prism:e,code:t,grammar:n,language:s})=>{const o=(0,d.useRef)(e);return(0,d.useMemo)((()=>{if(null==n)return X([t]);const e={code:t,grammar:n,language:s,tokens:[]};return o.current.hooks.run("before-tokenize",e),e.tokens=o.current.tokenize(t,n),o.current.hooks.run("after-tokenize",e),X(e.tokens)}),[t,n,s])})({prism:o,language:a,code:n,grammar:o.languages[a]});return e({tokens:l,className:`prism-code language-${a}`,style:null!=r?r.root:{},getLineProps:i,getTokenProps:c})},ee=e=>(0,d.createElement)(J,j(_({},e),{prism:e.prism||M,theme:e.theme||W,code:e.code,language:e.language}))},11561:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var s=!0,o="Invariant failed";function a(e,t){if(!e){if(s)throw new Error(o);var n="function"==typeof t?t():t,a=n?"".concat(o,": ").concat(n):o;throw new Error(a)}}},22654:e=>{"use strict";e.exports={}},84054:e=>{"use strict";e.exports=JSON.parse('{"/blog-c26":{"__comp":"a6aa9e1f","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"794bc8f2"},{"content":"13b613cc"},{"content":"5eed5ded"},{"content":"52c25d1c"},{"content":"c80bf43d"},{"content":"d0c63040"},{"content":"3d99f89d"},{"content":"3fd111c7"},{"content":"bca46e3f"}],"metadata":"b2b675dd"},"/blog/acf-in-a-project-3c7":{"__comp":"ccc49370","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","content":"c38fd7bd"},"/blog/adding-blocks-wpcli-167":{"__comp":"ccc49370","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","content":"7c673fac"},"/blog/adding-fonts-457":{"__comp":"ccc49370","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","content":"590322ab"},"/blog/archive-39c":{"__comp":"9e4087bc","__context":{"plugin":"54b7d866"},"archive":"b2f554cd"},"/blog/block-patterns-4f0":{"__comp":"ccc49370","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","content":"e801e723"},"/blog/block-variations-8af":{"__comp":"ccc49370","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","content":"f880b41b"},"/blog/components-and-blocks-548":{"__comp":"ccc49370","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","content":"96795ae1"},"/blog/initial-setup-298":{"__comp":"ccc49370","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","content":"2747918f"},"/blog/making-your-project-multilingual-8bd":{"__comp":"ccc49370","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","content":"5ba3e239"},"/blog/modifying-blocks-color-theme-949":{"__comp":"ccc49370","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","content":"adb54813"},"/blog/multiple-same-components-f33":{"__comp":"ccc49370","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","content":"cd521b29"},"/blog/page/2-43b":{"__comp":"a6aa9e1f","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"daf8bbf9"},{"content":"6299beff"},{"content":"53a1ff94"},{"content":"9ca2f55b"},{"content":"e00f1d66"},{"content":"49403d8c"},{"content":"4f8601bc"},{"content":"efbb6268"}],"metadata":"8eb4e46b"},"/blog/tags-129":{"__comp":"01a85c17","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","tags":"a7023ddc"},"/blog/tags/acf-903":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"6299beff"}],"tag":"8b62c48f","listMetadata":"81faadf7"},"/blog/tags/advanced-custom-fields-1a4":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"6299beff"}],"tag":"54305ae0","listMetadata":"6f52e085"},"/blog/tags/assets-3c8":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"53a1ff94"}],"tag":"c709f244","listMetadata":"369bf9e9"},"/blog/tags/block-916":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"3fd111c7"},{"content":"daf8bbf9"}],"tag":"3481c063","listMetadata":"d2dc1d28"},"/blog/tags/blocks-02f":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"5eed5ded"},{"content":"3d99f89d"},{"content":"e00f1d66"},{"content":"49403d8c"},{"content":"4f8601bc"}],"tag":"e2bba919","listMetadata":"ed133f89"},"/blog/tags/boilerplate-f67":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"794bc8f2"},{"content":"13b613cc"},{"content":"5eed5ded"},{"content":"52c25d1c"},{"content":"c80bf43d"},{"content":"d0c63040"},{"content":"3d99f89d"},{"content":"3fd111c7"},{"content":"bca46e3f"}],"tag":"9a46388f","listMetadata":"f162eb70"},"/blog/tags/boilerplate/page/2-370":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"daf8bbf9"},{"content":"6299beff"},{"content":"53a1ff94"},{"content":"9ca2f55b"},{"content":"e00f1d66"},{"content":"49403d8c"},{"content":"4f8601bc"},{"content":"efbb6268"}],"tag":"d0e59ab5","listMetadata":"ce19f7d3"},"/blog/tags/class-153":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"d0c63040"}],"tag":"b3b90a5e","listMetadata":"a43c0a1c"},"/blog/tags/classes-a70":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"5eed5ded"}],"tag":"29c85621","listMetadata":"b101fbec"},"/blog/tags/colors-d57":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"5eed5ded"}],"tag":"b78e77f8","listMetadata":"430a0c78"},"/blog/tags/components-a9a":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"c80bf43d"},{"content":"3d99f89d"},{"content":"e00f1d66"},{"content":"49403d8c"},{"content":"4f8601bc"}],"tag":"103a101a","listMetadata":"c87de583"},"/blog/tags/cpt-15d":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"bca46e3f"}],"tag":"cd0300a2","listMetadata":"f6aef24f"},"/blog/tags/custom-post-type-7fe":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"bca46e3f"}],"tag":"0810f675","listMetadata":"42478870"},"/blog/tags/eightshift-2f4":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"794bc8f2"},{"content":"13b613cc"},{"content":"5eed5ded"},{"content":"52c25d1c"},{"content":"c80bf43d"},{"content":"d0c63040"},{"content":"3d99f89d"},{"content":"3fd111c7"},{"content":"bca46e3f"}],"tag":"b9979bed","listMetadata":"ee85e3b6"},"/blog/tags/eightshift/page/2-d76":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"daf8bbf9"},{"content":"6299beff"},{"content":"53a1ff94"},{"content":"9ca2f55b"},{"content":"e00f1d66"},{"content":"49403d8c"},{"content":"4f8601bc"},{"content":"efbb6268"}],"tag":"a9ff9f98","listMetadata":"ee4eba04"},"/blog/tags/fonts-a23":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"9ca2f55b"}],"tag":"31d6ca5c","listMetadata":"2176bd9e"},"/blog/tags/i-18-n-f11":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"52c25d1c"}],"tag":"a6e1df93","listMetadata":"72822034"},"/blog/tags/icons-1ce":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"53a1ff94"}],"tag":"67da9612","listMetadata":"9962ee1e"},"/blog/tags/images-770":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"5eed5ded"},{"content":"53a1ff94"}],"tag":"183053be","listMetadata":"3b5edcc4"},"/blog/tags/inner-blocks-81d":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"13b613cc"}],"tag":"8d063d8d","listMetadata":"8b535be0"},"/blog/tags/multilingual-e51":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"52c25d1c"}],"tag":"d9cc83f8","listMetadata":"e4af6a2d"},"/blog/tags/patterns-387":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"3fd111c7"}],"tag":"acacc2b4","listMetadata":"a5dd7d10"},"/blog/tags/plugins-ab7":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"5eed5ded"}],"tag":"752c6bfa","listMetadata":"ffc0ac08"},"/blog/tags/query-732":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"d0c63040"}],"tag":"a372a63b","listMetadata":"f7b99134"},"/blog/tags/service-f8c":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"d0c63040"}],"tag":"73496ed9","listMetadata":"c9c3a302"},"/blog/tags/setup-496":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"efbb6268"}],"tag":"b6d824a3","listMetadata":"499ba0c7"},"/blog/tags/taxonomies-778":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"bca46e3f"}],"tag":"4293ef56","listMetadata":"5b027e06"},"/blog/tags/taxonomy-f26":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"bca46e3f"}],"tag":"8e2e6ad6","listMetadata":"2067e39b"},"/blog/tags/templates-412":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"794bc8f2"}],"tag":"89df0009","listMetadata":"5422c2e3"},"/blog/tags/terms-dff":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"bca46e3f"}],"tag":"f7aec19e","listMetadata":"0dcc1e01"},"/blog/tags/theme-options-459":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"6299beff"}],"tag":"30e34e97","listMetadata":"23da3c05"},"/blog/tags/variations-667":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"daf8bbf9"}],"tag":"883d241c","listMetadata":"96c3e083"},"/blog/tags/wpcli-2a5":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"49403d8c"}],"tag":"8e0a64cf","listMetadata":"32030e6f"},"/blog/tags/wrapper-be2":{"__comp":"6875c492","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","items":[{"content":"c80bf43d"}],"tag":"e0d892c2","listMetadata":"6b8dfc08"},"/blog/tips-useful-features-50e":{"__comp":"ccc49370","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","content":"8962d52c"},"/blog/using-assets-4c7":{"__comp":"ccc49370","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","content":"938b8490"},"/blog/using-cpts-and-taxonomies-a1f":{"__comp":"ccc49370","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","content":"39447efc"},"/blog/using-inner-blocks-310":{"__comp":"ccc49370","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","content":"62a6c31f"},"/blog/using-post-templates-eed":{"__comp":"ccc49370","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","content":"7df6cfaa"},"/blog/working-with-custom-queries-01f":{"__comp":"ccc49370","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","content":"be197d78"},"/blog/wrapper-as-a-standalone-component-20b":{"__comp":"ccc49370","__context":{"plugin":"54b7d866"},"sidebar":"814f3328","content":"39e353ee"},"/devkit-components-031":{"__comp":"dc5b4777","__context":{"plugin":"60d85392"},"config":"5e9f5e1a"},"/playground-b0b":{"__comp":"801f3f5d","__context":{"plugin":"60d85392"},"config":"5e9f5e1a"},"/search-834":{"__comp":"1a4e3797","__context":{"plugin":"640b2864"}},"/showcase-2bb":{"__comp":"5fc994c2","__context":{"plugin":"60d85392"},"config":"5e9f5e1a"},"/showcase-infinum-0cf":{"__comp":"f4a6cc60","__context":{"plugin":"60d85392"},"config":"5e9f5e1a"},"/docs-92e":{"__comp":"5e95c892","__context":{"plugin":"6e870323"}},"/docs-250":{"__comp":"a7bd4aaa","version":"935f2afb"},"/docs-188":{"__comp":"a94703ab"},"/docs/additional-libraries/boilerplate-96d":{"__comp":"17896441","content":"de657462"},"/docs/additional-libraries/boilerplate-plugin-546":{"__comp":"17896441","content":"426b1138"},"/docs/additional-libraries/coding-standards-6ec":{"__comp":"17896441","content":"bb98611a"},"/docs/additional-libraries/docs-d1b":{"__comp":"17896441","content":"230a0014"},"/docs/additional-libraries/forms-2b7":{"__comp":"17896441","content":"9bd54e26"},"/docs/additional-libraries/frontend-libs-9c9":{"__comp":"17896441","content":"85d49e2b"},"/docs/additional-libraries/libs-5fd":{"__comp":"17896441","content":"8df1c5c9"},"/docs/additional-libraries/storybook-78e":{"__comp":"17896441","content":"9cd71f2c"},"/docs/additional-libraries/stubs-3ec":{"__comp":"17896441","content":"da20989d"},"/docs/basics/architecture-concepts-fd8":{"__comp":"17896441","content":"5d34a3e0"},"/docs/basics/autowiring-929":{"__comp":"17896441","content":"a97e7f15"},"/docs/basics/backend-edb":{"__comp":"17896441","content":"9e4e2e8b"},"/docs/basics/basics-intro-4ea":{"__comp":"17896441","content":"9d107aac"},"/docs/basics/block-manifest-339":{"__comp":"17896441","content":"c661d3f1"},"/docs/basics/block-structure-1e3":{"__comp":"17896441","content":"6cbda4b6"},"/docs/basics/blocks-abc":{"__comp":"17896441","content":"46604707"},"/docs/basics/blocks-attributes-881":{"__comp":"17896441","content":"d14f8ee5"},"/docs/basics/blocks-component-in-block-36d":{"__comp":"17896441","content":"e9beab12"},"/docs/basics/blocks-component-manifest-1d5":{"__comp":"17896441","content":"10c1e86a"},"/docs/basics/blocks-component-structure-e92":{"__comp":"17896441","content":"10db50b8"},"/docs/basics/blocks-faq-feb":{"__comp":"17896441","content":"7d063b53"},"/docs/basics/blocks-global-manifest-82e":{"__comp":"17896441","content":"40adba6a"},"/docs/basics/blocks-hooks-83c":{"__comp":"17896441","content":"afdc90ee"},"/docs/basics/blocks-important-a6f":{"__comp":"17896441","content":"e79e64be"},"/docs/basics/blocks-patterns-ddb":{"__comp":"17896441","content":"9cd35a7e"},"/docs/basics/blocks-registration-bda":{"__comp":"17896441","content":"56802612"},"/docs/basics/blocks-reusable-ae2":{"__comp":"17896441","content":"02b9869f"},"/docs/basics/blocks-special-use-cases-1f9":{"__comp":"17896441","content":"6b94b48b"},"/docs/basics/blocks-storybook-5fb":{"__comp":"17896441","content":"08cebe36"},"/docs/basics/blocks-structure-c52":{"__comp":"17896441","content":"749660c3"},"/docs/basics/blocks-styles-1a2":{"__comp":"17896441","content":"7cca0223"},"/docs/basics/blocks-transforms-03b":{"__comp":"17896441","content":"541d824c"},"/docs/basics/blocks-variations-be6":{"__comp":"17896441","content":"86405c0e"},"/docs/basics/blocks-wrapper-f36":{"__comp":"17896441","content":"ce7d450a"},"/docs/basics/browser-sync-a56":{"__comp":"17896441","content":"d1a0cea3"},"/docs/basics/dynamic-import-64e":{"__comp":"17896441","content":"f8bbda75"},"/docs/basics/example-class-9b9":{"__comp":"17896441","content":"548faf69"},"/docs/basics/extending-classes-edf":{"__comp":"17896441","content":"8df52c09"},"/docs/basics/fonts-75b":{"__comp":"17896441","content":"c62d4947"},"/docs/basics/frontend-294":{"__comp":"17896441","content":"3f56b28d"},"/docs/basics/global-settings-b98":{"__comp":"17896441","content":"aa47c437"},"/docs/basics/helpers-3bd":{"__comp":"17896441","content":"29014e21"},"/docs/basics/helpers-javascript-c8d":{"__comp":"17896441","content":"a2d3b782"},"/docs/basics/helpers-php-2d7":{"__comp":"17896441","content":"add2b463"},"/docs/basics/helpers-scss-1c0":{"__comp":"17896441","content":"fea00b33"},"/docs/basics/library-1d0":{"__comp":"17896441","content":"dd059938"},"/docs/basics/manifest-781":{"__comp":"17896441","content":"da81302a"},"/docs/basics/namespaces-1b0":{"__comp":"17896441","content":"2b4fbe73"},"/docs/basics/rest-1fa":{"__comp":"17896441","content":"e110487c"},"/docs/basics/rest-field-c7d":{"__comp":"17896441","content":"1385dc12"},"/docs/basics/rest-route-b02":{"__comp":"17896441","content":"8c05f4d5"},"/docs/basics/tips-tricks-da9":{"__comp":"17896441","content":"b31b2138"},"/docs/basics/webpack-e66":{"__comp":"17896441","content":"048a2137"},"/docs/basics/wp-cli-d4a":{"__comp":"17896441","content":"8d5ae15a"},"/docs/basics/writing-styles-26d":{"__comp":"17896441","content":"13362ea9"},"/docs/crash-course/intro-2ed":{"__comp":"17896441","content":"87f23a60"},"/docs/eightshift-frontend-libs-970":{"__comp":"17896441","content":"0aeeb10b"},"/docs/eightshift-libs-725":{"__comp":"17896441","content":"6f0e603d"},"/docs/legacy/v4/advanced/browsersync-7d9":{"__comp":"17896441","content":"d88895d1"},"/docs/legacy/v4/advanced/components-color-palette-5e0":{"__comp":"17896441","content":"bf7018cf"},"/docs/legacy/v4/advanced/components-heading-level-b00":{"__comp":"17896441","content":"5b767225"},"/docs/legacy/v4/advanced/docs-sass-4d6":{"__comp":"17896441","content":"0cbbedcd"},"/docs/legacy/v4/advanced/helpers-aliases-helpers-2fb":{"__comp":"17896441","content":"8f5a650f"},"/docs/legacy/v4/advanced/helpers-components-helpers-631":{"__comp":"17896441","content":"81d5dffa"},"/docs/legacy/v4/advanced/helpers-error-logger-helpers-d35":{"__comp":"17896441","content":"4ec5858e"},"/docs/legacy/v4/advanced/helpers-object-helpers-387":{"__comp":"17896441","content":"0f1457e8"},"/docs/legacy/v4/advanced/helpers-shortcode-helpers-7df":{"__comp":"17896441","content":"f26f0cdb"},"/docs/legacy/v4/advanced/webpack-fc8":{"__comp":"17896441","content":"41bc8270"},"/docs/legacy/v4/guides/blocks-block-from-components-b1d":{"__comp":"17896441","content":"a2dbf4e7"},"/docs/legacy/v4/guides/blocks-filter-block-attributes-override-c71":{"__comp":"17896441","content":"9ec15741"},"/docs/legacy/v4/guides/blocks-get-actions-helper-77e":{"__comp":"17896441","content":"2554564d"},"/docs/legacy/v4/guides/blocks-registration-f63":{"__comp":"17896441","content":"5cda8f59"},"/docs/legacy/v4/guides/blocks-render-block-view-helper-a75":{"__comp":"17896441","content":"e12d4719"},"/docs/legacy/v4/guides/blocks-structure-0b7":{"__comp":"17896441","content":"e4399142"},"/docs/legacy/v4/guides/blocks-structure-block-item-82e":{"__comp":"17896441","content":"0655bd76"},"/docs/legacy/v4/guides/blocks-structure-component-235":{"__comp":"17896441","content":"2a615d1d"},"/docs/legacy/v4/guides/blocks-structure-manifest-317":{"__comp":"17896441","content":"f92772a6"},"/docs/legacy/v4/guides/columns-post-type-8e9":{"__comp":"17896441","content":"30241ed8"},"/docs/legacy/v4/guides/columns-taxonomy-9c2":{"__comp":"17896441","content":"51f93b96"},"/docs/legacy/v4/guides/columns-user-6dd":{"__comp":"17896441","content":"ec5d0804"},"/docs/legacy/v4/guides/config-e81":{"__comp":"17896441","content":"7d1194b2"},"/docs/legacy/v4/guides/di-container-9e3":{"__comp":"17896441","content":"b3636d59"},"/docs/legacy/v4/guides/enqueue-b1a":{"__comp":"17896441","content":"44c6aa62"},"/docs/legacy/v4/guides/extending-classes-bf1":{"__comp":"17896441","content":"43adcc08"},"/docs/legacy/v4/guides/fonts-custom-416":{"__comp":"17896441","content":"1aa24188"},"/docs/legacy/v4/guides/fonts-icon-5e0":{"__comp":"17896441","content":"f8d85197"},"/docs/legacy/v4/guides/i18n-5e5":{"__comp":"17896441","content":"ad6305cb"},"/docs/legacy/v4/guides/login-685":{"__comp":"17896441","content":"963c8ac0"},"/docs/legacy/v4/guides/manifest-1f1":{"__comp":"17896441","content":"7ee32c60"},"/docs/legacy/v4/guides/media-afc":{"__comp":"17896441","content":"ce4b3df7"},"/docs/legacy/v4/guides/menu-46a":{"__comp":"17896441","content":"fbe6399d"},"/docs/legacy/v4/guides/post-type-e94":{"__comp":"17896441","content":"a737efbc"},"/docs/legacy/v4/guides/rest-field-example-356":{"__comp":"17896441","content":"c55525a9"},"/docs/legacy/v4/guides/rest-intro-3a5":{"__comp":"17896441","content":"2345a3b7"},"/docs/legacy/v4/guides/rest-route-example-99a":{"__comp":"17896441","content":"7cf19012"},"/docs/legacy/v4/guides/taxonomy-423":{"__comp":"17896441","content":"286194e8"},"/docs/legacy/v4/versions-bd3":{"__comp":"17896441","content":"43ac2fb4"},"/docs/legacy/v5/basics/autowiring-a4d":{"__comp":"17896441","content":"0f187495"},"/docs/legacy/v5/basics/backend-493":{"__comp":"17896441","content":"7d66ff10"},"/docs/legacy/v5/basics/basics-intro-c36":{"__comp":"17896441","content":"31b83fd6"},"/docs/legacy/v5/basics/block-manifest-7fb":{"__comp":"17896441","content":"c72fb457"},"/docs/legacy/v5/basics/block-structure-d94":{"__comp":"17896441","content":"07af796b"},"/docs/legacy/v5/basics/blocks-7b5":{"__comp":"17896441","content":"a2947dce"},"/docs/legacy/v5/basics/blocks-attributes-f00":{"__comp":"17896441","content":"2e9194de"},"/docs/legacy/v5/basics/blocks-component-in-block-1f1":{"__comp":"17896441","content":"fce92293"},"/docs/legacy/v5/basics/blocks-component-manifest-e08":{"__comp":"17896441","content":"325ddbed"},"/docs/legacy/v5/basics/blocks-component-structure-b0b":{"__comp":"17896441","content":"147ca104"},"/docs/legacy/v5/basics/blocks-global-manifest-b39":{"__comp":"17896441","content":"6eb5397d"},"/docs/legacy/v5/basics/blocks-hooks-c64":{"__comp":"17896441","content":"ed3575d5"},"/docs/legacy/v5/basics/blocks-important-2d2":{"__comp":"17896441","content":"e8903528"},"/docs/legacy/v5/basics/blocks-intro-92e":{"__comp":"17896441","content":"01980361"},"/docs/legacy/v5/basics/blocks-patterns-a22":{"__comp":"17896441","content":"ef02483f"},"/docs/legacy/v5/basics/blocks-registration-1c1":{"__comp":"17896441","content":"db98aa0c"},"/docs/legacy/v5/basics/blocks-reusable-7b3":{"__comp":"17896441","content":"06946b11"},"/docs/legacy/v5/basics/blocks-special-use-cases-80e":{"__comp":"17896441","content":"e7328bb1"},"/docs/legacy/v5/basics/blocks-storybook-716":{"__comp":"17896441","content":"962afcd6"},"/docs/legacy/v5/basics/blocks-structure-426":{"__comp":"17896441","content":"2a89e141"},"/docs/legacy/v5/basics/blocks-styles-cde":{"__comp":"17896441","content":"d5f39101"},"/docs/legacy/v5/basics/blocks-transforms-3cd":{"__comp":"17896441","content":"22e7b626"},"/docs/legacy/v5/basics/blocks-variations-1ce":{"__comp":"17896441","content":"9d954fea"},"/docs/legacy/v5/basics/blocks-wrapper-219":{"__comp":"17896441","content":"f0b5617d"},"/docs/legacy/v5/basics/browser-sync-62b":{"__comp":"17896441","content":"67644baa"},"/docs/legacy/v5/basics/dynamic-import-c7a":{"__comp":"17896441","content":"8ae4ee15"},"/docs/legacy/v5/basics/example-class-b39":{"__comp":"17896441","content":"fd21cc65"},"/docs/legacy/v5/basics/extending-classes-946":{"__comp":"17896441","content":"fbe7d2e8"},"/docs/legacy/v5/basics/fonts-0b9":{"__comp":"17896441","content":"2297cc0d"},"/docs/legacy/v5/basics/frontend-164":{"__comp":"17896441","content":"27c45671"},"/docs/legacy/v5/basics/global-settings-d94":{"__comp":"17896441","content":"44f6c623"},"/docs/legacy/v5/basics/helpers-8f8":{"__comp":"17896441","content":"9f7aca5a"},"/docs/legacy/v5/basics/helpers-javascript-fd3":{"__comp":"17896441","content":"7b2162ed"},"/docs/legacy/v5/basics/helpers-php-85e":{"__comp":"17896441","content":"7c785ce9"},"/docs/legacy/v5/basics/helpers-scss-2c3":{"__comp":"17896441","content":"5024c8a9"},"/docs/legacy/v5/basics/library-3a2":{"__comp":"17896441","content":"2c4528c6"},"/docs/legacy/v5/basics/manifest-44c":{"__comp":"17896441","content":"6b207c51"},"/docs/legacy/v5/basics/namespaces-7b0":{"__comp":"17896441","content":"80d5addc"},"/docs/legacy/v5/basics/rest-294":{"__comp":"17896441","content":"e90b4b34"},"/docs/legacy/v5/basics/rest-field-c45":{"__comp":"17896441","content":"56b8c1aa"},"/docs/legacy/v5/basics/rest-route-4f5":{"__comp":"17896441","content":"ab8fc1e5"},"/docs/legacy/v5/basics/the-structure-e11":{"__comp":"17896441","content":"795feea1"},"/docs/legacy/v5/basics/webpack-a08":{"__comp":"17896441","content":"b8b9d8e8"},"/docs/legacy/v5/basics/wp-cli-fdd":{"__comp":"17896441","content":"c7fa2f29"},"/docs/legacy/v5/basics/writing-styles-630":{"__comp":"17896441","content":"ae5745cc"},"/docs/legacy/v5/versions-f02":{"__comp":"17896441","content":"fd4ea388"},"/docs/legacy/v6/basics/architecture-concepts-cc6":{"__comp":"17896441","content":"2bd83684"},"/docs/legacy/v6/basics/autowiring-aa1":{"__comp":"17896441","content":"5bf26d11"},"/docs/legacy/v6/basics/backend-334":{"__comp":"17896441","content":"5f22e924"},"/docs/legacy/v6/basics/basics-intro-28b":{"__comp":"17896441","content":"bc8a7ae5"},"/docs/legacy/v6/basics/block-manifest-b15":{"__comp":"17896441","content":"7ddf2558"},"/docs/legacy/v6/basics/block-structure-af8":{"__comp":"17896441","content":"1f5f1faf"},"/docs/legacy/v6/basics/blocks-c0c":{"__comp":"17896441","content":"2d764dca"},"/docs/legacy/v6/basics/blocks-attributes-ee3":{"__comp":"17896441","content":"09d8acdc"},"/docs/legacy/v6/basics/blocks-component-in-block-05d":{"__comp":"17896441","content":"cf4609e7"},"/docs/legacy/v6/basics/blocks-component-manifest-238":{"__comp":"17896441","content":"afb6799c"},"/docs/legacy/v6/basics/blocks-component-structure-36c":{"__comp":"17896441","content":"341e5e63"},"/docs/legacy/v6/basics/blocks-faq-ede":{"__comp":"17896441","content":"8eb5a1d8"},"/docs/legacy/v6/basics/blocks-global-manifest-97f":{"__comp":"17896441","content":"388ae04f"},"/docs/legacy/v6/basics/blocks-hooks-904":{"__comp":"17896441","content":"b4c9bdc9"},"/docs/legacy/v6/basics/blocks-important-e40":{"__comp":"17896441","content":"6a5d09b2"},"/docs/legacy/v6/basics/blocks-patterns-f03":{"__comp":"17896441","content":"c361232e"},"/docs/legacy/v6/basics/blocks-registration-ed2":{"__comp":"17896441","content":"901c0002"},"/docs/legacy/v6/basics/blocks-reusable-602":{"__comp":"17896441","content":"2e99cb0e"},"/docs/legacy/v6/basics/blocks-special-use-cases-b09":{"__comp":"17896441","content":"163b78fe"},"/docs/legacy/v6/basics/blocks-storybook-2b5":{"__comp":"17896441","content":"bce2f7e5"},"/docs/legacy/v6/basics/blocks-structure-21f":{"__comp":"17896441","content":"2716246c"},"/docs/legacy/v6/basics/blocks-styles-919":{"__comp":"17896441","content":"bcdc9a5c"},"/docs/legacy/v6/basics/blocks-transforms-d80":{"__comp":"17896441","content":"85434a08"},"/docs/legacy/v6/basics/blocks-variations-669":{"__comp":"17896441","content":"7b3a75e2"},"/docs/legacy/v6/basics/blocks-wrapper-3e6":{"__comp":"17896441","content":"7c7e3f2e"},"/docs/legacy/v6/basics/browser-sync-1cc":{"__comp":"17896441","content":"4b8950e9"},"/docs/legacy/v6/basics/dynamic-import-ffd":{"__comp":"17896441","content":"cb3c2681"},"/docs/legacy/v6/basics/example-class-fc0":{"__comp":"17896441","content":"186bf65f"},"/docs/legacy/v6/basics/extending-classes-1eb":{"__comp":"17896441","content":"20e43c84"},"/docs/legacy/v6/basics/fonts-3ba":{"__comp":"17896441","content":"812444b5"},"/docs/legacy/v6/basics/frontend-5c8":{"__comp":"17896441","content":"1eef4415"},"/docs/legacy/v6/basics/global-settings-abc":{"__comp":"17896441","content":"688ea354"},"/docs/legacy/v6/basics/helpers-3bc":{"__comp":"17896441","content":"41aa949a"},"/docs/legacy/v6/basics/helpers-javascript-955":{"__comp":"17896441","content":"5fbdd67a"},"/docs/legacy/v6/basics/helpers-php-bc3":{"__comp":"17896441","content":"2c773ba3"},"/docs/legacy/v6/basics/helpers-scss-f01":{"__comp":"17896441","content":"3cc3f22b"},"/docs/legacy/v6/basics/library-2d3":{"__comp":"17896441","content":"9f25cf08"},"/docs/legacy/v6/basics/manifest-70b":{"__comp":"17896441","content":"43d76b0c"},"/docs/legacy/v6/basics/namespaces-fca":{"__comp":"17896441","content":"b4f7c3fb"},"/docs/legacy/v6/basics/rest-989":{"__comp":"17896441","content":"6bcded04"},"/docs/legacy/v6/basics/rest-field-a22":{"__comp":"17896441","content":"25b43794"},"/docs/legacy/v6/basics/rest-route-447":{"__comp":"17896441","content":"dc46868d"},"/docs/legacy/v6/basics/tips-tricks-66c":{"__comp":"17896441","content":"9ac95129"},"/docs/legacy/v6/basics/webpack-41e":{"__comp":"17896441","content":"f5d62c05"},"/docs/legacy/v6/basics/wp-cli-c9a":{"__comp":"17896441","content":"014fa81c"},"/docs/legacy/v6/basics/writing-styles-9ad":{"__comp":"17896441","content":"40bcb702"},"/docs/legacy/v6/versions-db3":{"__comp":"17896441","content":"619eeade"},"/docs/legacy/v7/basics/architecture-concepts-888":{"__comp":"17896441","content":"998cd6c6"},"/docs/legacy/v7/basics/autowiring-e19":{"__comp":"17896441","content":"518baa20"},"/docs/legacy/v7/basics/backend-a06":{"__comp":"17896441","content":"805db72d"},"/docs/legacy/v7/basics/basics-intro-f60":{"__comp":"17896441","content":"0cde639a"},"/docs/legacy/v7/basics/block-manifest-40d":{"__comp":"17896441","content":"aebfde4b"},"/docs/legacy/v7/basics/block-structure-ff8":{"__comp":"17896441","content":"ccea3a4d"},"/docs/legacy/v7/basics/blocks-b91":{"__comp":"17896441","content":"24b57605"},"/docs/legacy/v7/basics/blocks-attributes-24e":{"__comp":"17896441","content":"59c340d8"},"/docs/legacy/v7/basics/blocks-component-in-block-b4f":{"__comp":"17896441","content":"3124e7fd"},"/docs/legacy/v7/basics/blocks-component-manifest-96c":{"__comp":"17896441","content":"db6287e5"},"/docs/legacy/v7/basics/blocks-component-structure-874":{"__comp":"17896441","content":"73699c74"},"/docs/legacy/v7/basics/blocks-faq-150":{"__comp":"17896441","content":"d7756765"},"/docs/legacy/v7/basics/blocks-global-manifest-671":{"__comp":"17896441","content":"98c40af1"},"/docs/legacy/v7/basics/blocks-hooks-f1d":{"__comp":"17896441","content":"326267d5"},"/docs/legacy/v7/basics/blocks-important-4a2":{"__comp":"17896441","content":"281e3fe0"},"/docs/legacy/v7/basics/blocks-patterns-564":{"__comp":"17896441","content":"19a6ffde"},"/docs/legacy/v7/basics/blocks-registration-fa3":{"__comp":"17896441","content":"c6cd348e"},"/docs/legacy/v7/basics/blocks-reusable-004":{"__comp":"17896441","content":"0bea9cd5"},"/docs/legacy/v7/basics/blocks-special-use-cases-c80":{"__comp":"17896441","content":"1d1d00c8"},"/docs/legacy/v7/basics/blocks-storybook-8e7":{"__comp":"17896441","content":"b6915d5f"},"/docs/legacy/v7/basics/blocks-structure-66f":{"__comp":"17896441","content":"0cf6d2ee"},"/docs/legacy/v7/basics/blocks-styles-1d8":{"__comp":"17896441","content":"0242a13a"},"/docs/legacy/v7/basics/blocks-transforms-28a":{"__comp":"17896441","content":"89c5f7f6"},"/docs/legacy/v7/basics/blocks-variations-ad7":{"__comp":"17896441","content":"66151e3f"},"/docs/legacy/v7/basics/blocks-wrapper-e0d":{"__comp":"17896441","content":"5c125432"},"/docs/legacy/v7/basics/browser-sync-e93":{"__comp":"17896441","content":"ba4d70ca"},"/docs/legacy/v7/basics/dynamic-import-1b8":{"__comp":"17896441","content":"e71b04e6"},"/docs/legacy/v7/basics/example-class-9af":{"__comp":"17896441","content":"f407a811"},"/docs/legacy/v7/basics/extending-classes-727":{"__comp":"17896441","content":"31e124ed"},"/docs/legacy/v7/basics/fonts-193":{"__comp":"17896441","content":"46ddaac3"},"/docs/legacy/v7/basics/frontend-9e4":{"__comp":"17896441","content":"714feb36"},"/docs/legacy/v7/basics/global-settings-a5a":{"__comp":"17896441","content":"bc5075fb"},"/docs/legacy/v7/basics/helpers-e6d":{"__comp":"17896441","content":"4eaf1272"},"/docs/legacy/v7/basics/helpers-javascript-4e6":{"__comp":"17896441","content":"f00dda52"},"/docs/legacy/v7/basics/helpers-php-4de":{"__comp":"17896441","content":"ee924e36"},"/docs/legacy/v7/basics/helpers-scss-ab4":{"__comp":"17896441","content":"ca69ab29"},"/docs/legacy/v7/basics/library-ed4":{"__comp":"17896441","content":"90c2c848"},"/docs/legacy/v7/basics/manifest-879":{"__comp":"17896441","content":"35144e55"},"/docs/legacy/v7/basics/namespaces-af7":{"__comp":"17896441","content":"3a244aec"},"/docs/legacy/v7/basics/rest-663":{"__comp":"17896441","content":"37703fea"},"/docs/legacy/v7/basics/rest-field-e34":{"__comp":"17896441","content":"d845213b"},"/docs/legacy/v7/basics/rest-route-c0d":{"__comp":"17896441","content":"a374712b"},"/docs/legacy/v7/basics/tips-tricks-809":{"__comp":"17896441","content":"39035dcb"},"/docs/legacy/v7/basics/webpack-997":{"__comp":"17896441","content":"318b66a0"},"/docs/legacy/v7/basics/wp-cli-c18":{"__comp":"17896441","content":"80796e9f"},"/docs/legacy/v7/basics/writing-styles-5c4":{"__comp":"17896441","content":"35847f85"},"/docs/legacy/v7/versions-97b":{"__comp":"17896441","content":"ee1ed8c4"},"/docs/legacy/v8/basics/architecture-concepts-4f4":{"__comp":"17896441","content":"1622041d"},"/docs/legacy/v8/basics/autowiring-23a":{"__comp":"17896441","content":"fdc13b44"},"/docs/legacy/v8/basics/backend-f1e":{"__comp":"17896441","content":"b9355076"},"/docs/legacy/v8/basics/basics-intro-e1c":{"__comp":"17896441","content":"79818576"},"/docs/legacy/v8/basics/block-manifest-031":{"__comp":"17896441","content":"4e946086"},"/docs/legacy/v8/basics/block-structure-223":{"__comp":"17896441","content":"6156002b"},"/docs/legacy/v8/basics/blocks-689":{"__comp":"17896441","content":"6203860c"},"/docs/legacy/v8/basics/blocks-attributes-0bc":{"__comp":"17896441","content":"e6326b0c"},"/docs/legacy/v8/basics/blocks-component-in-block-617":{"__comp":"17896441","content":"c3122f65"},"/docs/legacy/v8/basics/blocks-component-manifest-f74":{"__comp":"17896441","content":"952356a8"},"/docs/legacy/v8/basics/blocks-component-structure-e87":{"__comp":"17896441","content":"4cfcdd67"},"/docs/legacy/v8/basics/blocks-faq-780":{"__comp":"17896441","content":"ea645227"},"/docs/legacy/v8/basics/blocks-global-manifest-6a2":{"__comp":"17896441","content":"76f2b92e"},"/docs/legacy/v8/basics/blocks-hooks-f1b":{"__comp":"17896441","content":"62284ec3"},"/docs/legacy/v8/basics/blocks-important-5ec":{"__comp":"17896441","content":"0058bf23"},"/docs/legacy/v8/basics/blocks-patterns-c56":{"__comp":"17896441","content":"d6a42b72"},"/docs/legacy/v8/basics/blocks-registration-844":{"__comp":"17896441","content":"39d8d90f"},"/docs/legacy/v8/basics/blocks-reusable-08c":{"__comp":"17896441","content":"9f724635"},"/docs/legacy/v8/basics/blocks-special-use-cases-652":{"__comp":"17896441","content":"39b05d13"},"/docs/legacy/v8/basics/blocks-storybook-df2":{"__comp":"17896441","content":"cec206a7"},"/docs/legacy/v8/basics/blocks-structure-6d9":{"__comp":"17896441","content":"0e617e7a"},"/docs/legacy/v8/basics/blocks-styles-300":{"__comp":"17896441","content":"3ed2c247"},"/docs/legacy/v8/basics/blocks-transforms-85a":{"__comp":"17896441","content":"641a79fb"},"/docs/legacy/v8/basics/blocks-variations-cef":{"__comp":"17896441","content":"88748759"},"/docs/legacy/v8/basics/blocks-wrapper-d8e":{"__comp":"17896441","content":"5be441ac"},"/docs/legacy/v8/basics/browser-sync-79a":{"__comp":"17896441","content":"ce0a947c"},"/docs/legacy/v8/basics/dynamic-import-9f8":{"__comp":"17896441","content":"bb95e167"},"/docs/legacy/v8/basics/example-class-b69":{"__comp":"17896441","content":"a56ad6f0"},"/docs/legacy/v8/basics/extending-classes-101":{"__comp":"17896441","content":"9eec1b69"},"/docs/legacy/v8/basics/fonts-742":{"__comp":"17896441","content":"36d70216"},"/docs/legacy/v8/basics/frontend-fe0":{"__comp":"17896441","content":"c2a527e7"},"/docs/legacy/v8/basics/global-settings-ded":{"__comp":"17896441","content":"2f2ad190"},"/docs/legacy/v8/basics/helpers-006":{"__comp":"17896441","content":"63b7ed35"},"/docs/legacy/v8/basics/helpers-javascript-653":{"__comp":"17896441","content":"9a04d7c3"},"/docs/legacy/v8/basics/helpers-php-a4a":{"__comp":"17896441","content":"1b63fe07"},"/docs/legacy/v8/basics/helpers-scss-b3b":{"__comp":"17896441","content":"fbd7f063"},"/docs/legacy/v8/basics/library-ca8":{"__comp":"17896441","content":"97cb0cff"},"/docs/legacy/v8/basics/manifest-1c5":{"__comp":"17896441","content":"533d3ffb"},"/docs/legacy/v8/basics/namespaces-e53":{"__comp":"17896441","content":"4f057d99"},"/docs/legacy/v8/basics/rest-4c5":{"__comp":"17896441","content":"ecf43748"},"/docs/legacy/v8/basics/rest-field-b4e":{"__comp":"17896441","content":"769f10a0"},"/docs/legacy/v8/basics/rest-route-1ac":{"__comp":"17896441","content":"e1f747d9"},"/docs/legacy/v8/basics/tips-tricks-d75":{"__comp":"17896441","content":"fd6d4018"},"/docs/legacy/v8/basics/webpack-c72":{"__comp":"17896441","content":"ed480930"},"/docs/legacy/v8/basics/wp-cli-bc1":{"__comp":"17896441","content":"64042be6"},"/docs/legacy/v8/basics/writing-styles-31c":{"__comp":"17896441","content":"1c82c718"},"/docs/legacy/v8/versions-0e4":{"__comp":"17896441","content":"8364cffd"},"/docs/migrations/10-11-d51":{"__comp":"17896441","content":"7a9c7a9a"},"/docs/migrations/5-6-8dc":{"__comp":"17896441","content":"e8a4c7be"},"/docs/migrations/6-7-3d1":{"__comp":"17896441","content":"f0ebaa7e"},"/docs/migrations/7-8-2ef":{"__comp":"17896441","content":"e3792bbb"},"/docs/migrations/8-9-72c":{"__comp":"17896441","content":"94335e76"},"/docs/migrations/9-10-d0a":{"__comp":"17896441","content":"a45b31ec"},"/docs/plugin-354":{"__comp":"17896441","content":"13c21afe"},"/docs/requirements-7d9":{"__comp":"17896441","content":"5ed3387d"},"/docs/theme-bfe":{"__comp":"17896441","content":"47a776f2"},"/docs/tutorials/intro-829":{"__comp":"17896441","content":"c15d2dfd"},"/docs/versions-9e4":{"__comp":"17896441","content":"0fe8a02a"},"/docs/welcome-bc7":{"__comp":"17896441","content":"ebfee794"},"/forms-8c1":{"__comp":"5e95c892","__context":{"plugin":"759f3f6b"}},"/forms-63a":{"__comp":"a7bd4aaa","version":"ae8e07b1"},"/forms-fae":{"__comp":"a94703ab"},"/forms/addons/create/addon-boilerplate-ddc":{"__comp":"17896441","content":"e4932c64"},"/forms/addons/create/intro-5a4":{"__comp":"17896441","content":"7cbc5997"},"/forms/addons/create/requirements-829":{"__comp":"17896441","content":"6b93e189"},"/forms/addons/create/utils-library-e4b":{"__comp":"17896441","content":"21c119bb"},"/forms/addons/free/intro-ad5":{"__comp":"17896441","content":"cf91d205"},"/forms/addons/intro-edd":{"__comp":"17896441","content":"9ee0eb8a"},"/forms/addons/premium/computed-fields/blocks-cec":{"__comp":"17896441","content":"5215d6a1"},"/forms/addons/premium/computed-fields/data-flow-310":{"__comp":"17896441","content":"3634820b"},"/forms/addons/premium/computed-fields/how-to-use-d23":{"__comp":"17896441","content":"e93eaee1"},"/forms/addons/premium/computed-fields/intro-710":{"__comp":"17896441","content":"035d9dc3"},"/forms/addons/premium/computed-fields/settings-664":{"__comp":"17896441","content":"120f8e9c"},"/forms/addons/premium/intro-5d2":{"__comp":"17896441","content":"b7f27d80"},"/forms/basics-6cc":{"__comp":"17896441","content":"9f6545b7"},"/forms/features/cache-8b1":{"__comp":"17896441","content":"066ec25f"},"/forms/features/cloudflare-49e":{"__comp":"17896441","content":"ddb69969"},"/forms/features/conditional-tags-c95":{"__comp":"17896441","content":"1698e1d1"},"/forms/features/country-list-c43":{"__comp":"17896441","content":"a3a64d88"},"/forms/features/dashboard-689":{"__comp":"17896441","content":"0a9768df"},"/forms/features/debug-1a4":{"__comp":"17896441","content":"50c94cd7"},"/forms/features/enrichment-7b4":{"__comp":"17896441","content":"3e53f2d3"},"/forms/features/entries-a5f":{"__comp":"17896441","content":"f1a7576f"},"/forms/features/fallback-emails-bce":{"__comp":"17896441","content":"4e418365"},"/forms/features/geolocation-b89":{"__comp":"17896441","content":"1a6a2ec3"},"/forms/features/import-export-fea":{"__comp":"17896441","content":"4ece2ef5"},"/forms/features/labels-2b2":{"__comp":"17896441","content":"e37577e1"},"/forms/features/locations-10b":{"__comp":"17896441","content":"25539fcb"},"/forms/features/migrations-088":{"__comp":"17896441","content":"f218f265"},"/forms/features/multisteps-forms-032":{"__comp":"17896441","content":"a12ac645"},"/forms/features/result-output-19e":{"__comp":"17896441","content":"bacc15ea"},"/forms/features/security-b5f":{"__comp":"17896441","content":"4aad33a5"},"/forms/features/show-as-184":{"__comp":"17896441","content":"42d5a18c"},"/forms/features/single-submit-9b6":{"__comp":"17896441","content":"14d8029e"},"/forms/features/spam-prevention-7fe":{"__comp":"17896441","content":"18ea4958"},"/forms/features/success-redirect-b64":{"__comp":"17896441","content":"9e8339c4"},"/forms/features/tracking-054":{"__comp":"17896441","content":"dbfa0beb"},"/forms/features/validation-405":{"__comp":"17896441","content":"22cdf000"},"/forms/features/wpml-723":{"__comp":"17896441","content":"7c97d78d"},"/forms/first-form-288":{"__comp":"17896441","content":"e8854f45"},"/forms/integrations/active-campaign-5f7":{"__comp":"17896441","content":"07b5dca2"},"/forms/integrations/airtable-1c5":{"__comp":"17896441","content":"56f8d3dd"},"/forms/integrations/calculator-11a":{"__comp":"17896441","content":"79cbe809"},"/forms/integrations/clearbit-742":{"__comp":"17896441","content":"d0b1075b"},"/forms/integrations/goodbits-2de":{"__comp":"17896441","content":"3aebe9a9"},"/forms/integrations/greenhouse-710":{"__comp":"17896441","content":"5e3b00c5"},"/forms/integrations/hubspot-f27":{"__comp":"17896441","content":"b8b55b85"},"/forms/integrations/intro-cc0":{"__comp":"17896441","content":"d5c4c4ae"},"/forms/integrations/jira-1ab":{"__comp":"17896441","content":"390b04b5"},"/forms/integrations/mailchimp-505":{"__comp":"17896441","content":"4f6e5aff"},"/forms/integrations/mailer-6dd":{"__comp":"17896441","content":"45a57db1"},"/forms/integrations/mailerlite-adf":{"__comp":"17896441","content":"a0d23381"},"/forms/integrations/moments-05e":{"__comp":"17896441","content":"dbd7356d"},"/forms/integrations/pipedrive-0e3":{"__comp":"17896441","content":"62f60b5b"},"/forms/integrations/workable-8d9":{"__comp":"17896441","content":"aee4c48a"},"/forms/javascript/events/available-events-9cb":{"__comp":"17896441","content":"d817bad3"},"/forms/javascript/events/how-to-use-9a8":{"__comp":"17896441","content":"83ce5e05"},"/forms/javascript/intro-da4":{"__comp":"17896441","content":"90151e6b"},"/forms/javascript/manual-initiation-a14":{"__comp":"17896441","content":"b64e38ac"},"/forms/javascript/state/-997":{"__comp":"17896441","content":"3b7ac723"},"/forms/javascript/state/captcha-60d":{"__comp":"17896441","content":"74bedbb6"},"/forms/javascript/state/conditional-tags-275":{"__comp":"17896441","content":"dc28c8db"},"/forms/javascript/state/enrichment-c6e":{"__comp":"17896441","content":"64793643"},"/forms/javascript/state/form-b8f":{"__comp":"17896441","content":"d136d263"},"/forms/javascript/state/how-to-use-72b":{"__comp":"17896441","content":"600a6af1"},"/forms/javascript/state/step-29e":{"__comp":"17896441","content":"cb7a22d0"},"/forms/javascript/state/store-1a5":{"__comp":"17896441","content":"435e79fb"},"/forms/javascript/state/utils-48c":{"__comp":"17896441","content":"5025c75d"},"/forms/known-issues-42c":{"__comp":"17896441","content":"7ab92eb4"},"/forms/php/actions/how-to-use-659":{"__comp":"17896441","content":"af9ac9e0"},"/forms/php/actions/migrations-26c":{"__comp":"17896441","content":"80d0bffa"},"/forms/php/filters/admin/settings-data-8e6":{"__comp":"17896441","content":"f92290a0"},"/forms/php/filters/block/checkboxes/additional-content-782":{"__comp":"17896441","content":"44ef7d31"},"/forms/php/filters/block/country/additional-content-e06":{"__comp":"17896441","content":"0c7b26d1"},"/forms/php/filters/block/country/alternative-data-set-2eb":{"__comp":"17896441","content":"e18eec83"},"/forms/php/filters/block/date/additional-content-7a7":{"__comp":"17896441","content":"5bd755c4"},"/forms/php/filters/block/field/additional-content-450":{"__comp":"17896441","content":"23464d23"},"/forms/php/filters/block/field/style-classes-755":{"__comp":"17896441","content":"7fa80a78"},"/forms/php/filters/block/field/style-options-dd9":{"__comp":"17896441","content":"92621e92"},"/forms/php/filters/block/file/additional-content-d1b":{"__comp":"17896441","content":"beb2a160"},"/forms/php/filters/block/file/preview-remove-label-cff":{"__comp":"17896441","content":"8cdd3050"},"/forms/php/filters/block/form-selector/additional-content-99f":{"__comp":"17896441","content":"adaf2bab"},"/forms/php/filters/block/form-selector/form-templates-03f":{"__comp":"17896441","content":"72aadbbe"},"/forms/php/filters/block/form/additional-content-148":{"__comp":"17896441","content":"8ddbe34c"},"/forms/php/filters/block/form/additional-hidden-fields-477":{"__comp":"17896441","content":"b11b48f8"},"/forms/php/filters/block/form/data-type-selector-490":{"__comp":"17896441","content":"b3760b7c"},"/forms/php/filters/block/form/global-msg-headings-6b9":{"__comp":"17896441","content":"c9f06a2a"},"/forms/php/filters/block/form/hide-global-msg-timeout-f91":{"__comp":"17896441","content":"259bd0c5"},"/forms/php/filters/block/form/phone-sync-829":{"__comp":"17896441","content":"9dc56d2c"},"/forms/php/filters/block/form/pre-response-addon-data-9bc":{"__comp":"17896441","content":"85c52577"},"/forms/php/filters/block/form/pre-response-success-redirect-data-850":{"__comp":"17896441","content":"fda35176"},"/forms/php/filters/block/form/redirect-timeout-23d":{"__comp":"17896441","content":"07fb059b"},"/forms/php/filters/block/form/result-output-items-796":{"__comp":"17896441","content":"9d255f37"},"/forms/php/filters/block/form/result-output-parts-d3a":{"__comp":"17896441","content":"0ce4c86c"},"/forms/php/filters/block/form/success-redirect-url-f81":{"__comp":"17896441","content":"9e3bbdc0"},"/forms/php/filters/block/form/success-redirect-variation-b87":{"__comp":"17896441","content":"5add9946"},"/forms/php/filters/block/form/success-redirect-variation-options-160":{"__comp":"17896441","content":"bff0bad2"},"/forms/php/filters/block/form/tracking-additional-data-4f3":{"__comp":"17896441","content":"f34f869b"},"/forms/php/filters/block/form/tracking-event-name-fb6":{"__comp":"17896441","content":"c78f4965"},"/forms/php/filters/block/forms/style-options-b71":{"__comp":"17896441","content":"b22c1dac"},"/forms/php/filters/block/input/additional-content-00d":{"__comp":"17896441","content":"d0301901"},"/forms/php/filters/block/phone/additional-content-b0d":{"__comp":"17896441","content":"ff445556"},"/forms/php/filters/block/radios/additional-content-594":{"__comp":"17896441","content":"b8283c8e"},"/forms/php/filters/block/rating/additional-content-b96":{"__comp":"17896441","content":"ae06c6f1"},"/forms/php/filters/block/select/additional-content-74c":{"__comp":"17896441","content":"af8ed05f"},"/forms/php/filters/block/step/component-next-b38":{"__comp":"17896441","content":"f0f0c9e0"},"/forms/php/filters/block/step/component-prev-bed":{"__comp":"17896441","content":"44b117b5"},"/forms/php/filters/block/submit/additional-content-07e":{"__comp":"17896441","content":"cfae12a4"},"/forms/php/filters/block/submit/component-512":{"__comp":"17896441","content":"39c8d3f8"},"/forms/php/filters/block/textarea/additional-content-d02":{"__comp":"17896441","content":"37f27a13"},"/forms/php/filters/blocks/additional-blocks-42c":{"__comp":"17896441","content":"4dad0b95"},"/forms/php/filters/blocks/allowed-blocks-5f3":{"__comp":"17896441","content":"8ddd1f69"},"/forms/php/filters/blocks/media-breakpoints-df7":{"__comp":"17896441","content":"1a8da153"},"/forms/php/filters/enrichment/manual-map-4df":{"__comp":"17896441","content":"be937143"},"/forms/php/filters/entries/pre-post-params-9c7":{"__comp":"17896441","content":"0c06981f"},"/forms/php/filters/general/http-request-timeout-885":{"__comp":"17896441","content":"64e3919b"},"/forms/php/filters/general/locale-171":{"__comp":"17896441","content":"d0ecf97a"},"/forms/php/filters/general/scripts-dependency-ac8":{"__comp":"17896441","content":"7fbb6eb5"},"/forms/php/filters/geolocation/countries-047":{"__comp":"17896441","content":"45159772"},"/forms/php/filters/geolocation/db-location-79d":{"__comp":"17896441","content":"d3930d00"},"/forms/php/filters/geolocation/phar-location-feb":{"__comp":"17896441","content":"9cc47562"},"/forms/php/filters/how-to-use-005":{"__comp":"17896441","content":"a45434fa"},"/forms/php/filters/integrations/active-campaign-2bf":{"__comp":"17896441","content":"715a66b3"},"/forms/php/filters/integrations/airtable-daa":{"__comp":"17896441","content":"23002826"},"/forms/php/filters/integrations/calculator-afe":{"__comp":"17896441","content":"e0b2cb26"},"/forms/php/filters/integrations/clearbit-849":{"__comp":"17896441","content":"d28f320b"},"/forms/php/filters/integrations/goodbits-ee3":{"__comp":"17896441","content":"0d27e988"},"/forms/php/filters/integrations/greenhouse-c00":{"__comp":"17896441","content":"029c29d9"},"/forms/php/filters/integrations/hubspot-334":{"__comp":"17896441","content":"c38062b9"},"/forms/php/filters/integrations/jira-550":{"__comp":"17896441","content":"0205c089"},"/forms/php/filters/integrations/mailchimp-a70":{"__comp":"17896441","content":"68c90bbc"},"/forms/php/filters/integrations/mailer-e4e":{"__comp":"17896441","content":"092d0294"},"/forms/php/filters/integrations/mailerlite-67f":{"__comp":"17896441","content":"7089c5e9"},"/forms/php/filters/integrations/moments-2ee":{"__comp":"17896441","content":"b6358757"},"/forms/php/filters/integrations/pipedrive-d24":{"__comp":"17896441","content":"a112d798"},"/forms/php/filters/integrations/workable-1ac":{"__comp":"17896441","content":"35d3178b"},"/forms/php/filters/scripts/dependency-admin-03c":{"__comp":"17896441","content":"dea8b3ed"},"/forms/php/filters/scripts/dependency-blocks-editor-627":{"__comp":"17896441","content":"837a3e8d"},"/forms/php/filters/scripts/dependency-blocks-frontend-3d6":{"__comp":"17896441","content":"6afb304f"},"/forms/php/filters/scripts/dependency-theme-cd4":{"__comp":"17896441","content":"110cdc73"},"/forms/php/filters/scripts/routes-private-8fc":{"__comp":"17896441","content":"795f4ac3"},"/forms/php/filters/scripts/routes-public-be1":{"__comp":"17896441","content":"83ee1d6a"},"/forms/php/filters/validation/force-mimetype-from-fs-7fd":{"__comp":"17896441","content":"536309bb"},"/forms/php/global-variables/geolocation-d48":{"__comp":"17896441","content":"6042c76a"},"/forms/php/global-variables/google-recaptcha-12f":{"__comp":"17896441","content":"fae9d50a"},"/forms/php/global-variables/how-to-use-7c5":{"__comp":"17896441","content":"4619ca6c"},"/forms/php/global-variables/integrations/active-campaign-22c":{"__comp":"17896441","content":"eaffcef6"},"/forms/php/global-variables/integrations/airtable-ede":{"__comp":"17896441","content":"679e6283"},"/forms/php/global-variables/integrations/clearbit-d1f":{"__comp":"17896441","content":"1ab6957b"},"/forms/php/global-variables/integrations/goodbits-ed2":{"__comp":"17896441","content":"779187a6"},"/forms/php/global-variables/integrations/greenhouse-703":{"__comp":"17896441","content":"af09cb5f"},"/forms/php/global-variables/integrations/hubspot-5c9":{"__comp":"17896441","content":"26b1dccf"},"/forms/php/global-variables/integrations/jira-009":{"__comp":"17896441","content":"c344252c"},"/forms/php/global-variables/integrations/mailchimp-2b4":{"__comp":"17896441","content":"c9815f8a"},"/forms/php/global-variables/integrations/mailerlite-cdb":{"__comp":"17896441","content":"5d41d0b6"},"/forms/php/global-variables/integrations/moments-4cb":{"__comp":"17896441","content":"385e6aa6"},"/forms/php/global-variables/integrations/pipedrive-862":{"__comp":"17896441","content":"7dd4c8bc"},"/forms/php/global-variables/integrations/workable-b61":{"__comp":"17896441","content":"889c25c7"},"/forms/php/helpers-e14":{"__comp":"17896441","content":"92a392ff"},"/forms/php/intro-4c4":{"__comp":"17896441","content":"790fff8f"},"/forms/php/shortcodes-b86":{"__comp":"17896441","content":"f17f4e68"},"/forms/php/wp-cli-c73":{"__comp":"17896441","content":"9bd02e6c"},"/forms/tutorials/playlist-5b8":{"__comp":"17896441","content":"8383ea83"},"/forms/welcome-d7a":{"__comp":"17896441","content":"43ab2c5c"},"/-51f":{"__comp":"c4f5d8e4","__context":{"plugin":"60d85392"},"config":"5e9f5e1a"}}')}},e=>{e.O(0,[71869],(()=>{return t=38536,e(e.s=t);var t}));e.O()}]); \ No newline at end of file diff --git a/assets/js/main.9b71ce22.js b/assets/js/main.9b71ce22.js new file mode 100644 index 000000000..cd04fc992 --- /dev/null +++ b/assets/js/main.9b71ce22.js @@ -0,0 +1,2 @@ +/*! For license information please see main.9b71ce22.js.LICENSE.txt */ +(self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[]).push([[38792],{89188:(e,t,n)=>{"use strict";n.d(t,{W:()=>o});var s=n(96540);function o(){return s.createElement("svg",{width:"20",height:"20",className:"DocSearch-Search-Icon",viewBox:"0 0 20 20","aria-hidden":"true"},s.createElement("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}},35947:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});n(96540);var s=n(53259),o=n.n(s),a=n(84054);const r={"0058bf23":[()=>n.e(26285).then(n.bind(n,28834)),"@site/docs/legacy/v8/basics/blocks-important.md",28834],"00fb5982":[()=>n.e(86903).then(n.t.bind(n,87404,19)),"@generated/docusaurus-plugin-content-docs/forms/p/forms-b6e.json",87404],"014fa81c":[()=>n.e(91303).then(n.bind(n,11257)),"@site/docs/legacy/v6/basics/wp-cli.md",11257],"01980361":[()=>n.e(91585).then(n.bind(n,89481)),"@site/docs/legacy/v5/basics/blocks-intro.md",89481],"01a85c17":[()=>Promise.all([n.e(71869),n.e(8209)]).then(n.bind(n,69158)),"@theme/BlogTagsListPage",69158],"01ee484b":[()=>n.e(56226).then(n.t.bind(n,76937,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-service-754.json",76937],"0205c089":[()=>Promise.all([n.e(71869),n.e(15394),n.e(71328)]).then(n.bind(n,60541)),"@site/forms/php/filters/integrations/jira.mdx",60541],"0242a13a":[()=>n.e(77609).then(n.bind(n,58775)),"@site/docs/legacy/v7/basics/blocks-styles.md",58775],"027b80af":[()=>n.e(42819).then(n.t.bind(n,48516,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-query-8a9.json",48516],"029c29d9":[()=>Promise.all([n.e(71869),n.e(15394),n.e(58423)]).then(n.bind(n,56226)),"@site/forms/php/filters/integrations/greenhouse.mdx",56226],"02b9869f":[()=>n.e(21325).then(n.bind(n,10680)),"@site/docs/basics/blocks-reusable.md",10680],"035d9dc3":[()=>n.e(33418).then(n.bind(n,5918)),"@site/forms/addons/premium/computed-fields/intro.md",5918],"048a2137":[()=>n.e(45307).then(n.bind(n,99947)),"@site/docs/basics/webpack.md",99947],"0655bd76":[()=>n.e(28658).then(n.bind(n,75411)),"@site/docs/legacy/v4/guides/blocks-structure-block-item.md",75411],"066ec25f":[()=>n.e(61152).then(n.bind(n,2688)),"@site/forms/features/cache.mdx",2688],"067e78b9":[()=>n.e(78731).then(n.t.bind(n,43235,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-templates-5ad.json",43235],"06946b11":[()=>n.e(62676).then(n.bind(n,83942)),"@site/docs/legacy/v5/basics/blocks-reusable.md",83942],"07a4eaaf":[()=>n.e(56344).then(n.t.bind(n,35624,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-colors-50a.json",35624],"07af796b":[()=>n.e(29005).then(n.bind(n,75175)),"@site/docs/legacy/v5/basics/block-structure.md",75175],"07b5dca2":[()=>n.e(68869).then(n.bind(n,83681)),"@site/forms/integrations/active-campaign.md",83681],"07fb059b":[()=>n.e(8760).then(n.bind(n,70232)),"@site/forms/php/filters/block/form/redirect-timeout.md",70232],"08cebe36":[()=>n.e(66599).then(n.bind(n,873)),"@site/docs/basics/blocks-storybook.md",873],"092d0294":[()=>Promise.all([n.e(71869),n.e(15394),n.e(35821)]).then(n.bind(n,22489)),"@site/forms/php/filters/integrations/mailer.mdx",22489],"09d8acdc":[()=>n.e(25633).then(n.bind(n,94481)),"@site/docs/legacy/v6/basics/blocks-attributes.md",94481],"0a9768df":[()=>n.e(61270).then(n.bind(n,23866)),"@site/forms/features/dashboard.md",23866],"0aeeb10b":[()=>n.e(99917).then(n.bind(n,77355)),"@site/docs/eightshift-frontend-libs.md",77355],"0bea9cd5":[()=>n.e(38118).then(n.bind(n,35568)),"@site/docs/legacy/v7/basics/blocks-reusable.md",35568],"0c06981f":[()=>n.e(81588).then(n.bind(n,34055)),"@site/forms/php/filters/entries/pre-post-params.md",34055],"0c7b26d1":[()=>Promise.all([n.e(71869),n.e(15394),n.e(25642)]).then(n.bind(n,77265)),"@site/forms/php/filters/block/country/additional-content.mdx",77265],"0cbbedcd":[()=>n.e(69170).then(n.bind(n,77656)),"@site/docs/legacy/v4/advanced/sass-docs.md",77656],"0cde639a":[()=>n.e(12098).then(n.bind(n,10682)),"@site/docs/legacy/v7/basics/basics-intro.md",10682],"0ce4c86c":[()=>n.e(68963).then(n.bind(n,77518)),"@site/forms/php/filters/block/form/result-output-parts.md",77518],"0cf6d2ee":[()=>n.e(67144).then(n.bind(n,68800)),"@site/docs/legacy/v7/basics/blocks-structure.md",68800],"0d27e988":[()=>Promise.all([n.e(71869),n.e(15394),n.e(75924)]).then(n.bind(n,21158)),"@site/forms/php/filters/integrations/goodbits.mdx",21158],"0e617e7a":[()=>n.e(32277).then(n.bind(n,64513)),"@site/docs/legacy/v8/basics/blocks-structure.md",64513],"0f1457e8":[()=>n.e(51125).then(n.bind(n,85795)),"@site/docs/legacy/v4/advanced/helpers-object.md",85795],"0f187495":[()=>n.e(53685).then(n.bind(n,15929)),"@site/docs/legacy/v5/basics/autowiring.md",15929],"0fe8a02a":[()=>n.e(29366).then(n.bind(n,2177)),"@site/docs/versions.md",2177],"10c1e86a":[()=>n.e(15052).then(n.bind(n,11334)),"@site/docs/basics/blocks-component-manifest.md",11334],"10db50b8":[()=>n.e(45451).then(n.bind(n,44950)),"@site/docs/basics/blocks-component-structure.md",44950],"110cdc73":[()=>n.e(65223).then(n.bind(n,52531)),"@site/forms/php/filters/scripts/dependency-theme.md",52531],"120f8e9c":[()=>n.e(29673).then(n.bind(n,53787)),"@site/forms/addons/premium/computed-fields/settings.md",53787],"12d9b77d":[()=>n.e(80675).then(n.t.bind(n,77576,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-class-1f9.json",77576],"13362ea9":[()=>n.e(72349).then(n.bind(n,72211)),"@site/docs/basics/writing-styles.md",72211],"1385dc12":[()=>n.e(9264).then(n.bind(n,91421)),"@site/docs/basics/rest-field.md",91421],"13b613cc":[()=>n.e(40069).then(n.bind(n,39349)),"@site/blog/2024-03-07-using-inner-blocks.md?truncated=true",39349],"13c21afe":[()=>n.e(62757).then(n.bind(n,51699)),"@site/docs/plugin.md",51699],"147ca104":[()=>n.e(25092).then(n.bind(n,15688)),"@site/docs/legacy/v5/basics/blocks-component-structure.md",15688],"14d8029e":[()=>n.e(78236).then(n.bind(n,24661)),"@site/forms/features/single-submit.md",24661],"1622041d":[()=>n.e(88713).then(n.bind(n,95896)),"@site/docs/legacy/v8/basics/architecture-concepts.md",95896],"163b78fe":[()=>n.e(29487).then(n.bind(n,11267)),"@site/docs/legacy/v6/basics/blocks-special-use-cases.md",11267],"1698e1d1":[()=>n.e(12946).then(n.bind(n,44594)),"@site/forms/features/conditional-tags.md",44594],17896441:[()=>Promise.all([n.e(71869),n.e(15394),n.e(12447),n.e(18401)]).then(n.bind(n,12447)),"@theme/DocItem",12447],"186bf65f":[()=>n.e(56561).then(n.bind(n,68874)),"@site/docs/legacy/v6/basics/example-class.md",68874],"18ea4958":[()=>n.e(48472).then(n.bind(n,84242)),"@site/forms/features/spam-prevention.md",84242],"19a6ffde":[()=>n.e(76225).then(n.bind(n,27730)),"@site/docs/legacy/v7/basics/blocks-patterns.md",27730],"19f0fe09":[()=>n.e(17393).then(n.t.bind(n,71244,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-wrapper-043.json",71244],"1a4e3797":[()=>Promise.all([n.e(71869),n.e(62138)]).then(n.bind(n,74604)),"@theme/SearchPage",74604],"1a6a2ec3":[()=>n.e(30083).then(n.bind(n,99068)),"@site/forms/features/geolocation.md",99068],"1a8da153":[()=>n.e(44019).then(n.bind(n,4179)),"@site/forms/php/filters/blocks/media-breakpoints.md",4179],"1aa24188":[()=>n.e(44029).then(n.bind(n,70587)),"@site/docs/legacy/v4/guides/fonts-custom.md",70587],"1ab6957b":[()=>n.e(81208).then(n.bind(n,94075)),"@site/forms/php/global-variables/integrations/clearbit.md",94075],"1b63fe07":[()=>n.e(65587).then(n.bind(n,78335)),"@site/docs/legacy/v8/basics/helpers-php.md",78335],"1c82c718":[()=>n.e(73080).then(n.bind(n,3882)),"@site/docs/legacy/v8/basics/writing-styles.md",3882],"1d1d00c8":[()=>n.e(49018).then(n.bind(n,78208)),"@site/docs/legacy/v7/basics/blocks-special-use-cases.md",78208],"1ead2ae5":[()=>n.e(61315).then(n.t.bind(n,26710,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-block-047.json",26710],"1eef4415":[()=>n.e(64770).then(n.bind(n,67525)),"@site/docs/legacy/v6/basics/frontend.md",67525],"1f5f1faf":[()=>n.e(54083).then(n.bind(n,86892)),"@site/docs/legacy/v6/basics/block-structure.md",86892],"20e43c84":[()=>n.e(67992).then(n.bind(n,85e3)),"@site/docs/legacy/v6/basics/extending-classes.md",85e3],"21c119bb":[()=>n.e(8450).then(n.bind(n,63664)),"@site/forms/addons/create/utils-library.md",63664],"2297cc0d":[()=>n.e(66681).then(n.bind(n,13896)),"@site/docs/legacy/v5/basics/fonts.md",13896],"22cdf000":[()=>n.e(68236).then(n.bind(n,89287)),"@site/forms/features/validation.md",89287],"22e7b626":[()=>n.e(6831).then(n.bind(n,4694)),"@site/docs/legacy/v5/basics/blocks-transforms.md",4694],23002826:[()=>Promise.all([n.e(71869),n.e(15394),n.e(45611)]).then(n.bind(n,84633)),"@site/forms/php/filters/integrations/airtable.mdx",84633],"230a0014":[()=>n.e(29744).then(n.bind(n,59193)),"@site/docs/additional-libraries/docs.md",59193],"2345a3b7":[()=>n.e(29450).then(n.bind(n,38512)),"@site/docs/legacy/v4/guides/rest-intro.md",38512],"23464d23":[()=>Promise.all([n.e(71869),n.e(15394),n.e(92553)]).then(n.bind(n,5451)),"@site/forms/php/filters/block/field/additional-content.mdx",5451],"24b57605":[()=>n.e(71220).then(n.bind(n,50760)),"@site/docs/legacy/v7/basics/blocks.md",50760],"25003e4f":[()=>n.e(22838).then(n.t.bind(n,4351,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-archive-80c.json",4351],"25539fcb":[()=>n.e(4034).then(n.bind(n,10310)),"@site/forms/features/locations.md",10310],"2554564d":[()=>n.e(12090).then(n.bind(n,86125)),"@site/docs/legacy/v4/guides/blocks-get-actions-helper.md",86125],"259bd0c5":[()=>n.e(14097).then(n.bind(n,47526)),"@site/forms/php/filters/block/form/hide-global-msg-timeout.md",47526],"25b43794":[()=>n.e(50383).then(n.bind(n,54762)),"@site/docs/legacy/v6/basics/rest-field.md",54762],"26b1dccf":[()=>n.e(13180).then(n.bind(n,88396)),"@site/forms/php/global-variables/integrations/hubspot.md",88396],"2716246c":[()=>n.e(33688).then(n.bind(n,79079)),"@site/docs/legacy/v6/basics/blocks-structure.md",79079],"2747918f":[()=>n.e(38993).then(n.bind(n,46282)),"@site/blog/2022-01-20-initial-setup.md",46282],"27c45671":[()=>n.e(16586).then(n.bind(n,20084)),"@site/docs/legacy/v5/basics/frontend.md",20084],"281e3fe0":[()=>n.e(39891).then(n.bind(n,69819)),"@site/docs/legacy/v7/basics/blocks-important.md",69819],"286194e8":[()=>n.e(38018).then(n.bind(n,7546)),"@site/docs/legacy/v4/guides/taxonomy.md",7546],"29014e21":[()=>n.e(26315).then(n.bind(n,1397)),"@site/docs/basics/helpers.md",1397],"2a615d1d":[()=>n.e(78051).then(n.bind(n,10881)),"@site/docs/legacy/v4/guides/blocks-structure-component.md",10881],"2a89e141":[()=>n.e(25786).then(n.bind(n,28318)),"@site/docs/legacy/v5/basics/blocks-structure.md",28318],"2b4fbe73":[()=>n.e(37712).then(n.bind(n,32110)),"@site/docs/basics/namespaces.md",32110],"2bd83684":[()=>n.e(90988).then(n.bind(n,62058)),"@site/docs/legacy/v6/basics/architecture-concepts.md",62058],"2c4528c6":[()=>n.e(21082).then(n.bind(n,3501)),"@site/docs/legacy/v5/basics/library.md",3501],"2c773ba3":[()=>n.e(79619).then(n.bind(n,32749)),"@site/docs/legacy/v6/basics/helpers-php.md",32749],"2d764dca":[()=>n.e(26294).then(n.bind(n,68035)),"@site/docs/legacy/v6/basics/blocks.md",68035],"2e9194de":[()=>n.e(80480).then(n.bind(n,27306)),"@site/docs/legacy/v5/basics/blocks-attributes.md",27306],"2e99cb0e":[()=>n.e(61840).then(n.bind(n,14257)),"@site/docs/legacy/v6/basics/blocks-reusable.md",14257],"2f2ad190":[()=>n.e(73482).then(n.bind(n,35112)),"@site/docs/legacy/v8/basics/global-settings.md",35112],"30241ed8":[()=>n.e(67778).then(n.bind(n,26058)),"@site/docs/legacy/v4/guides/columns-post-type.md",26058],"3124e7fd":[()=>n.e(74939).then(n.bind(n,30816)),"@site/docs/legacy/v7/basics/blocks-component-in-block.md",30816],"318b66a0":[()=>n.e(61422).then(n.bind(n,24707)),"@site/docs/legacy/v7/basics/webpack.md",24707],"31b83fd6":[()=>n.e(48812).then(n.bind(n,70760)),"@site/docs/legacy/v5/basics/basics-intro.md",70760],"31e124ed":[()=>n.e(17776).then(n.bind(n,221)),"@site/docs/legacy/v7/basics/extending-classes.md",221],"325ddbed":[()=>n.e(45474).then(n.bind(n,58728)),"@site/docs/legacy/v5/basics/blocks-component-manifest.md",58728],"326267d5":[()=>n.e(65812).then(n.bind(n,15205)),"@site/docs/legacy/v7/basics/blocks-hooks.md",15205],"341e5e63":[()=>n.e(87815).then(n.bind(n,68241)),"@site/docs/legacy/v6/basics/blocks-component-structure.md",68241],"35144e55":[()=>n.e(28767).then(n.bind(n,39171)),"@site/docs/legacy/v7/basics/manifest.md",39171],"35847f85":[()=>n.e(11097).then(n.bind(n,8939)),"@site/docs/legacy/v7/basics/writing-styles.md",8939],"35d3178b":[()=>Promise.all([n.e(71869),n.e(15394),n.e(28638)]).then(n.bind(n,86338)),"@site/forms/php/filters/integrations/workable.mdx",86338],"3634820b":[()=>n.e(58873).then(n.bind(n,11003)),"@site/forms/addons/premium/computed-fields/data-flow.md",11003],"36994c47":[()=>n.e(89858).then(n.t.bind(n,45516,19)),"@generated/docusaurus-plugin-content-blog/default/__plugin.json",45516],"36d70216":[()=>n.e(38812).then(n.bind(n,33289)),"@site/docs/legacy/v8/basics/fonts.md",33289],"37703fea":[()=>n.e(76537).then(n.bind(n,63760)),"@site/docs/legacy/v7/basics/rest.md",63760],"3784eb9f":[()=>n.e(48533).then(n.t.bind(n,27237,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-images-ab2.json",27237],"37f27a13":[()=>Promise.all([n.e(71869),n.e(15394),n.e(3089)]).then(n.bind(n,75537)),"@site/forms/php/filters/block/textarea/additional-content.mdx",75537],"385e6aa6":[()=>n.e(16546).then(n.bind(n,86518)),"@site/forms/php/global-variables/integrations/moments.md",86518],"388ae04f":[()=>n.e(13198).then(n.bind(n,18821)),"@site/docs/legacy/v6/basics/blocks-global-manifest.md",18821],"39035dcb":[()=>n.e(5620).then(n.bind(n,89941)),"@site/docs/legacy/v7/basics/tips-tricks.md",89941],"390b04b5":[()=>n.e(40282).then(n.bind(n,90744)),"@site/forms/integrations/jira.md",90744],"39447efc":[()=>n.e(10042).then(n.bind(n,20275)),"@site/blog/2022-12-13-using-cpts-and-taxonomies.md",20275],"39b05d13":[()=>n.e(44546).then(n.bind(n,36397)),"@site/docs/legacy/v8/basics/blocks-special-use-cases.md",36397],"39c8d3f8":[()=>n.e(4215).then(n.bind(n,22929)),"@site/forms/php/filters/block/submit/component.md",22929],"39d8d90f":[()=>n.e(78684).then(n.bind(n,31803)),"@site/docs/legacy/v8/basics/blocks-registration.md",31803],"39e353ee":[()=>n.e(84033).then(n.bind(n,58430)),"@site/blog/2023-09-05-wrapper-as-a-standalone-component.md",58430],"3a244aec":[()=>n.e(84572).then(n.bind(n,50406)),"@site/docs/legacy/v7/basics/namespaces.md",50406],"3aebe9a9":[()=>n.e(34070).then(n.bind(n,14469)),"@site/forms/integrations/goodbits.md",14469],"3b7ac723":[()=>Promise.all([n.e(71869),n.e(15394),n.e(35151)]).then(n.bind(n,86815)),"@site/forms/javascript/state/state.mdx",86815],"3cc3f22b":[()=>n.e(36471).then(n.bind(n,54705)),"@site/docs/legacy/v6/basics/helpers-scss.md",54705],"3d99f89d":[()=>n.e(42529).then(n.bind(n,54841)),"@site/blog/2023-06-12-multiple-same-components.md?truncated=true",54841],"3e53f2d3":[()=>n.e(10504).then(n.bind(n,20021)),"@site/forms/features/enrichment.md",20021],"3ed2c247":[()=>n.e(55513).then(n.bind(n,6928)),"@site/docs/legacy/v8/basics/blocks-styles.md",6928],"3f56b28d":[()=>n.e(36321).then(n.bind(n,33558)),"@site/docs/basics/frontend.md",33558],"3fd111c7":[()=>n.e(25173).then(n.bind(n,49523)),"@site/blog/2022-12-22-block-patterns.md?truncated=true",49523],"404e42f6":[()=>n.e(67960).then(n.t.bind(n,31678,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-page-2-677.json",31678],"40adba6a":[()=>n.e(60908).then(n.bind(n,63230)),"@site/docs/basics/blocks-global-manifest.md",63230],"40bcb702":[()=>n.e(33049).then(n.bind(n,75948)),"@site/docs/legacy/v6/basics/writing-styles.md",75948],"410c21ec":[()=>n.e(77514).then(n.t.bind(n,81375,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-boilerplate-page-2-757.json",81375],"41756ce8":[()=>n.e(59616).then(n.t.bind(n,37586,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-037.json",37586],"41aa949a":[()=>n.e(88369).then(n.bind(n,51884)),"@site/docs/legacy/v6/basics/helpers.md",51884],"41bc8270":[()=>n.e(52848).then(n.bind(n,84305)),"@site/docs/legacy/v4/advanced/webpack.md",84305],"426b1138":[()=>n.e(75174).then(n.bind(n,31387)),"@site/docs/additional-libraries/boilerplate-plugin.md",31387],"429e0b25":[()=>n.e(39446).then(n.t.bind(n,65155,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-assets-503.json",65155],"42d5a18c":[()=>n.e(91425).then(n.bind(n,11686)),"@site/forms/features/show-as.md",11686],"43085e7a":[()=>n.e(98402).then(n.t.bind(n,23129,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-cpt-860.json",23129],"435e79fb":[()=>Promise.all([n.e(71869),n.e(15394),n.e(44034)]).then(n.bind(n,33303)),"@site/forms/javascript/state/store.mdx",33303],"43ab2c5c":[()=>n.e(81196).then(n.bind(n,28088)),"@site/forms/welcome.mdx",28088],"43ac2fb4":[()=>n.e(86594).then(n.bind(n,58490)),"@site/docs/legacy/v4/versions.md",58490],"43adcc08":[()=>n.e(85417).then(n.bind(n,48328)),"@site/docs/legacy/v4/guides/extending-classes.md",48328],"43d76b0c":[()=>n.e(84604).then(n.bind(n,57712)),"@site/docs/legacy/v6/basics/manifest.md",57712],"44b117b5":[()=>n.e(67819).then(n.bind(n,79897)),"@site/forms/php/filters/block/step/component-prev.md",79897],"44c6aa62":[()=>n.e(51166).then(n.bind(n,71047)),"@site/docs/legacy/v4/guides/enqueue.md",71047],"44ef7d31":[()=>Promise.all([n.e(71869),n.e(15394),n.e(21759)]).then(n.bind(n,886)),"@site/forms/php/filters/block/checkboxes/additional-content.mdx",886],"44f6c623":[()=>n.e(71737).then(n.bind(n,66369)),"@site/docs/legacy/v5/basics/global-settings.md",66369],45159772:[()=>n.e(9423).then(n.bind(n,95900)),"@site/forms/php/filters/geolocation/countries.md",95900],"45a57db1":[()=>n.e(47934).then(n.bind(n,728)),"@site/forms/integrations/mailer.md",728],"4619ca6c":[()=>n.e(39122).then(n.bind(n,7333)),"@site/forms/php/global-variables/how-to-use.md",7333],46604707:[()=>n.e(9559).then(n.bind(n,62528)),"@site/docs/basics/blocks.md",62528],"46ddaac3":[()=>n.e(45597).then(n.bind(n,55858)),"@site/docs/legacy/v7/basics/fonts.md",55858],"47a776f2":[()=>n.e(64823).then(n.bind(n,54147)),"@site/docs/theme.md",54147],"48b9a430":[()=>n.e(11154).then(n.t.bind(n,28442,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-icons-c8e.json",28442],"49403d8c":[()=>n.e(5996).then(n.bind(n,1717)),"@site/blog/2022-03-03-adding-blocks-wpcli.md?truncated=true",1717],"4aad33a5":[()=>n.e(52741).then(n.bind(n,9578)),"@site/forms/features/security.md",9578],"4b8950e9":[()=>n.e(41009).then(n.bind(n,89729)),"@site/docs/legacy/v6/basics/browser-sync.md",89729],"4cfcdd67":[()=>n.e(97080).then(n.bind(n,42127)),"@site/docs/legacy/v8/basics/blocks-component-structure.md",42127],"4dad0b95":[()=>n.e(74672).then(n.bind(n,84340)),"@site/forms/php/filters/blocks/additional-blocks.md",84340],"4e418365":[()=>n.e(35999).then(n.bind(n,17438)),"@site/forms/features/fallback-emails.md",17438],"4e946086":[()=>n.e(7429).then(n.bind(n,61174)),"@site/docs/legacy/v8/basics/block-manifest.md",61174],"4eaf1272":[()=>n.e(10901).then(n.bind(n,36573)),"@site/docs/legacy/v7/basics/helpers.md",36573],"4ec5858e":[()=>n.e(72094).then(n.bind(n,68965)),"@site/docs/legacy/v4/advanced/helpers-error-logger.md",68965],"4ece2ef5":[()=>n.e(73614).then(n.bind(n,80172)),"@site/forms/features/import-export.md",80172],"4f057d99":[()=>n.e(42695).then(n.bind(n,80507)),"@site/docs/legacy/v8/basics/namespaces.md",80507],"4f6e5aff":[()=>n.e(67568).then(n.bind(n,37712)),"@site/forms/integrations/mailchimp.md",37712],"4f8601bc":[()=>n.e(54207).then(n.bind(n,21896)),"@site/blog/2022-01-21-components-and-blocks.md?truncated=true",21896],"4fec421e":[()=>n.e(94653).then(n.t.bind(n,6028,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-inner-blocks-54b.json",6028],"5024c8a9":[()=>n.e(96813).then(n.bind(n,83216)),"@site/docs/legacy/v5/basics/helpers-scss.md",83216],"5025c75d":[()=>Promise.all([n.e(71869),n.e(15394),n.e(80430)]).then(n.bind(n,58471)),"@site/forms/javascript/state/utils.mdx",58471],"50b72e32":[()=>n.e(64889).then(n.t.bind(n,52807,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-setup-e81.json",52807],"50c94cd7":[()=>n.e(31532).then(n.bind(n,64937)),"@site/forms/features/debug.md",64937],"518baa20":[()=>n.e(42275).then(n.bind(n,99923)),"@site/docs/legacy/v7/basics/autowiring.md",99923],"51f93b96":[()=>n.e(49144).then(n.bind(n,18700)),"@site/docs/legacy/v4/guides/columns-taxonomy.md",18700],"5215d6a1":[()=>n.e(5276).then(n.bind(n,88664)),"@site/forms/addons/premium/computed-fields/blocks.md",88664],"5239f41c":[()=>n.e(10984).then(n.t.bind(n,59987,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-multilingual-011.json",59987],"52c25d1c":[()=>n.e(25558).then(n.bind(n,49661)),"@site/blog/2024-02-01-making-your-project-multilingual.md?truncated=true",49661],"533d3ffb":[()=>n.e(90501).then(n.bind(n,88250)),"@site/docs/legacy/v8/basics/manifest.md",88250],"536309bb":[()=>n.e(10175).then(n.bind(n,4036)),"@site/forms/php/filters/validation/force-mimetype-from-fs.md",4036],"53a1ff94":[()=>n.e(18602).then(n.bind(n,86524)),"@site/blog/2022-04-25-using-assets.md?truncated=true",86524],"53a3e6dc":[()=>n.e(6261).then(n.t.bind(n,60922,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-c06.json",60922],"541d824c":[()=>n.e(17606).then(n.bind(n,74256)),"@site/docs/basics/blocks-transforms.md",74256],"548faf69":[()=>n.e(42332).then(n.bind(n,99495)),"@site/docs/basics/example-class.md",99495],56802612:[()=>n.e(75563).then(n.bind(n,33708)),"@site/docs/basics/blocks-registration.md",33708],"56b8c1aa":[()=>n.e(88290).then(n.bind(n,97403)),"@site/docs/legacy/v5/basics/rest-field.md",97403],"56f8d3dd":[()=>n.e(77299).then(n.bind(n,94552)),"@site/forms/integrations/airtable.md",94552],"590322ab":[()=>n.e(4203).then(n.bind(n,57759)),"@site/blog/2022-04-08-adding-fonts.md",57759],"59c340d8":[()=>n.e(42603).then(n.bind(n,80428)),"@site/docs/legacy/v7/basics/blocks-attributes.md",80428],"5add9946":[()=>n.e(63405).then(n.bind(n,5208)),"@site/forms/php/filters/block/form/success-redirect-variation.md",5208],"5b767225":[()=>n.e(85769).then(n.bind(n,45420)),"@site/docs/legacy/v4/advanced/components-heading-level.md",45420],"5ba3e239":[()=>n.e(19811).then(n.bind(n,2827)),"@site/blog/2024-02-01-making-your-project-multilingual.md",2827],"5bd755c4":[()=>Promise.all([n.e(71869),n.e(15394),n.e(38950)]).then(n.bind(n,90739)),"@site/forms/php/filters/block/date/additional-content.mdx",90739],"5be441ac":[()=>n.e(35512).then(n.bind(n,39095)),"@site/docs/legacy/v8/basics/blocks-wrapper.md",39095],"5bf26d11":[()=>n.e(28870).then(n.bind(n,53688)),"@site/docs/legacy/v6/basics/autowiring.md",53688],"5c125432":[()=>n.e(7878).then(n.bind(n,4770)),"@site/docs/legacy/v7/basics/blocks-wrapper.md",4770],"5cda8f59":[()=>n.e(94958).then(n.bind(n,6789)),"@site/docs/legacy/v4/guides/blocks-registration.md",6789],"5d34a3e0":[()=>n.e(102).then(n.bind(n,12219)),"@site/docs/basics/architecture-concepts.md",12219],"5d41d0b6":[()=>n.e(87057).then(n.bind(n,66835)),"@site/forms/php/global-variables/integrations/mailerlite.md",66835],"5e3b00c5":[()=>n.e(19766).then(n.bind(n,19589)),"@site/forms/integrations/greenhouse.md",19589],"5e95c892":[()=>n.e(9647).then(n.bind(n,7121)),"@theme/DocsRoot",7121],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,4784)),"@generated/docusaurus.config",4784],"5ed3387d":[()=>n.e(36802).then(n.bind(n,91920)),"@site/docs/requirements.md",91920],"5eed5ded":[()=>n.e(25994).then(n.bind(n,76821)),"@site/blog/2024-02-29-tips-useful-features.md?truncated=true",76821],"5f22e924":[()=>n.e(51458).then(n.bind(n,76145)),"@site/docs/legacy/v6/basics/backend.md",76145],"5fbdd67a":[()=>n.e(22118).then(n.bind(n,97198)),"@site/docs/legacy/v6/basics/helpers-javascript.md",97198],"5fc994c2":[()=>n.e(41874).then(n.bind(n,79031)),"@site/src/pages/showcase.js",79031],"600a6af1":[()=>n.e(10940).then(n.bind(n,23184)),"@site/forms/javascript/state/how-to-use.md",23184],"6042c76a":[()=>n.e(19730).then(n.bind(n,21737)),"@site/forms/php/global-variables/geolocation.md",21737],"615207d7":[()=>n.e(67937).then(n.t.bind(n,92883,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-patterns-541.json",92883],"6156002b":[()=>n.e(62625).then(n.bind(n,47686)),"@site/docs/legacy/v8/basics/block-structure.md",47686],"619eeade":[()=>n.e(27045).then(n.bind(n,62152)),"@site/docs/legacy/v6/versions.md",62152],"6203860c":[()=>n.e(84741).then(n.bind(n,55213)),"@site/docs/legacy/v8/basics/blocks.md",55213],"62284ec3":[()=>n.e(70010).then(n.bind(n,58648)),"@site/docs/legacy/v8/basics/blocks-hooks.md",58648],"6299beff":[()=>n.e(63498).then(n.bind(n,87147)),"@site/blog/2022-05-10-acf-in-a-project.md?truncated=true",87147],"62a6c31f":[()=>n.e(87869).then(n.bind(n,38819)),"@site/blog/2024-03-07-using-inner-blocks.md",38819],"62f60b5b":[()=>n.e(42520).then(n.bind(n,97662)),"@site/forms/integrations/pipedrive.md",97662],"63b7ed35":[()=>n.e(83276).then(n.bind(n,93342)),"@site/docs/legacy/v8/basics/helpers.md",93342],"64042be6":[()=>n.e(36372).then(n.bind(n,4055)),"@site/docs/legacy/v8/basics/wp-cli.md",4055],"641a79fb":[()=>n.e(58439).then(n.bind(n,85463)),"@site/docs/legacy/v8/basics/blocks-transforms.md",85463],64793643:[()=>Promise.all([n.e(71869),n.e(15394),n.e(86513)]).then(n.bind(n,26061)),"@site/forms/javascript/state/enrichment.mdx",26061],"64e3919b":[()=>n.e(61362).then(n.bind(n,33776)),"@site/forms/php/filters/general/http-request-timeout.md",33776],"66092bc9":[()=>n.e(42862).then(n.t.bind(n,59233,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-eightshift-ee2.json",59233],"66151e3f":[()=>n.e(69192).then(n.bind(n,26567)),"@site/docs/legacy/v7/basics/blocks-variations.md",26567],"67644baa":[()=>n.e(33856).then(n.bind(n,62716)),"@site/docs/legacy/v5/basics/browser-sync.md",62716],"679e6283":[()=>n.e(60967).then(n.bind(n,22471)),"@site/forms/php/global-variables/integrations/airtable.md",22471],"6875c492":[()=>Promise.all([n.e(71869),n.e(15394),n.e(3242),n.e(84813)]).then(n.bind(n,33069)),"@theme/BlogTagsPostsPage",33069],"688ea354":[()=>n.e(99575).then(n.bind(n,82306)),"@site/docs/legacy/v6/basics/global-settings.md",82306],"68c90bbc":[()=>Promise.all([n.e(71869),n.e(15394),n.e(75826)]).then(n.bind(n,26387)),"@site/forms/php/filters/integrations/mailchimp.mdx",26387],"6a5d09b2":[()=>n.e(33662).then(n.bind(n,90020)),"@site/docs/legacy/v6/basics/blocks-important.md",90020],"6afb304f":[()=>n.e(79867).then(n.bind(n,43283)),"@site/forms/php/filters/scripts/dependency-blocks-frontend.md",43283],"6b207c51":[()=>n.e(76297).then(n.bind(n,18561)),"@site/docs/legacy/v5/basics/manifest.md",18561],"6b93e189":[()=>n.e(49876).then(n.bind(n,77667)),"@site/forms/addons/create/requirements.md",77667],"6b94b48b":[()=>n.e(13100).then(n.bind(n,11496)),"@site/docs/basics/blocks-special-use-cases.md",11496],"6bcded04":[()=>n.e(90697).then(n.bind(n,22155)),"@site/docs/legacy/v6/basics/rest.md",22155],"6cbda4b6":[()=>n.e(2603).then(n.bind(n,61369)),"@site/docs/basics/block-structure.md",61369],"6eb5397d":[()=>n.e(26950).then(n.bind(n,1844)),"@site/docs/legacy/v5/basics/blocks-global-manifest.md",1844],"6f0e603d":[()=>n.e(78101).then(n.bind(n,66094)),"@site/docs/eightshift-libs.md",66094],"7089c5e9":[()=>Promise.all([n.e(71869),n.e(15394),n.e(26289)]).then(n.bind(n,7925)),"@site/forms/php/filters/integrations/mailerlite.mdx",7925],"714feb36":[()=>n.e(13259).then(n.bind(n,64990)),"@site/docs/legacy/v7/basics/frontend.md",64990],"715a66b3":[()=>Promise.all([n.e(71869),n.e(15394),n.e(72888)]).then(n.bind(n,72692)),"@site/forms/php/filters/integrations/active-campaign.mdx",72692],"72aadbbe":[()=>n.e(43099).then(n.bind(n,67292)),"@site/forms/php/filters/block/form-selector/form-templates.md",67292],"73699c74":[()=>n.e(95211).then(n.bind(n,65134)),"@site/docs/legacy/v7/basics/blocks-component-structure.md",65134],"749660c3":[()=>n.e(43183).then(n.bind(n,61992)),"@site/docs/basics/blocks-structure.md",61992],"74bedbb6":[()=>Promise.all([n.e(71869),n.e(15394),n.e(67187)]).then(n.bind(n,96098)),"@site/forms/javascript/state/captcha.mdx",96098],"74ea67e3":[()=>n.e(61277).then(n.t.bind(n,23317,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-wpcli-f24.json",23317],"769f10a0":[()=>n.e(39645).then(n.bind(n,91868)),"@site/docs/legacy/v8/basics/rest-field.md",91868],"76f2b92e":[()=>n.e(40344).then(n.bind(n,88415)),"@site/docs/legacy/v8/basics/blocks-global-manifest.md",88415],"779187a6":[()=>n.e(88517).then(n.bind(n,58774)),"@site/forms/php/global-variables/integrations/goodbits.md",58774],"790fff8f":[()=>n.e(20263).then(n.bind(n,89529)),"@site/forms/php/intro.md",89529],"794bc8f2":[()=>n.e(23856).then(n.bind(n,3049)),"@site/blog/2024-03-28-using-post-templates.md?truncated=true",3049],"795f4ac3":[()=>n.e(9085).then(n.bind(n,1062)),"@site/forms/php/filters/scripts/routes-private.md",1062],"795feea1":[()=>n.e(73034).then(n.bind(n,70365)),"@site/docs/legacy/v5/basics/the-structure.md",70365],79818576:[()=>n.e(74988).then(n.bind(n,76387)),"@site/docs/legacy/v8/basics/basics-intro.md",76387],"79cbe809":[()=>n.e(56110).then(n.bind(n,40932)),"@site/forms/integrations/calculator.md",40932],"7a9c7a9a":[()=>n.e(33373).then(n.bind(n,36628)),"@site/docs/migrations/10-11.md",36628],"7ab92eb4":[()=>n.e(13577).then(n.bind(n,57320)),"@site/forms/known-issues.md",57320],"7b2162ed":[()=>n.e(30644).then(n.bind(n,11491)),"@site/docs/legacy/v5/basics/helpers-javascript.md",11491],"7b3a75e2":[()=>n.e(505).then(n.bind(n,51594)),"@site/docs/legacy/v6/basics/blocks-variations.md",51594],"7c110bd0":[()=>n.e(76877).then(n.t.bind(n,82614,19)),"@generated/docusaurus-plugin-content-docs/default/p/docs-b5f.json",82614],"7c673fac":[()=>n.e(67587).then(n.bind(n,31203)),"@site/blog/2022-03-03-adding-blocks-wpcli.md",31203],"7c785ce9":[()=>n.e(82682).then(n.bind(n,59306)),"@site/docs/legacy/v5/basics/helpers-php.md",59306],"7c7e3f2e":[()=>n.e(6777).then(n.bind(n,98033)),"@site/docs/legacy/v6/basics/blocks-wrapper.md",98033],"7c97d78d":[()=>n.e(48506).then(n.bind(n,24610)),"@site/forms/features/wpml.md",24610],"7cbc5997":[()=>n.e(27722).then(n.bind(n,19041)),"@site/forms/addons/create/intro.md",19041],"7cca0223":[()=>n.e(92526).then(n.bind(n,60591)),"@site/docs/basics/blocks-styles.md",60591],"7cf19012":[()=>n.e(1032).then(n.bind(n,38445)),"@site/docs/legacy/v4/guides/rest-routes-example.md",38445],"7d063b53":[()=>n.e(88691).then(n.bind(n,14153)),"@site/docs/basics/blocks-faq.md",14153],"7d1194b2":[()=>n.e(51459).then(n.bind(n,76235)),"@site/docs/legacy/v4/guides/config.md",76235],"7d66ff10":[()=>n.e(71237).then(n.bind(n,46514)),"@site/docs/legacy/v5/basics/backend.md",46514],"7dd4c8bc":[()=>n.e(3430).then(n.bind(n,31255)),"@site/forms/php/global-variables/integrations/pipedrive.md",31255],"7ddf2558":[()=>n.e(11644).then(n.bind(n,12548)),"@site/docs/legacy/v6/basics/block-manifest.md",12548],"7df6cfaa":[()=>n.e(28131).then(n.bind(n,81207)),"@site/blog/2024-03-28-using-post-templates.md",81207],"7ee32c60":[()=>n.e(51212).then(n.bind(n,5680)),"@site/docs/legacy/v4/guides/manifest.md",5680],"7fa80a78":[()=>n.e(57955).then(n.bind(n,26814)),"@site/forms/php/filters/block/field/style-classes.md",26814],"7fbb6eb5":[()=>n.e(92412).then(n.bind(n,44104)),"@site/forms/php/filters/general/scripts-dependency.md",44104],"801f3f5d":[()=>Promise.all([n.e(23271),n.e(15782)]).then(n.bind(n,91267)),"@site/src/pages/playground.js",91267],"805db72d":[()=>n.e(32851).then(n.bind(n,76788)),"@site/docs/legacy/v7/basics/backend.md",76788],"80796e9f":[()=>n.e(42849).then(n.bind(n,76494)),"@site/docs/legacy/v7/basics/wp-cli.md",76494],"80d0bffa":[()=>n.e(98040).then(n.bind(n,18558)),"@site/forms/php/actions/migrations.md",18558],"80d5addc":[()=>n.e(39130).then(n.bind(n,12352)),"@site/docs/legacy/v5/basics/namespaces.md",12352],"812444b5":[()=>n.e(58239).then(n.bind(n,82847)),"@site/docs/legacy/v6/basics/fonts.md",82847],"814f3328":[()=>n.e(67472).then(n.t.bind(n,55513,19)),"~blog/default/blog-post-list-prop-default.json",55513],"81d5dffa":[()=>n.e(59594).then(n.bind(n,2944)),"@site/docs/legacy/v4/advanced/helpers-components.md",2944],"8364cffd":[()=>n.e(42099).then(n.bind(n,32974)),"@site/docs/legacy/v8/versions.md",32974],"837a3e8d":[()=>n.e(78320).then(n.bind(n,32630)),"@site/forms/php/filters/scripts/dependency-blocks-editor.md",32630],"8383ea83":[()=>n.e(39914).then(n.bind(n,82584)),"@site/forms/tutorials/playlist.mdx",82584],"83ce5e05":[()=>n.e(57167).then(n.bind(n,87946)),"@site/forms/javascript/events/how-to-use.md",87946],"83ee1d6a":[()=>n.e(84570).then(n.bind(n,19896)),"@site/forms/php/filters/scripts/routes-public.md",19896],"842a1dd5":[()=>n.e(21062).then(n.t.bind(n,60112,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-variations-ce6.json",60112],"85434a08":[()=>n.e(67448).then(n.bind(n,1501)),"@site/docs/legacy/v6/basics/blocks-transforms.md",1501],"85c52577":[()=>n.e(67843).then(n.bind(n,89815)),"@site/forms/php/filters/block/form/pre-response-addon-data.md",89815],"85d49e2b":[()=>n.e(50252).then(n.bind(n,94419)),"@site/docs/additional-libraries/frontend-libs.md",94419],"86405c0e":[()=>n.e(10176).then(n.bind(n,76159)),"@site/docs/basics/blocks-variations.md",76159],"86a402cb":[()=>n.e(76835).then(n.t.bind(n,85853,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-boilerplate-497.json",85853],"87f23a60":[()=>n.e(7530).then(n.bind(n,95414)),"@site/docs/crash-course/intro.md",95414],88748759:[()=>n.e(47103).then(n.bind(n,73012)),"@site/docs/legacy/v8/basics/blocks-variations.md",73012],"889c25c7":[()=>n.e(59654).then(n.bind(n,91442)),"@site/forms/php/global-variables/integrations/workable.md",91442],"8962d52c":[()=>n.e(10454).then(n.bind(n,85763)),"@site/blog/2024-02-29-tips-useful-features.md",85763],"89c5f7f6":[()=>n.e(30003).then(n.bind(n,62184)),"@site/docs/legacy/v7/basics/blocks-transforms.md",62184],"8ae4ee15":[()=>n.e(41665).then(n.bind(n,25221)),"@site/docs/legacy/v5/basics/dynamic-import.md",25221],"8c05f4d5":[()=>n.e(14346).then(n.bind(n,6168)),"@site/docs/basics/rest-route.md",6168],"8cdd3050":[()=>n.e(61118).then(n.bind(n,3406)),"@site/forms/php/filters/block/file/preview-remove-label.md",3406],"8d5ae15a":[()=>n.e(18465).then(n.bind(n,18310)),"@site/docs/basics/wp-cli.md",18310],"8ddbe34c":[()=>Promise.all([n.e(71869),n.e(15394),n.e(84682)]).then(n.bind(n,37157)),"@site/forms/php/filters/block/form/additional-content.mdx",37157],"8ddd1f69":[()=>n.e(74165).then(n.bind(n,87993)),"@site/forms/php/filters/blocks/allowed-blocks.md",87993],"8df1c5c9":[()=>n.e(18128).then(n.bind(n,31942)),"@site/docs/additional-libraries/libs.md",31942],"8df52c09":[()=>n.e(44876).then(n.bind(n,58069)),"@site/docs/basics/extending-classes.md",58069],"8eb5a1d8":[()=>n.e(70395).then(n.bind(n,64694)),"@site/docs/legacy/v6/basics/blocks-faq.md",64694],"8f5a650f":[()=>n.e(48750).then(n.bind(n,50178)),"@site/docs/legacy/v4/advanced/aliases.md",50178],"90151e6b":[()=>n.e(99024).then(n.bind(n,64580)),"@site/forms/javascript/intro.md",64580],"901c0002":[()=>n.e(82694).then(n.bind(n,22309)),"@site/docs/legacy/v6/basics/blocks-registration.md",22309],"90c2c848":[()=>n.e(72238).then(n.bind(n,14259)),"@site/docs/legacy/v7/basics/library.md",14259],"92621e92":[()=>n.e(10053).then(n.bind(n,85656)),"@site/forms/php/filters/block/field/style-options.md",85656],"92a392ff":[()=>n.e(85575).then(n.bind(n,63754)),"@site/forms/php/helpers.md",63754],"938b8490":[()=>n.e(51006).then(n.bind(n,8528)),"@site/blog/2022-04-25-using-assets.md",8528],"94335e76":[()=>n.e(84319).then(n.bind(n,29788)),"@site/docs/migrations/8-9.md",29788],"952356a8":[()=>n.e(71222).then(n.bind(n,97609)),"@site/docs/legacy/v8/basics/blocks-component-manifest.md",97609],"962afcd6":[()=>n.e(35818).then(n.bind(n,61307)),"@site/docs/legacy/v5/basics/blocks-storybook.md",61307],"963c8ac0":[()=>n.e(26532).then(n.bind(n,24856)),"@site/docs/legacy/v4/guides/login.md",24856],"96795ae1":[()=>n.e(54286).then(n.bind(n,45804)),"@site/blog/2022-01-21-components-and-blocks.md",45804],"97cb0cff":[()=>n.e(31199).then(n.bind(n,97456)),"@site/docs/legacy/v8/basics/library.md",97456],"98c40af1":[()=>n.e(5843).then(n.bind(n,74758)),"@site/docs/legacy/v7/basics/blocks-global-manifest.md",74758],"998cd6c6":[()=>n.e(51867).then(n.bind(n,57907)),"@site/docs/legacy/v7/basics/architecture-concepts.md",57907],"9a04d7c3":[()=>n.e(11188).then(n.bind(n,28008)),"@site/docs/legacy/v8/basics/helpers-javascript.md",28008],"9a2d1e33":[()=>n.e(51127).then(n.t.bind(n,62800,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-i-18-n-d57.json",62800],"9ac95129":[()=>n.e(28860).then(n.bind(n,77520)),"@site/docs/legacy/v6/basics/tips-tricks.md",77520],"9bd02e6c":[()=>n.e(69700).then(n.bind(n,43019)),"@site/forms/php/wp-cli.md",43019],"9bd54e26":[()=>n.e(51318).then(n.bind(n,55535)),"@site/docs/additional-libraries/forms.md",55535],"9ca2f55b":[()=>n.e(20592).then(n.bind(n,45937)),"@site/blog/2022-04-08-adding-fonts.md?truncated=true",45937],"9cc47562":[()=>n.e(88570).then(n.bind(n,3487)),"@site/forms/php/filters/geolocation/phar-location.md",3487],"9cd35a7e":[()=>n.e(7346).then(n.bind(n,90042)),"@site/docs/basics/blocks-patterns.md",90042],"9cd71f2c":[()=>n.e(45488).then(n.bind(n,9084)),"@site/docs/additional-libraries/storybook.md",9084],"9d107aac":[()=>n.e(10587).then(n.bind(n,60914)),"@site/docs/basics/basics-intro.md",60914],"9d255f37":[()=>n.e(44152).then(n.bind(n,68408)),"@site/forms/php/filters/block/form/result-output-items.md",68408],"9d954fea":[()=>n.e(26546).then(n.bind(n,12613)),"@site/docs/legacy/v5/basics/blocks-variations.md",12613],"9dc56d2c":[()=>n.e(88167).then(n.bind(n,36598)),"@site/forms/php/filters/block/form/phone-sync.md",36598],"9dd0e933":[()=>n.e(53844).then(n.t.bind(n,44542,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-theme-options-74e.json",44542],"9e004082":[()=>n.e(83127).then(n.t.bind(n,94616,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-custom-post-type-d16.json",94616],"9e3bbdc0":[()=>n.e(8025).then(n.bind(n,25708)),"@site/forms/php/filters/block/form/success-redirect-url.md",25708],"9e4087bc":[()=>n.e(52711).then(n.bind(n,89331)),"@theme/BlogArchivePage",89331],"9e4e2e8b":[()=>n.e(4041).then(n.bind(n,71724)),"@site/docs/basics/backend.md",71724],"9e8339c4":[()=>n.e(99903).then(n.bind(n,80894)),"@site/forms/features/success-redirect.md",80894],"9ec15741":[()=>n.e(15808).then(n.bind(n,6563)),"@site/docs/legacy/v4/guides/blocks-filer-block-attributes-override.md",6563],"9ee0eb8a":[()=>n.e(90778).then(n.bind(n,23884)),"@site/forms/addons/intro.md",23884],"9eec1b69":[()=>n.e(79).then(n.bind(n,9918)),"@site/docs/legacy/v8/basics/extending-classes.md",9918],"9f25cf08":[()=>n.e(25110).then(n.bind(n,26482)),"@site/docs/legacy/v6/basics/library.md",26482],"9f6545b7":[()=>n.e(29701).then(n.bind(n,1343)),"@site/forms/basics.mdx",1343],"9f724635":[()=>n.e(46115).then(n.bind(n,37779)),"@site/docs/legacy/v8/basics/blocks-reusable.md",37779],"9f7aca5a":[()=>n.e(10780).then(n.bind(n,67475)),"@site/docs/legacy/v5/basics/helpers.md",67475],a0d23381:[()=>n.e(20845).then(n.bind(n,4420)),"@site/forms/integrations/mailerlite.md",4420],a112d798:[()=>Promise.all([n.e(71869),n.e(15394),n.e(70160)]).then(n.bind(n,11321)),"@site/forms/php/filters/integrations/pipedrive.mdx",11321],a12ac645:[()=>n.e(63500).then(n.bind(n,60570)),"@site/forms/features/multisteps-forms.md",60570],a2947dce:[()=>n.e(35176).then(n.bind(n,94126)),"@site/docs/legacy/v5/basics/blocks.md",94126],a2d3b782:[()=>n.e(63574).then(n.bind(n,7397)),"@site/docs/basics/helpers-javascript.md",7397],a2dbf4e7:[()=>n.e(73114).then(n.bind(n,55761)),"@site/docs/legacy/v4/guides/blocks-block-from-components.md",55761],a374712b:[()=>n.e(2022).then(n.bind(n,46224)),"@site/docs/legacy/v7/basics/rest-route.md",46224],a3a64d88:[()=>n.e(85538).then(n.bind(n,64389)),"@site/forms/features/country-list.md",64389],a45434fa:[()=>n.e(11953).then(n.bind(n,39353)),"@site/forms/php/filters/how-to-use.md",39353],a45b31ec:[()=>n.e(52693).then(n.bind(n,15187)),"@site/docs/migrations/9-10.md",15187],a5081791:[()=>n.e(67199).then(n.t.bind(n,14272,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-fonts-dfb.json",14272],a56ad6f0:[()=>n.e(99726).then(n.bind(n,3584)),"@site/docs/legacy/v8/basics/example-class.md",3584],a6aa9e1f:[()=>Promise.all([n.e(71869),n.e(15394),n.e(3242),n.e(37643)]).then(n.bind(n,48809)),"@theme/BlogListPage",48809],a6d8baa7:[()=>n.e(17129).then(n.t.bind(n,95210,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-terms-b0c.json",95210],a737efbc:[()=>n.e(45473).then(n.bind(n,33496)),"@site/docs/legacy/v4/guides/post-type.md",33496],a7456010:[()=>n.e(61235).then(n.t.bind(n,88552,19)),"@generated/docusaurus-plugin-content-pages/default/__plugin.json",88552],a7bd4aaa:[()=>n.e(67098).then(n.bind(n,74532)),"@theme/DocVersionRoot",74532],a94703ab:[()=>Promise.all([n.e(71869),n.e(79048)]).then(n.bind(n,92559)),"@theme/DocRoot",92559],a97e7f15:[()=>n.e(67036).then(n.bind(n,33083)),"@site/docs/basics/autowiring.md",33083],aa47c437:[()=>n.e(4997).then(n.bind(n,31)),"@site/docs/basics/global-settings.md",31],ab8fc1e5:[()=>n.e(61602).then(n.bind(n,28674)),"@site/docs/legacy/v5/basics/rest-route.md",28674],aba21aa0:[()=>n.e(35742).then(n.t.bind(n,27093,19)),"@generated/docusaurus-plugin-content-docs/default/__plugin.json",27093],ac9ee971:[()=>n.e(33587).then(n.t.bind(n,90863,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-taxonomy-769.json",90863],acecf23e:[()=>n.e(81903).then(n.t.bind(n,1912,19)),"~blog/default/blogMetadata-default.json",1912],acf35250:[()=>n.e(65388).then(n.t.bind(n,13918,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-acf-235.json",13918],ad6305cb:[()=>n.e(81319).then(n.bind(n,65493)),"@site/docs/legacy/v4/guides/i18n.md",65493],adaf2bab:[()=>Promise.all([n.e(71869),n.e(15394),n.e(12976)]).then(n.bind(n,29015)),"@site/forms/php/filters/block/form-selector/additional-content.mdx",29015],adb54813:[()=>n.e(37991).then(n.bind(n,16263)),"@site/blog/2022-03-04-modifying-blocks.md",16263],add2b463:[()=>n.e(68629).then(n.bind(n,30612)),"@site/docs/basics/helpers-php.md",30612],ae06c6f1:[()=>Promise.all([n.e(71869),n.e(15394),n.e(58279)]).then(n.bind(n,37710)),"@site/forms/php/filters/block/rating/additional-content.mdx",37710],ae5745cc:[()=>n.e(59846).then(n.bind(n,60869)),"@site/docs/legacy/v5/basics/writing-styles.md",60869],aebfde4b:[()=>n.e(37074).then(n.bind(n,85731)),"@site/docs/legacy/v7/basics/block-manifest.md",85731],aee4c48a:[()=>n.e(81598).then(n.bind(n,57477)),"@site/forms/integrations/workable.md",57477],af09cb5f:[()=>n.e(68749).then(n.bind(n,89834)),"@site/forms/php/global-variables/integrations/greenhouse.md",89834],af8ed05f:[()=>Promise.all([n.e(71869),n.e(15394),n.e(86610)]).then(n.bind(n,22079)),"@site/forms/php/filters/block/select/additional-content.mdx",22079],af9ac9e0:[()=>n.e(26659).then(n.bind(n,99189)),"@site/forms/php/actions/how-to-use.md",99189],afb6799c:[()=>n.e(12086).then(n.bind(n,67827)),"@site/docs/legacy/v6/basics/blocks-component-manifest.md",67827],afdc90ee:[()=>n.e(48420).then(n.bind(n,89517)),"@site/docs/basics/blocks-hooks.md",89517],b11b48f8:[()=>n.e(94663).then(n.bind(n,51844)),"@site/forms/php/filters/block/form/additional-hidden-fields.md",51844],b22c1dac:[()=>n.e(88873).then(n.bind(n,40619)),"@site/forms/php/filters/block/forms/style-options.md",40619],b31b2138:[()=>n.e(77345).then(n.bind(n,11629)),"@site/docs/basics/tips-tricks.md",11629],b322c2ef:[()=>n.e(49568).then(n.t.bind(n,50407,19)),"@generated/docusaurus-plugin-content-docs/forms/__plugin.json",50407],b3636d59:[()=>n.e(93887).then(n.bind(n,78784)),"@site/docs/legacy/v4/guides/di-container.md",78784],b3760b7c:[()=>n.e(43761).then(n.bind(n,76229)),"@site/forms/php/filters/block/form/data-type-selector.md",76229],b4c9bdc9:[()=>n.e(99195).then(n.bind(n,30574)),"@site/docs/legacy/v6/basics/blocks-hooks.md",30574],b4f7c3fb:[()=>n.e(38194).then(n.bind(n,5765)),"@site/docs/legacy/v6/basics/namespaces.md",5765],b6358757:[()=>Promise.all([n.e(71869),n.e(15394),n.e(84036)]).then(n.bind(n,24886)),"@site/forms/php/filters/integrations/moments.mdx",24886],b64e38ac:[()=>n.e(32967).then(n.bind(n,30537)),"@site/forms/javascript/manual-initiation.md",30537],b6915d5f:[()=>n.e(56251).then(n.bind(n,60721)),"@site/docs/legacy/v7/basics/blocks-storybook.md",60721],b7f27d80:[()=>n.e(10527).then(n.bind(n,83446)),"@site/forms/addons/premium/intro.md",83446],b8283c8e:[()=>Promise.all([n.e(71869),n.e(15394),n.e(83540)]).then(n.bind(n,34535)),"@site/forms/php/filters/block/radios/additional-content.mdx",34535],b8b55b85:[()=>n.e(27062).then(n.bind(n,45033)),"@site/forms/integrations/hubspot.md",45033],b8b9d8e8:[()=>n.e(15553).then(n.bind(n,20473)),"@site/docs/legacy/v5/basics/webpack.md",20473],b9355076:[()=>n.e(8824).then(n.bind(n,4227)),"@site/docs/legacy/v8/basics/backend.md",4227],ba4d70ca:[()=>n.e(5377).then(n.bind(n,47886)),"@site/docs/legacy/v7/basics/browser-sync.md",47886],bacc15ea:[()=>n.e(71338).then(n.bind(n,8587)),"@site/forms/features/result-output.md",8587],bb95e167:[()=>n.e(92698).then(n.bind(n,5906)),"@site/docs/legacy/v8/basics/dynamic-import.md",5906],bb98611a:[()=>n.e(66613).then(n.bind(n,61803)),"@site/docs/additional-libraries/coding-standards.md",61803],bc5075fb:[()=>n.e(95561).then(n.bind(n,98471)),"@site/docs/legacy/v7/basics/global-settings.md",98471],bc8a7ae5:[()=>n.e(56661).then(n.bind(n,43321)),"@site/docs/legacy/v6/basics/basics-intro.md",43321],bca46e3f:[()=>n.e(36173).then(n.bind(n,54117)),"@site/blog/2022-12-13-using-cpts-and-taxonomies.md?truncated=true",54117],bcdc9a5c:[()=>n.e(72947).then(n.bind(n,46826)),"@site/docs/legacy/v6/basics/blocks-styles.md",46826],bce2f7e5:[()=>n.e(2872).then(n.bind(n,4786)),"@site/docs/legacy/v6/basics/blocks-storybook.md",4786],be197d78:[()=>n.e(726).then(n.bind(n,45313)),"@site/blog/2023-08-03-adding-custom-query.md",45313],be937143:[()=>n.e(57515).then(n.bind(n,75688)),"@site/forms/php/filters/enrichment/manual-map.md",75688],beb2a160:[()=>Promise.all([n.e(71869),n.e(15394),n.e(70332)]).then(n.bind(n,92021)),"@site/forms/php/filters/block/file/additional-content.mdx",92021],bf7018cf:[()=>n.e(41506).then(n.bind(n,60292)),"@site/docs/legacy/v4/advanced/components-color-palette.md",60292],bff0bad2:[()=>n.e(80824).then(n.bind(n,87067)),"@site/forms/php/filters/block/form/success-redirect-variation-options.md",87067],c0779e58:[()=>n.e(13809).then(n.t.bind(n,57108,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-plugins-0a9.json",57108],c0da0a5f:[()=>n.e(84915).then(n.t.bind(n,62686,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-components-279.json",62686],c141421f:[()=>n.e(80957).then(n.t.bind(n,40936,19)),"@generated/docusaurus-theme-search-algolia/default/__plugin.json",40936],c15d2dfd:[()=>n.e(4292).then(n.bind(n,19548)),"@site/docs/tutorials/intro.md",19548],c2a527e7:[()=>n.e(10287).then(n.bind(n,26447)),"@site/docs/legacy/v8/basics/frontend.md",26447],c3122f65:[()=>n.e(41835).then(n.bind(n,60423)),"@site/docs/legacy/v8/basics/blocks-component-in-block.md",60423],c344252c:[()=>n.e(79643).then(n.bind(n,32715)),"@site/forms/php/global-variables/integrations/jira.md",32715],c361232e:[()=>n.e(83708).then(n.bind(n,72431)),"@site/docs/legacy/v6/basics/blocks-patterns.md",72431],c38062b9:[()=>Promise.all([n.e(71869),n.e(15394),n.e(97686)]).then(n.bind(n,74896)),"@site/forms/php/filters/integrations/hubspot.mdx",74896],c38fd7bd:[()=>n.e(3518).then(n.bind(n,55305)),"@site/blog/2022-05-10-acf-in-a-project.md",55305],c4f5d8e4:[()=>n.e(52634).then(n.bind(n,30192)),"@site/src/pages/index.js",30192],c55525a9:[()=>n.e(17996).then(n.bind(n,94309)),"@site/docs/legacy/v4/guides/rest-field-example.md",94309],c62d4947:[()=>n.e(54752).then(n.bind(n,36010)),"@site/docs/basics/fonts.md",36010],c661d3f1:[()=>n.e(87843).then(n.bind(n,91291)),"@site/docs/basics/block-manifest.md",91291],c6cd348e:[()=>n.e(82729).then(n.bind(n,89780)),"@site/docs/legacy/v7/basics/blocks-registration.md",89780],c72fb457:[()=>n.e(33839).then(n.bind(n,6561)),"@site/docs/legacy/v5/basics/block-manifest.md",6561],c78f4965:[()=>n.e(61593).then(n.bind(n,99748)),"@site/forms/php/filters/block/form/tracking-event-name.md",99748],c7fa2f29:[()=>n.e(75149).then(n.bind(n,73584)),"@site/docs/legacy/v5/basics/wp-cli.md",73584],c80bf43d:[()=>n.e(60743).then(n.bind(n,64130)),"@site/blog/2023-09-05-wrapper-as-a-standalone-component.md?truncated=true",64130],c9815f8a:[()=>n.e(96390).then(n.bind(n,36189)),"@site/forms/php/global-variables/integrations/mailchimp.md",36189],c9f06a2a:[()=>n.e(96541).then(n.bind(n,32881)),"@site/forms/php/filters/block/form/global-msg-headings.md",32881],ca69ab29:[()=>n.e(18766).then(n.bind(n,18006)),"@site/docs/legacy/v7/basics/helpers-scss.md",18006],cb3c2681:[()=>n.e(94835).then(n.bind(n,53404)),"@site/docs/legacy/v6/basics/dynamic-import.md",53404],cb7a22d0:[()=>Promise.all([n.e(71869),n.e(15394),n.e(96980)]).then(n.bind(n,79356)),"@site/forms/javascript/state/step.mdx",79356],ccc49370:[()=>Promise.all([n.e(71869),n.e(15394),n.e(3242),n.e(83249)]).then(n.bind(n,96654)),"@theme/BlogPostPage",96654],ccea3a4d:[()=>n.e(52375).then(n.bind(n,60673)),"@site/docs/legacy/v7/basics/block-structure.md",60673],cd521b29:[()=>n.e(97817).then(n.bind(n,77927)),"@site/blog/2023-06-12-multiple-same-components.md",77927],ce0a947c:[()=>n.e(7243).then(n.bind(n,1419)),"@site/docs/legacy/v8/basics/browser-sync.md",1419],ce4b3df7:[()=>n.e(94417).then(n.bind(n,47093)),"@site/docs/legacy/v4/guides/media.md",47093],ce7d450a:[()=>n.e(18122).then(n.bind(n,84938)),"@site/docs/basics/blocks-wrapper.md",84938],cec206a7:[()=>n.e(88142).then(n.bind(n,51704)),"@site/docs/legacy/v8/basics/blocks-storybook.md",51704],cf4609e7:[()=>n.e(22383).then(n.bind(n,73937)),"@site/docs/legacy/v6/basics/blocks-component-in-block.md",73937],cf91d205:[()=>n.e(94261).then(n.bind(n,67347)),"@site/forms/addons/free/intro.md",67347],cfae12a4:[()=>Promise.all([n.e(71869),n.e(15394),n.e(96328)]).then(n.bind(n,64351)),"@site/forms/php/filters/block/submit/additional-content.mdx",64351],cfb00690:[()=>n.e(96015).then(n.t.bind(n,99290,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-blocks-4f6.json",99290],d0301901:[()=>Promise.all([n.e(71869),n.e(15394),n.e(67921)]).then(n.bind(n,95859)),"@site/forms/php/filters/block/input/additional-content.mdx",95859],d0b1075b:[()=>n.e(98466).then(n.bind(n,43044)),"@site/forms/integrations/clearbit.md",43044],d0c63040:[()=>n.e(125).then(n.bind(n,66755)),"@site/blog/2023-08-03-adding-custom-query.md?truncated=true",66755],d0ecf97a:[()=>n.e(22292).then(n.bind(n,31028)),"@site/forms/php/filters/general/locale.md",31028],d136d263:[()=>Promise.all([n.e(71869),n.e(15394),n.e(44370)]).then(n.bind(n,10156)),"@site/forms/javascript/state/form.mdx",10156],d14f8ee5:[()=>n.e(48955).then(n.bind(n,54932)),"@site/docs/basics/blocks-attributes.md",54932],d1a0cea3:[()=>n.e(54077).then(n.bind(n,14966)),"@site/docs/basics/browser-sync.md",14966],d28f320b:[()=>n.e(64978).then(n.bind(n,90927)),"@site/forms/php/filters/integrations/clearbit.md",90927],d3930d00:[()=>n.e(73356).then(n.bind(n,18224)),"@site/forms/php/filters/geolocation/db-location.md",18224],d5c4c4ae:[()=>n.e(82316).then(n.bind(n,77280)),"@site/forms/integrations/intro.mdx",77280],d5f39101:[()=>n.e(12084).then(n.bind(n,88785)),"@site/docs/legacy/v5/basics/blocks-styles.md",88785],d6a42b72:[()=>n.e(74929).then(n.bind(n,13681)),"@site/docs/legacy/v8/basics/blocks-patterns.md",13681],d7756765:[()=>n.e(46578).then(n.bind(n,26465)),"@site/docs/legacy/v7/basics/blocks-faq.md",26465],d817bad3:[()=>n.e(16323).then(n.bind(n,63121)),"@site/forms/javascript/events/available-events.mdx",63121],d845213b:[()=>n.e(8150).then(n.bind(n,86373)),"@site/docs/legacy/v7/basics/rest-field.md",86373],d88895d1:[()=>n.e(65024).then(n.bind(n,92357)),"@site/docs/legacy/v4/advanced/browsersync.md",92357],da20989d:[()=>n.e(80536).then(n.bind(n,69269)),"@site/docs/additional-libraries/stubs.md",69269],da81302a:[()=>n.e(53721).then(n.bind(n,94651)),"@site/docs/basics/manifest.md",94651],daf8bbf9:[()=>n.e(35175).then(n.bind(n,80529)),"@site/blog/2022-09-07-block-variations.md?truncated=true",80529],db6287e5:[()=>n.e(89940).then(n.bind(n,57022)),"@site/docs/legacy/v7/basics/blocks-component-manifest.md",57022],db98aa0c:[()=>n.e(55923).then(n.bind(n,1710)),"@site/docs/legacy/v5/basics/blocks-registration.md",1710],dba7b2ae:[()=>n.e(59483).then(n.t.bind(n,54855,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-taxonomies-862.json",54855],dbd7356d:[()=>n.e(10572).then(n.bind(n,38123)),"@site/forms/integrations/moments.md",38123],dbfa0beb:[()=>n.e(70073).then(n.bind(n,47413)),"@site/forms/features/tracking.md",47413],dc28c8db:[()=>Promise.all([n.e(71869),n.e(15394),n.e(29629)]).then(n.bind(n,65584)),"@site/forms/javascript/state/conditional-tags.mdx",65584],dc46868d:[()=>n.e(85176).then(n.bind(n,70607)),"@site/docs/legacy/v6/basics/rest-route.md",70607],dc5b4777:[()=>Promise.all([n.e(23271),n.e(22864)]).then(n.bind(n,99680)),"@site/src/pages/devkit-components.js",99680],dd059938:[()=>n.e(50261).then(n.bind(n,15419)),"@site/docs/basics/library.md",15419],ddb69969:[()=>n.e(31438).then(n.bind(n,11712)),"@site/forms/features/cloudflare.md",11712],de657462:[()=>n.e(48608).then(n.bind(n,99483)),"@site/docs/additional-libraries/boilerplate.md",99483],dea8b3ed:[()=>n.e(78547).then(n.bind(n,82409)),"@site/forms/php/filters/scripts/dependency-admin.md",82409],e00f1d66:[()=>n.e(32173).then(n.bind(n,30041)),"@site/blog/2022-03-04-modifying-blocks.md?truncated=true",30041],e0b2cb26:[()=>Promise.all([n.e(71869),n.e(15394),n.e(85891)]).then(n.bind(n,40361)),"@site/forms/php/filters/integrations/calculator.mdx",40361],e110487c:[()=>n.e(37752).then(n.bind(n,88696)),"@site/docs/basics/rest.md",88696],e12d4719:[()=>n.e(32046).then(n.bind(n,7557)),"@site/docs/legacy/v4/guides/blocks-render-block-view-helper.md",7557],e18eec83:[()=>n.e(53883).then(n.bind(n,30953)),"@site/forms/php/filters/block/country/alternative-data-set.md",30953],e1f747d9:[()=>n.e(98542).then(n.bind(n,60013)),"@site/docs/legacy/v8/basics/rest-route.md",60013],e37577e1:[()=>n.e(51331).then(n.bind(n,89863)),"@site/forms/features/labels.md",89863],e3792bbb:[()=>n.e(71336).then(n.bind(n,95190)),"@site/docs/migrations/7-8.md",95190],e4399142:[()=>n.e(27688).then(n.bind(n,42023)),"@site/docs/legacy/v4/guides/blocks-structure.md",42023],e4932c64:[()=>n.e(43635).then(n.bind(n,77043)),"@site/forms/addons/create/addon-boilerplate.md",77043],e4e082a8:[()=>n.e(83990).then(n.t.bind(n,53747,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-advanced-custom-fields-ef6.json",53747],e6326b0c:[()=>n.e(44390).then(n.bind(n,31435)),"@site/docs/legacy/v8/basics/blocks-attributes.md",31435],e71b04e6:[()=>n.e(31535).then(n.bind(n,88907)),"@site/docs/legacy/v7/basics/dynamic-import.md",88907],e7328bb1:[()=>n.e(23101).then(n.bind(n,23462)),"@site/docs/legacy/v5/basics/blocks-special-use-cases.md",23462],e79e64be:[()=>n.e(93244).then(n.bind(n,30243)),"@site/docs/basics/blocks-important.md",30243],e801e723:[()=>n.e(70652).then(n.bind(n,14193)),"@site/blog/2022-12-22-block-patterns.md",14193],e8854f45:[()=>n.e(34054).then(n.bind(n,82311)),"@site/forms/first-form.mdx",82311],e8903528:[()=>n.e(57865).then(n.bind(n,21757)),"@site/docs/legacy/v5/basics/blocks-important.md",21757],e8a4c7be:[()=>n.e(23738).then(n.bind(n,60233)),"@site/docs/migrations/5-6.md",60233],e8ce9e6f:[()=>n.e(76718).then(n.t.bind(n,24197,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-classes-074.json",24197],e90b4b34:[()=>n.e(25632).then(n.bind(n,95034)),"@site/docs/legacy/v5/basics/rest.md",95034],e93eaee1:[()=>n.e(5017).then(n.bind(n,85784)),"@site/forms/addons/premium/computed-fields/how-to-use.md",85784],e97e5233:[()=>n.e(57594).then(n.t.bind(n,11574,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-eightshift-page-2-541.json",11574],e9beab12:[()=>n.e(746).then(n.bind(n,24664)),"@site/docs/basics/blocks-component-in-block.md",24664],ea645227:[()=>n.e(12279).then(n.bind(n,27940)),"@site/docs/legacy/v8/basics/blocks-faq.md",27940],eaffcef6:[()=>n.e(31357).then(n.bind(n,62776)),"@site/forms/php/global-variables/integrations/active-campaign.md",62776],ebfee794:[()=>n.e(94386).then(n.bind(n,33414)),"@site/docs/welcome.md",33414],ec5d0804:[()=>n.e(75292).then(n.bind(n,74384)),"@site/docs/legacy/v4/guides/columns-user.md",74384],ecf43748:[()=>n.e(72379).then(n.bind(n,75529)),"@site/docs/legacy/v8/basics/rest.md",75529],ed3575d5:[()=>n.e(28233).then(n.bind(n,62579)),"@site/docs/legacy/v5/basics/blocks-hooks.md",62579],ed480930:[()=>n.e(60536).then(n.bind(n,4672)),"@site/docs/legacy/v8/basics/webpack.md",4672],ee1ed8c4:[()=>n.e(83546).then(n.bind(n,10681)),"@site/docs/legacy/v7/versions.md",10681],ee924e36:[()=>n.e(1070).then(n.bind(n,4988)),"@site/docs/legacy/v7/basics/helpers-php.md",4988],ef02483f:[()=>n.e(31671).then(n.bind(n,32176)),"@site/docs/legacy/v5/basics/blocks-patterns.md",32176],efbb6268:[()=>n.e(8264).then(n.bind(n,12382)),"@site/blog/2022-01-20-initial-setup.md?truncated=true",12382],f00dda52:[()=>n.e(72821).then(n.bind(n,42445)),"@site/docs/legacy/v7/basics/helpers-javascript.md",42445],f0b5617d:[()=>n.e(90172).then(n.bind(n,39860)),"@site/docs/legacy/v5/basics/blocks-wrapper.md",39860],f0ebaa7e:[()=>n.e(63166).then(n.bind(n,21856)),"@site/docs/migrations/6-7.md",21856],f0f0c9e0:[()=>n.e(63900).then(n.bind(n,1041)),"@site/forms/php/filters/block/step/component-next.md",1041],f17f4e68:[()=>n.e(55888).then(n.bind(n,60439)),"@site/forms/php/shortcodes.md",60439],f1a7576f:[()=>n.e(10120).then(n.bind(n,25010)),"@site/forms/features/entries.md",25010],f218f265:[()=>n.e(9687).then(n.bind(n,23097)),"@site/forms/features/migrations.md",23097],f26f0cdb:[()=>n.e(2998).then(n.bind(n,97553)),"@site/docs/legacy/v4/advanced/helpers-shortcode.md",97553],f34f869b:[()=>n.e(2107).then(n.bind(n,89598)),"@site/forms/php/filters/block/form/tracking-additional-data.md",89598],f407a811:[()=>n.e(75659).then(n.bind(n,86444)),"@site/docs/legacy/v7/basics/example-class.md",86444],f4a6cc60:[()=>n.e(27508).then(n.bind(n,92848)),"@site/src/pages/showcase-infinum.js",92848],f5d62c05:[()=>n.e(36334).then(n.bind(n,72174)),"@site/docs/legacy/v6/basics/webpack.md",72174],f880b41b:[()=>n.e(56142).then(n.bind(n,74943)),"@site/blog/2022-09-07-block-variations.md",74943],f8bbda75:[()=>n.e(54260).then(n.bind(n,51731)),"@site/docs/basics/dynamic-import.md",51731],f8d85197:[()=>n.e(64955).then(n.bind(n,73257)),"@site/docs/legacy/v4/guides/fonts-icon.md",73257],f92290a0:[()=>n.e(66660).then(n.bind(n,51523)),"@site/forms/php/filters/admin/settings-data.md",51523],f92772a6:[()=>n.e(86207).then(n.bind(n,27453)),"@site/docs/legacy/v4/guides/blocks-structure-manifest.md",27453],fae9d50a:[()=>n.e(46150).then(n.bind(n,1676)),"@site/forms/php/global-variables/google-recaptcha.md",1676],fbd7f063:[()=>n.e(89139).then(n.bind(n,50087)),"@site/docs/legacy/v8/basics/helpers-scss.md",50087],fbe6399d:[()=>n.e(51093).then(n.bind(n,17798)),"@site/docs/legacy/v4/guides/menu.md",17798],fbe7d2e8:[()=>n.e(66670).then(n.bind(n,76015)),"@site/docs/legacy/v5/basics/extending-classes.md",76015],fce92293:[()=>n.e(67812).then(n.bind(n,23122)),"@site/docs/legacy/v5/basics/blocks-component-in-block.md",23122],fd21cc65:[()=>n.e(6551).then(n.bind(n,17401)),"@site/docs/legacy/v5/basics/example-class.md",17401],fd4ea388:[()=>n.e(88412).then(n.bind(n,54091)),"@site/docs/legacy/v5/versions.md",54091],fd6d4018:[()=>n.e(5440).then(n.bind(n,65446)),"@site/docs/legacy/v8/basics/tips-tricks.md",65446],fda35176:[()=>n.e(20140).then(n.bind(n,22989)),"@site/forms/php/filters/block/form/pre-response-success-redirect-data.md",22989],fdc13b44:[()=>n.e(19646).then(n.bind(n,28354)),"@site/docs/legacy/v8/basics/autowiring.md",28354],fea00b33:[()=>n.e(20031).then(n.bind(n,50446)),"@site/docs/basics/helpers-scss.md",50446],ff445556:[()=>Promise.all([n.e(71869),n.e(15394),n.e(82368)]).then(n.bind(n,85099)),"@site/forms/php/filters/block/phone/additional-content.mdx",85099]};var i=n(74848);function c(e){let{error:t,retry:n,pastDelay:s}=e;return t?(0,i.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,i.jsx)("p",{children:String(t)}),(0,i.jsx)("div",{children:(0,i.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):s?(0,i.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,i.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,i.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,i.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,i.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,i.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,i.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,i.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,i.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,i.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,i.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,i.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,i.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var l=n(86921),d=n(53102);function u(e,t){if("*"===e)return o()({loading:c,loader:()=>n.e(82237).then(n.bind(n,82237)),modules:["@theme/NotFound"],webpack:()=>[82237],render(e,t){const n=e.default;return(0,i.jsx)(d.W,{value:{plugin:{name:"native",id:"default"}},children:(0,i.jsx)(n,{...t})})}});const s=a[`${e}-${t}`],u={},p=[],f=[],b=(0,l.A)(s);return Object.entries(b).forEach((e=>{let[t,n]=e;const s=r[n];s&&(u[t]=s[0],p.push(s[1]),f.push(s[2]))})),o().Map({loading:c,loader:u,modules:p,webpack:()=>f,render(t,n){const o=JSON.parse(JSON.stringify(s));Object.entries(t).forEach((t=>{let[n,s]=t;const a=s.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(s).filter((e=>"default"!==e)).forEach((e=>{a[e]=s[e]}));let r=o;const i=n.split(".");i.slice(0,-1).forEach((e=>{r=r[e]})),r[i[i.length-1]]=a}));const a=o.__comp;delete o.__comp;const r=o.__context;delete o.__context;const c=o.__props;return delete o.__props,(0,i.jsx)(d.W,{value:r,children:(0,i.jsx)(a,{...o,...c,...n})})}})}const p=[{path:"/blog",component:u("/blog","91f"),exact:!0},{path:"/blog/acf-in-a-project",component:u("/blog/acf-in-a-project","255"),exact:!0},{path:"/blog/adding-blocks-wpcli",component:u("/blog/adding-blocks-wpcli","90e"),exact:!0},{path:"/blog/adding-fonts",component:u("/blog/adding-fonts","cc9"),exact:!0},{path:"/blog/archive",component:u("/blog/archive","245"),exact:!0},{path:"/blog/block-patterns",component:u("/blog/block-patterns","0e8"),exact:!0},{path:"/blog/block-variations",component:u("/blog/block-variations","f90"),exact:!0},{path:"/blog/components-and-blocks",component:u("/blog/components-and-blocks","2f2"),exact:!0},{path:"/blog/initial-setup",component:u("/blog/initial-setup","c30"),exact:!0},{path:"/blog/making-your-project-multilingual",component:u("/blog/making-your-project-multilingual","046"),exact:!0},{path:"/blog/modifying-blocks-color-theme",component:u("/blog/modifying-blocks-color-theme","467"),exact:!0},{path:"/blog/multiple-same-components",component:u("/blog/multiple-same-components","16a"),exact:!0},{path:"/blog/page/2",component:u("/blog/page/2","a68"),exact:!0},{path:"/blog/tags",component:u("/blog/tags","4c4"),exact:!0},{path:"/blog/tags/acf",component:u("/blog/tags/acf","427"),exact:!0},{path:"/blog/tags/advanced-custom-fields",component:u("/blog/tags/advanced-custom-fields","bed"),exact:!0},{path:"/blog/tags/assets",component:u("/blog/tags/assets","31a"),exact:!0},{path:"/blog/tags/block",component:u("/blog/tags/block","756"),exact:!0},{path:"/blog/tags/blocks",component:u("/blog/tags/blocks","fdc"),exact:!0},{path:"/blog/tags/boilerplate",component:u("/blog/tags/boilerplate","2d4"),exact:!0},{path:"/blog/tags/boilerplate/page/2",component:u("/blog/tags/boilerplate/page/2","b92"),exact:!0},{path:"/blog/tags/class",component:u("/blog/tags/class","c3e"),exact:!0},{path:"/blog/tags/classes",component:u("/blog/tags/classes","2b8"),exact:!0},{path:"/blog/tags/colors",component:u("/blog/tags/colors","250"),exact:!0},{path:"/blog/tags/components",component:u("/blog/tags/components","c84"),exact:!0},{path:"/blog/tags/cpt",component:u("/blog/tags/cpt","66f"),exact:!0},{path:"/blog/tags/custom-post-type",component:u("/blog/tags/custom-post-type","07a"),exact:!0},{path:"/blog/tags/eightshift",component:u("/blog/tags/eightshift","afb"),exact:!0},{path:"/blog/tags/eightshift/page/2",component:u("/blog/tags/eightshift/page/2","172"),exact:!0},{path:"/blog/tags/fonts",component:u("/blog/tags/fonts","65b"),exact:!0},{path:"/blog/tags/i-18-n",component:u("/blog/tags/i-18-n","fad"),exact:!0},{path:"/blog/tags/icons",component:u("/blog/tags/icons","c62"),exact:!0},{path:"/blog/tags/images",component:u("/blog/tags/images","744"),exact:!0},{path:"/blog/tags/inner-blocks",component:u("/blog/tags/inner-blocks","85e"),exact:!0},{path:"/blog/tags/multilingual",component:u("/blog/tags/multilingual","58d"),exact:!0},{path:"/blog/tags/patterns",component:u("/blog/tags/patterns","c7b"),exact:!0},{path:"/blog/tags/plugins",component:u("/blog/tags/plugins","479"),exact:!0},{path:"/blog/tags/query",component:u("/blog/tags/query","c5a"),exact:!0},{path:"/blog/tags/service",component:u("/blog/tags/service","0e3"),exact:!0},{path:"/blog/tags/setup",component:u("/blog/tags/setup","003"),exact:!0},{path:"/blog/tags/taxonomies",component:u("/blog/tags/taxonomies","969"),exact:!0},{path:"/blog/tags/taxonomy",component:u("/blog/tags/taxonomy","3e8"),exact:!0},{path:"/blog/tags/templates",component:u("/blog/tags/templates","0ef"),exact:!0},{path:"/blog/tags/terms",component:u("/blog/tags/terms","2b9"),exact:!0},{path:"/blog/tags/theme-options",component:u("/blog/tags/theme-options","79e"),exact:!0},{path:"/blog/tags/variations",component:u("/blog/tags/variations","eec"),exact:!0},{path:"/blog/tags/wpcli",component:u("/blog/tags/wpcli","cd0"),exact:!0},{path:"/blog/tags/wrapper",component:u("/blog/tags/wrapper","812"),exact:!0},{path:"/blog/tips-useful-features",component:u("/blog/tips-useful-features","926"),exact:!0},{path:"/blog/using-assets",component:u("/blog/using-assets","30d"),exact:!0},{path:"/blog/using-cpts-and-taxonomies",component:u("/blog/using-cpts-and-taxonomies","330"),exact:!0},{path:"/blog/using-inner-blocks",component:u("/blog/using-inner-blocks","2a3"),exact:!0},{path:"/blog/using-post-templates",component:u("/blog/using-post-templates","e11"),exact:!0},{path:"/blog/working-with-custom-queries",component:u("/blog/working-with-custom-queries","08b"),exact:!0},{path:"/blog/wrapper-as-a-standalone-component",component:u("/blog/wrapper-as-a-standalone-component","646"),exact:!0},{path:"/devkit-components",component:u("/devkit-components","a51"),exact:!0},{path:"/playground",component:u("/playground","4ec"),exact:!0},{path:"/search",component:u("/search","5de"),exact:!0},{path:"/showcase",component:u("/showcase","523"),exact:!0},{path:"/showcase-infinum",component:u("/showcase-infinum","451"),exact:!0},{path:"/docs",component:u("/docs","bfc"),routes:[{path:"/docs",component:u("/docs","a8c"),routes:[{path:"/docs",component:u("/docs","2ed"),routes:[{path:"/docs/additional-libraries/boilerplate",component:u("/docs/additional-libraries/boilerplate","415"),exact:!0,sidebar:"docs"},{path:"/docs/additional-libraries/boilerplate-plugin",component:u("/docs/additional-libraries/boilerplate-plugin","572"),exact:!0,sidebar:"docs"},{path:"/docs/additional-libraries/coding-standards",component:u("/docs/additional-libraries/coding-standards","3f7"),exact:!0,sidebar:"docs"},{path:"/docs/additional-libraries/docs",component:u("/docs/additional-libraries/docs","690"),exact:!0,sidebar:"docs"},{path:"/docs/additional-libraries/forms",component:u("/docs/additional-libraries/forms","ef7"),exact:!0,sidebar:"docs"},{path:"/docs/additional-libraries/frontend-libs",component:u("/docs/additional-libraries/frontend-libs","ed2"),exact:!0,sidebar:"docs"},{path:"/docs/additional-libraries/libs",component:u("/docs/additional-libraries/libs","bb5"),exact:!0,sidebar:"docs"},{path:"/docs/additional-libraries/storybook",component:u("/docs/additional-libraries/storybook","de5"),exact:!0,sidebar:"docs"},{path:"/docs/additional-libraries/stubs",component:u("/docs/additional-libraries/stubs","37d"),exact:!0,sidebar:"docs"},{path:"/docs/basics/architecture-concepts",component:u("/docs/basics/architecture-concepts","369"),exact:!0,sidebar:"docs"},{path:"/docs/basics/autowiring",component:u("/docs/basics/autowiring","7b2"),exact:!0,sidebar:"docs"},{path:"/docs/basics/backend",component:u("/docs/basics/backend","208"),exact:!0,sidebar:"docs"},{path:"/docs/basics/basics-intro",component:u("/docs/basics/basics-intro","5ef"),exact:!0,sidebar:"docs"},{path:"/docs/basics/block-manifest",component:u("/docs/basics/block-manifest","e79"),exact:!0,sidebar:"docs"},{path:"/docs/basics/block-structure",component:u("/docs/basics/block-structure","07d"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks",component:u("/docs/basics/blocks","11f"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-attributes",component:u("/docs/basics/blocks-attributes","af2"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-component-in-block",component:u("/docs/basics/blocks-component-in-block","192"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-component-manifest",component:u("/docs/basics/blocks-component-manifest","e1e"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-component-structure",component:u("/docs/basics/blocks-component-structure","303"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-faq",component:u("/docs/basics/blocks-faq","b30"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-global-manifest",component:u("/docs/basics/blocks-global-manifest","f33"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-hooks",component:u("/docs/basics/blocks-hooks","94b"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-important",component:u("/docs/basics/blocks-important","5d6"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-patterns",component:u("/docs/basics/blocks-patterns","960"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-registration",component:u("/docs/basics/blocks-registration","f7c"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-reusable",component:u("/docs/basics/blocks-reusable","dd9"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-special-use-cases",component:u("/docs/basics/blocks-special-use-cases","08d"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-storybook",component:u("/docs/basics/blocks-storybook","085"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-structure",component:u("/docs/basics/blocks-structure","cf0"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-styles",component:u("/docs/basics/blocks-styles","ead"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-transforms",component:u("/docs/basics/blocks-transforms","676"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-variations",component:u("/docs/basics/blocks-variations","b5c"),exact:!0,sidebar:"docs"},{path:"/docs/basics/blocks-wrapper",component:u("/docs/basics/blocks-wrapper","0ba"),exact:!0,sidebar:"docs"},{path:"/docs/basics/browser-sync",component:u("/docs/basics/browser-sync","bc7"),exact:!0,sidebar:"docs"},{path:"/docs/basics/dynamic-import",component:u("/docs/basics/dynamic-import","572"),exact:!0,sidebar:"docs"},{path:"/docs/basics/example-class",component:u("/docs/basics/example-class","6fc"),exact:!0,sidebar:"docs"},{path:"/docs/basics/extending-classes",component:u("/docs/basics/extending-classes","d49"),exact:!0,sidebar:"docs"},{path:"/docs/basics/fonts",component:u("/docs/basics/fonts","8ad"),exact:!0,sidebar:"docs"},{path:"/docs/basics/frontend",component:u("/docs/basics/frontend","5cf"),exact:!0,sidebar:"docs"},{path:"/docs/basics/global-settings",component:u("/docs/basics/global-settings","d51"),exact:!0,sidebar:"docs"},{path:"/docs/basics/helpers",component:u("/docs/basics/helpers","090"),exact:!0,sidebar:"docs"},{path:"/docs/basics/helpers-javascript",component:u("/docs/basics/helpers-javascript","4aa"),exact:!0,sidebar:"docs"},{path:"/docs/basics/helpers-php",component:u("/docs/basics/helpers-php","208"),exact:!0,sidebar:"docs"},{path:"/docs/basics/helpers-scss",component:u("/docs/basics/helpers-scss","ecb"),exact:!0,sidebar:"docs"},{path:"/docs/basics/library",component:u("/docs/basics/library","c60"),exact:!0,sidebar:"docs"},{path:"/docs/basics/manifest",component:u("/docs/basics/manifest","7b6"),exact:!0,sidebar:"docs"},{path:"/docs/basics/namespaces",component:u("/docs/basics/namespaces","8b9"),exact:!0,sidebar:"docs"},{path:"/docs/basics/rest",component:u("/docs/basics/rest","a66"),exact:!0,sidebar:"docs"},{path:"/docs/basics/rest-field",component:u("/docs/basics/rest-field","556"),exact:!0,sidebar:"docs"},{path:"/docs/basics/rest-route",component:u("/docs/basics/rest-route","833"),exact:!0,sidebar:"docs"},{path:"/docs/basics/tips-tricks",component:u("/docs/basics/tips-tricks","cd6"),exact:!0,sidebar:"docs"},{path:"/docs/basics/webpack",component:u("/docs/basics/webpack","311"),exact:!0,sidebar:"docs"},{path:"/docs/basics/wp-cli",component:u("/docs/basics/wp-cli","1b9"),exact:!0,sidebar:"docs"},{path:"/docs/basics/writing-styles",component:u("/docs/basics/writing-styles","c33"),exact:!0,sidebar:"docs"},{path:"/docs/crash-course/intro",component:u("/docs/crash-course/intro","b05"),exact:!0,sidebar:"docs"},{path:"/docs/eightshift-frontend-libs",component:u("/docs/eightshift-frontend-libs","4c7"),exact:!0,sidebar:"docs"},{path:"/docs/eightshift-libs",component:u("/docs/eightshift-libs","653"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/advanced/browsersync",component:u("/docs/legacy/v4/advanced/browsersync","dce"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/advanced/components-color-palette",component:u("/docs/legacy/v4/advanced/components-color-palette","9de"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/advanced/components-heading-level",component:u("/docs/legacy/v4/advanced/components-heading-level","e03"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/advanced/docs-sass",component:u("/docs/legacy/v4/advanced/docs-sass","bb0"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/advanced/helpers-aliases-helpers",component:u("/docs/legacy/v4/advanced/helpers-aliases-helpers","f74"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/advanced/helpers-components-helpers",component:u("/docs/legacy/v4/advanced/helpers-components-helpers","0dd"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/advanced/helpers-error-logger-helpers",component:u("/docs/legacy/v4/advanced/helpers-error-logger-helpers","c39"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/advanced/helpers-object-helpers",component:u("/docs/legacy/v4/advanced/helpers-object-helpers","ae8"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/advanced/helpers-shortcode-helpers",component:u("/docs/legacy/v4/advanced/helpers-shortcode-helpers","8da"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/advanced/webpack",component:u("/docs/legacy/v4/advanced/webpack","a16"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/blocks-block-from-components",component:u("/docs/legacy/v4/guides/blocks-block-from-components","742"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/blocks-filter-block-attributes-override",component:u("/docs/legacy/v4/guides/blocks-filter-block-attributes-override","7a3"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/blocks-get-actions-helper",component:u("/docs/legacy/v4/guides/blocks-get-actions-helper","5a2"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/blocks-registration",component:u("/docs/legacy/v4/guides/blocks-registration","51d"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/blocks-render-block-view-helper",component:u("/docs/legacy/v4/guides/blocks-render-block-view-helper","730"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/blocks-structure",component:u("/docs/legacy/v4/guides/blocks-structure","9bb"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/blocks-structure-block-item",component:u("/docs/legacy/v4/guides/blocks-structure-block-item","be1"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/blocks-structure-component",component:u("/docs/legacy/v4/guides/blocks-structure-component","65c"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/blocks-structure-manifest",component:u("/docs/legacy/v4/guides/blocks-structure-manifest","82a"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/columns-post-type",component:u("/docs/legacy/v4/guides/columns-post-type","042"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/columns-taxonomy",component:u("/docs/legacy/v4/guides/columns-taxonomy","4f7"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/columns-user",component:u("/docs/legacy/v4/guides/columns-user","325"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/config",component:u("/docs/legacy/v4/guides/config","f38"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/di-container",component:u("/docs/legacy/v4/guides/di-container","fae"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/enqueue",component:u("/docs/legacy/v4/guides/enqueue","4c0"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/extending-classes",component:u("/docs/legacy/v4/guides/extending-classes","01a"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/fonts-custom",component:u("/docs/legacy/v4/guides/fonts-custom","b05"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/fonts-icon",component:u("/docs/legacy/v4/guides/fonts-icon","4fe"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/i18n",component:u("/docs/legacy/v4/guides/i18n","e23"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/login",component:u("/docs/legacy/v4/guides/login","e1d"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/manifest",component:u("/docs/legacy/v4/guides/manifest","054"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/media",component:u("/docs/legacy/v4/guides/media","7ab"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/menu",component:u("/docs/legacy/v4/guides/menu","eeb"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/post-type",component:u("/docs/legacy/v4/guides/post-type","9ca"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/rest-field-example",component:u("/docs/legacy/v4/guides/rest-field-example","4d3"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/rest-intro",component:u("/docs/legacy/v4/guides/rest-intro","d2a"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/rest-route-example",component:u("/docs/legacy/v4/guides/rest-route-example","f8d"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/guides/taxonomy",component:u("/docs/legacy/v4/guides/taxonomy","8fa"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v4/versions",component:u("/docs/legacy/v4/versions","b91"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/autowiring",component:u("/docs/legacy/v5/basics/autowiring","86b"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/backend",component:u("/docs/legacy/v5/basics/backend","020"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/basics-intro",component:u("/docs/legacy/v5/basics/basics-intro","450"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/block-manifest",component:u("/docs/legacy/v5/basics/block-manifest","c34"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/block-structure",component:u("/docs/legacy/v5/basics/block-structure","1d8"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks",component:u("/docs/legacy/v5/basics/blocks","a36"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-attributes",component:u("/docs/legacy/v5/basics/blocks-attributes","386"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-component-in-block",component:u("/docs/legacy/v5/basics/blocks-component-in-block","500"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-component-manifest",component:u("/docs/legacy/v5/basics/blocks-component-manifest","98d"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-component-structure",component:u("/docs/legacy/v5/basics/blocks-component-structure","e00"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-global-manifest",component:u("/docs/legacy/v5/basics/blocks-global-manifest","af7"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-hooks",component:u("/docs/legacy/v5/basics/blocks-hooks","70e"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-important",component:u("/docs/legacy/v5/basics/blocks-important","018"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-intro",component:u("/docs/legacy/v5/basics/blocks-intro","e9c"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-patterns",component:u("/docs/legacy/v5/basics/blocks-patterns","49d"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-registration",component:u("/docs/legacy/v5/basics/blocks-registration","d9a"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-reusable",component:u("/docs/legacy/v5/basics/blocks-reusable","426"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-special-use-cases",component:u("/docs/legacy/v5/basics/blocks-special-use-cases","665"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-storybook",component:u("/docs/legacy/v5/basics/blocks-storybook","d41"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-structure",component:u("/docs/legacy/v5/basics/blocks-structure","9e1"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-styles",component:u("/docs/legacy/v5/basics/blocks-styles","ee7"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-transforms",component:u("/docs/legacy/v5/basics/blocks-transforms","ec2"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-variations",component:u("/docs/legacy/v5/basics/blocks-variations","caf"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/blocks-wrapper",component:u("/docs/legacy/v5/basics/blocks-wrapper","4ed"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/browser-sync",component:u("/docs/legacy/v5/basics/browser-sync","609"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/dynamic-import",component:u("/docs/legacy/v5/basics/dynamic-import","710"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/example-class",component:u("/docs/legacy/v5/basics/example-class","34f"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/extending-classes",component:u("/docs/legacy/v5/basics/extending-classes","034"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/fonts",component:u("/docs/legacy/v5/basics/fonts","48f"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/frontend",component:u("/docs/legacy/v5/basics/frontend","aab"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/global-settings",component:u("/docs/legacy/v5/basics/global-settings","f25"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/helpers",component:u("/docs/legacy/v5/basics/helpers","16d"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/helpers-javascript",component:u("/docs/legacy/v5/basics/helpers-javascript","525"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/helpers-php",component:u("/docs/legacy/v5/basics/helpers-php","f50"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/helpers-scss",component:u("/docs/legacy/v5/basics/helpers-scss","722"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/library",component:u("/docs/legacy/v5/basics/library","064"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/manifest",component:u("/docs/legacy/v5/basics/manifest","300"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/namespaces",component:u("/docs/legacy/v5/basics/namespaces","366"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/rest",component:u("/docs/legacy/v5/basics/rest","b5c"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/rest-field",component:u("/docs/legacy/v5/basics/rest-field","748"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/rest-route",component:u("/docs/legacy/v5/basics/rest-route","06a"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/the-structure",component:u("/docs/legacy/v5/basics/the-structure","5f7"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/webpack",component:u("/docs/legacy/v5/basics/webpack","a4e"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/wp-cli",component:u("/docs/legacy/v5/basics/wp-cli","eea"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/basics/writing-styles",component:u("/docs/legacy/v5/basics/writing-styles","b5a"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v5/versions",component:u("/docs/legacy/v5/versions","183"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/architecture-concepts",component:u("/docs/legacy/v6/basics/architecture-concepts","593"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/autowiring",component:u("/docs/legacy/v6/basics/autowiring","53d"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/backend",component:u("/docs/legacy/v6/basics/backend","8fa"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/basics-intro",component:u("/docs/legacy/v6/basics/basics-intro","c4c"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/block-manifest",component:u("/docs/legacy/v6/basics/block-manifest","a84"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/block-structure",component:u("/docs/legacy/v6/basics/block-structure","ad5"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks",component:u("/docs/legacy/v6/basics/blocks","c9d"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-attributes",component:u("/docs/legacy/v6/basics/blocks-attributes","c2c"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-component-in-block",component:u("/docs/legacy/v6/basics/blocks-component-in-block","745"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-component-manifest",component:u("/docs/legacy/v6/basics/blocks-component-manifest","2c4"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-component-structure",component:u("/docs/legacy/v6/basics/blocks-component-structure","90e"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-faq",component:u("/docs/legacy/v6/basics/blocks-faq","523"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-global-manifest",component:u("/docs/legacy/v6/basics/blocks-global-manifest","1ef"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-hooks",component:u("/docs/legacy/v6/basics/blocks-hooks","5ea"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-important",component:u("/docs/legacy/v6/basics/blocks-important","500"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-patterns",component:u("/docs/legacy/v6/basics/blocks-patterns","f2c"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-registration",component:u("/docs/legacy/v6/basics/blocks-registration","184"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-reusable",component:u("/docs/legacy/v6/basics/blocks-reusable","546"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-special-use-cases",component:u("/docs/legacy/v6/basics/blocks-special-use-cases","2a9"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-storybook",component:u("/docs/legacy/v6/basics/blocks-storybook","1b3"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-structure",component:u("/docs/legacy/v6/basics/blocks-structure","e67"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-styles",component:u("/docs/legacy/v6/basics/blocks-styles","862"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-transforms",component:u("/docs/legacy/v6/basics/blocks-transforms","557"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-variations",component:u("/docs/legacy/v6/basics/blocks-variations","0cc"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/blocks-wrapper",component:u("/docs/legacy/v6/basics/blocks-wrapper","daf"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/browser-sync",component:u("/docs/legacy/v6/basics/browser-sync","c6f"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/dynamic-import",component:u("/docs/legacy/v6/basics/dynamic-import","4b8"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/example-class",component:u("/docs/legacy/v6/basics/example-class","a23"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/extending-classes",component:u("/docs/legacy/v6/basics/extending-classes","1e8"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/fonts",component:u("/docs/legacy/v6/basics/fonts","bdb"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/frontend",component:u("/docs/legacy/v6/basics/frontend","d05"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/global-settings",component:u("/docs/legacy/v6/basics/global-settings","edf"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/helpers",component:u("/docs/legacy/v6/basics/helpers","78b"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/helpers-javascript",component:u("/docs/legacy/v6/basics/helpers-javascript","e2e"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/helpers-php",component:u("/docs/legacy/v6/basics/helpers-php","17e"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/helpers-scss",component:u("/docs/legacy/v6/basics/helpers-scss","e87"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/library",component:u("/docs/legacy/v6/basics/library","b5d"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/manifest",component:u("/docs/legacy/v6/basics/manifest","262"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/namespaces",component:u("/docs/legacy/v6/basics/namespaces","aad"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/rest",component:u("/docs/legacy/v6/basics/rest","8cd"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/rest-field",component:u("/docs/legacy/v6/basics/rest-field","5ea"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/rest-route",component:u("/docs/legacy/v6/basics/rest-route","f95"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/tips-tricks",component:u("/docs/legacy/v6/basics/tips-tricks","215"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/webpack",component:u("/docs/legacy/v6/basics/webpack","4a0"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/wp-cli",component:u("/docs/legacy/v6/basics/wp-cli","0be"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/basics/writing-styles",component:u("/docs/legacy/v6/basics/writing-styles","01b"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v6/versions",component:u("/docs/legacy/v6/versions","76d"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/architecture-concepts",component:u("/docs/legacy/v7/basics/architecture-concepts","f89"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/autowiring",component:u("/docs/legacy/v7/basics/autowiring","ad7"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/backend",component:u("/docs/legacy/v7/basics/backend","ab5"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/basics-intro",component:u("/docs/legacy/v7/basics/basics-intro","c55"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/block-manifest",component:u("/docs/legacy/v7/basics/block-manifest","b00"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/block-structure",component:u("/docs/legacy/v7/basics/block-structure","ef3"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks",component:u("/docs/legacy/v7/basics/blocks","bdd"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-attributes",component:u("/docs/legacy/v7/basics/blocks-attributes","275"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-component-in-block",component:u("/docs/legacy/v7/basics/blocks-component-in-block","797"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-component-manifest",component:u("/docs/legacy/v7/basics/blocks-component-manifest","df4"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-component-structure",component:u("/docs/legacy/v7/basics/blocks-component-structure","3eb"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-faq",component:u("/docs/legacy/v7/basics/blocks-faq","771"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-global-manifest",component:u("/docs/legacy/v7/basics/blocks-global-manifest","d03"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-hooks",component:u("/docs/legacy/v7/basics/blocks-hooks","393"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-important",component:u("/docs/legacy/v7/basics/blocks-important","e27"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-patterns",component:u("/docs/legacy/v7/basics/blocks-patterns","56a"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-registration",component:u("/docs/legacy/v7/basics/blocks-registration","c5d"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-reusable",component:u("/docs/legacy/v7/basics/blocks-reusable","cab"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-special-use-cases",component:u("/docs/legacy/v7/basics/blocks-special-use-cases","d35"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-storybook",component:u("/docs/legacy/v7/basics/blocks-storybook","be3"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-structure",component:u("/docs/legacy/v7/basics/blocks-structure","6be"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-styles",component:u("/docs/legacy/v7/basics/blocks-styles","d9e"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-transforms",component:u("/docs/legacy/v7/basics/blocks-transforms","a31"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-variations",component:u("/docs/legacy/v7/basics/blocks-variations","3a5"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/blocks-wrapper",component:u("/docs/legacy/v7/basics/blocks-wrapper","9cc"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/browser-sync",component:u("/docs/legacy/v7/basics/browser-sync","07b"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/dynamic-import",component:u("/docs/legacy/v7/basics/dynamic-import","dd2"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/example-class",component:u("/docs/legacy/v7/basics/example-class","790"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/extending-classes",component:u("/docs/legacy/v7/basics/extending-classes","cca"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/fonts",component:u("/docs/legacy/v7/basics/fonts","432"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/frontend",component:u("/docs/legacy/v7/basics/frontend","105"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/global-settings",component:u("/docs/legacy/v7/basics/global-settings","722"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/helpers",component:u("/docs/legacy/v7/basics/helpers","b56"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/helpers-javascript",component:u("/docs/legacy/v7/basics/helpers-javascript","78b"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/helpers-php",component:u("/docs/legacy/v7/basics/helpers-php","a34"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/helpers-scss",component:u("/docs/legacy/v7/basics/helpers-scss","41e"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/library",component:u("/docs/legacy/v7/basics/library","d7a"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/manifest",component:u("/docs/legacy/v7/basics/manifest","eac"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/namespaces",component:u("/docs/legacy/v7/basics/namespaces","8ad"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/rest",component:u("/docs/legacy/v7/basics/rest","479"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/rest-field",component:u("/docs/legacy/v7/basics/rest-field","bff"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/rest-route",component:u("/docs/legacy/v7/basics/rest-route","9dc"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/tips-tricks",component:u("/docs/legacy/v7/basics/tips-tricks","2b2"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/webpack",component:u("/docs/legacy/v7/basics/webpack","fec"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/wp-cli",component:u("/docs/legacy/v7/basics/wp-cli","8f3"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/basics/writing-styles",component:u("/docs/legacy/v7/basics/writing-styles","235"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v7/versions",component:u("/docs/legacy/v7/versions","e9f"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/architecture-concepts",component:u("/docs/legacy/v8/basics/architecture-concepts","d7a"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/autowiring",component:u("/docs/legacy/v8/basics/autowiring","a8b"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/backend",component:u("/docs/legacy/v8/basics/backend","32b"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/basics-intro",component:u("/docs/legacy/v8/basics/basics-intro","b29"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/block-manifest",component:u("/docs/legacy/v8/basics/block-manifest","7b2"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/block-structure",component:u("/docs/legacy/v8/basics/block-structure","d98"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks",component:u("/docs/legacy/v8/basics/blocks","c6d"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-attributes",component:u("/docs/legacy/v8/basics/blocks-attributes","cd6"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-component-in-block",component:u("/docs/legacy/v8/basics/blocks-component-in-block","c46"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-component-manifest",component:u("/docs/legacy/v8/basics/blocks-component-manifest","aa6"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-component-structure",component:u("/docs/legacy/v8/basics/blocks-component-structure","547"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-faq",component:u("/docs/legacy/v8/basics/blocks-faq","8f8"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-global-manifest",component:u("/docs/legacy/v8/basics/blocks-global-manifest","e77"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-hooks",component:u("/docs/legacy/v8/basics/blocks-hooks","4a7"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-important",component:u("/docs/legacy/v8/basics/blocks-important","c6b"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-patterns",component:u("/docs/legacy/v8/basics/blocks-patterns","a51"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-registration",component:u("/docs/legacy/v8/basics/blocks-registration","737"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-reusable",component:u("/docs/legacy/v8/basics/blocks-reusable","af3"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-special-use-cases",component:u("/docs/legacy/v8/basics/blocks-special-use-cases","57b"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-storybook",component:u("/docs/legacy/v8/basics/blocks-storybook","9ea"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-structure",component:u("/docs/legacy/v8/basics/blocks-structure","cbd"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-styles",component:u("/docs/legacy/v8/basics/blocks-styles","ea6"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-transforms",component:u("/docs/legacy/v8/basics/blocks-transforms","d42"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-variations",component:u("/docs/legacy/v8/basics/blocks-variations","37b"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/blocks-wrapper",component:u("/docs/legacy/v8/basics/blocks-wrapper","ab4"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/browser-sync",component:u("/docs/legacy/v8/basics/browser-sync","dce"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/dynamic-import",component:u("/docs/legacy/v8/basics/dynamic-import","847"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/example-class",component:u("/docs/legacy/v8/basics/example-class","c15"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/extending-classes",component:u("/docs/legacy/v8/basics/extending-classes","f67"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/fonts",component:u("/docs/legacy/v8/basics/fonts","46a"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/frontend",component:u("/docs/legacy/v8/basics/frontend","ffa"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/global-settings",component:u("/docs/legacy/v8/basics/global-settings","82f"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/helpers",component:u("/docs/legacy/v8/basics/helpers","d63"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/helpers-javascript",component:u("/docs/legacy/v8/basics/helpers-javascript","55b"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/helpers-php",component:u("/docs/legacy/v8/basics/helpers-php","dcd"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/helpers-scss",component:u("/docs/legacy/v8/basics/helpers-scss","5c3"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/library",component:u("/docs/legacy/v8/basics/library","f5e"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/manifest",component:u("/docs/legacy/v8/basics/manifest","b5d"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/namespaces",component:u("/docs/legacy/v8/basics/namespaces","9cb"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/rest",component:u("/docs/legacy/v8/basics/rest","b82"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/rest-field",component:u("/docs/legacy/v8/basics/rest-field","c77"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/rest-route",component:u("/docs/legacy/v8/basics/rest-route","10a"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/tips-tricks",component:u("/docs/legacy/v8/basics/tips-tricks","ce0"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/webpack",component:u("/docs/legacy/v8/basics/webpack","958"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/wp-cli",component:u("/docs/legacy/v8/basics/wp-cli","2be"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/basics/writing-styles",component:u("/docs/legacy/v8/basics/writing-styles","1ea"),exact:!0,sidebar:"docs"},{path:"/docs/legacy/v8/versions",component:u("/docs/legacy/v8/versions","99e"),exact:!0,sidebar:"docs"},{path:"/docs/migrations/10-11",component:u("/docs/migrations/10-11","751"),exact:!0,sidebar:"docs"},{path:"/docs/migrations/5-6",component:u("/docs/migrations/5-6","d51"),exact:!0,sidebar:"docs"},{path:"/docs/migrations/6-7",component:u("/docs/migrations/6-7","df2"),exact:!0,sidebar:"docs"},{path:"/docs/migrations/7-8",component:u("/docs/migrations/7-8","15c"),exact:!0,sidebar:"docs"},{path:"/docs/migrations/8-9",component:u("/docs/migrations/8-9","8d0"),exact:!0,sidebar:"docs"},{path:"/docs/migrations/9-10",component:u("/docs/migrations/9-10","77b"),exact:!0,sidebar:"docs"},{path:"/docs/plugin",component:u("/docs/plugin","c57"),exact:!0,sidebar:"docs"},{path:"/docs/requirements",component:u("/docs/requirements","2a5"),exact:!0,sidebar:"docs"},{path:"/docs/theme",component:u("/docs/theme","a6c"),exact:!0,sidebar:"docs"},{path:"/docs/tutorials/intro",component:u("/docs/tutorials/intro","f36"),exact:!0,sidebar:"docs"},{path:"/docs/versions",component:u("/docs/versions","0bc"),exact:!0,sidebar:"docs"},{path:"/docs/welcome",component:u("/docs/welcome","deb"),exact:!0,sidebar:"docs"}]}]}]},{path:"/forms",component:u("/forms","4bc"),routes:[{path:"/forms",component:u("/forms","df2"),routes:[{path:"/forms",component:u("/forms","0ee"),routes:[{path:"/forms/addons/create/addon-boilerplate",component:u("/forms/addons/create/addon-boilerplate","312"),exact:!0,sidebar:"forms"},{path:"/forms/addons/create/intro",component:u("/forms/addons/create/intro","c9b"),exact:!0,sidebar:"forms"},{path:"/forms/addons/create/requirements",component:u("/forms/addons/create/requirements","8c8"),exact:!0,sidebar:"forms"},{path:"/forms/addons/create/utils-library",component:u("/forms/addons/create/utils-library","6cc"),exact:!0,sidebar:"forms"},{path:"/forms/addons/free/intro",component:u("/forms/addons/free/intro","2d2"),exact:!0,sidebar:"forms"},{path:"/forms/addons/intro",component:u("/forms/addons/intro","8f0"),exact:!0,sidebar:"forms"},{path:"/forms/addons/premium/computed-fields/blocks",component:u("/forms/addons/premium/computed-fields/blocks","4d6"),exact:!0,sidebar:"forms"},{path:"/forms/addons/premium/computed-fields/data-flow",component:u("/forms/addons/premium/computed-fields/data-flow","6a4"),exact:!0,sidebar:"forms"},{path:"/forms/addons/premium/computed-fields/how-to-use",component:u("/forms/addons/premium/computed-fields/how-to-use","966"),exact:!0,sidebar:"forms"},{path:"/forms/addons/premium/computed-fields/intro",component:u("/forms/addons/premium/computed-fields/intro","874"),exact:!0,sidebar:"forms"},{path:"/forms/addons/premium/computed-fields/settings",component:u("/forms/addons/premium/computed-fields/settings","236"),exact:!0,sidebar:"forms"},{path:"/forms/addons/premium/intro",component:u("/forms/addons/premium/intro","ed0"),exact:!0,sidebar:"forms"},{path:"/forms/basics",component:u("/forms/basics","6bd"),exact:!0,sidebar:"forms"},{path:"/forms/features/cache",component:u("/forms/features/cache","db7"),exact:!0,sidebar:"forms"},{path:"/forms/features/cloudflare",component:u("/forms/features/cloudflare","248"),exact:!0,sidebar:"forms"},{path:"/forms/features/conditional-tags",component:u("/forms/features/conditional-tags","9d6"),exact:!0,sidebar:"forms"},{path:"/forms/features/country-list",component:u("/forms/features/country-list","37c"),exact:!0,sidebar:"forms"},{path:"/forms/features/dashboard",component:u("/forms/features/dashboard","fc7"),exact:!0,sidebar:"forms"},{path:"/forms/features/debug",component:u("/forms/features/debug","16b"),exact:!0,sidebar:"forms"},{path:"/forms/features/enrichment",component:u("/forms/features/enrichment","472"),exact:!0,sidebar:"forms"},{path:"/forms/features/entries",component:u("/forms/features/entries","2dc"),exact:!0,sidebar:"forms"},{path:"/forms/features/fallback-emails",component:u("/forms/features/fallback-emails","e8f"),exact:!0,sidebar:"forms"},{path:"/forms/features/geolocation",component:u("/forms/features/geolocation","a1f"),exact:!0,sidebar:"forms"},{path:"/forms/features/import-export",component:u("/forms/features/import-export","6ff"),exact:!0,sidebar:"forms"},{path:"/forms/features/labels",component:u("/forms/features/labels","b91"),exact:!0,sidebar:"forms"},{path:"/forms/features/locations",component:u("/forms/features/locations","42f"),exact:!0,sidebar:"forms"},{path:"/forms/features/migrations",component:u("/forms/features/migrations","b7b"),exact:!0,sidebar:"forms"},{path:"/forms/features/multisteps-forms",component:u("/forms/features/multisteps-forms","277"),exact:!0,sidebar:"forms"},{path:"/forms/features/result-output",component:u("/forms/features/result-output","c1b"),exact:!0,sidebar:"forms"},{path:"/forms/features/security",component:u("/forms/features/security","ce2"),exact:!0,sidebar:"forms"},{path:"/forms/features/show-as",component:u("/forms/features/show-as","2ea"),exact:!0,sidebar:"forms"},{path:"/forms/features/single-submit",component:u("/forms/features/single-submit","456"),exact:!0,sidebar:"forms"},{path:"/forms/features/spam-prevention",component:u("/forms/features/spam-prevention","113"),exact:!0,sidebar:"forms"},{path:"/forms/features/success-redirect",component:u("/forms/features/success-redirect","92a"),exact:!0,sidebar:"forms"},{path:"/forms/features/tracking",component:u("/forms/features/tracking","a29"),exact:!0,sidebar:"forms"},{path:"/forms/features/validation",component:u("/forms/features/validation","d74"),exact:!0,sidebar:"forms"},{path:"/forms/features/wpml",component:u("/forms/features/wpml","18f"),exact:!0,sidebar:"forms"},{path:"/forms/first-form",component:u("/forms/first-form","075"),exact:!0,sidebar:"forms"},{path:"/forms/integrations/active-campaign",component:u("/forms/integrations/active-campaign","31c"),exact:!0,sidebar:"forms"},{path:"/forms/integrations/airtable",component:u("/forms/integrations/airtable","cd3"),exact:!0,sidebar:"forms"},{path:"/forms/integrations/calculator",component:u("/forms/integrations/calculator","e03"),exact:!0,sidebar:"forms"},{path:"/forms/integrations/clearbit",component:u("/forms/integrations/clearbit","e3a"),exact:!0,sidebar:"forms"},{path:"/forms/integrations/goodbits",component:u("/forms/integrations/goodbits","1d6"),exact:!0,sidebar:"forms"},{path:"/forms/integrations/greenhouse",component:u("/forms/integrations/greenhouse","105"),exact:!0,sidebar:"forms"},{path:"/forms/integrations/hubspot",component:u("/forms/integrations/hubspot","786"),exact:!0,sidebar:"forms"},{path:"/forms/integrations/intro",component:u("/forms/integrations/intro","563"),exact:!0,sidebar:"forms"},{path:"/forms/integrations/jira",component:u("/forms/integrations/jira","520"),exact:!0,sidebar:"forms"},{path:"/forms/integrations/mailchimp",component:u("/forms/integrations/mailchimp","46a"),exact:!0,sidebar:"forms"},{path:"/forms/integrations/mailer",component:u("/forms/integrations/mailer","36e"),exact:!0,sidebar:"forms"},{path:"/forms/integrations/mailerlite",component:u("/forms/integrations/mailerlite","93a"),exact:!0,sidebar:"forms"},{path:"/forms/integrations/moments",component:u("/forms/integrations/moments","d72"),exact:!0,sidebar:"forms"},{path:"/forms/integrations/pipedrive",component:u("/forms/integrations/pipedrive","3df"),exact:!0,sidebar:"forms"},{path:"/forms/integrations/workable",component:u("/forms/integrations/workable","bad"),exact:!0,sidebar:"forms"},{path:"/forms/javascript/events/available-events",component:u("/forms/javascript/events/available-events","4f2"),exact:!0,sidebar:"forms"},{path:"/forms/javascript/events/how-to-use",component:u("/forms/javascript/events/how-to-use","4bb"),exact:!0,sidebar:"forms"},{path:"/forms/javascript/intro",component:u("/forms/javascript/intro","a82"),exact:!0,sidebar:"forms"},{path:"/forms/javascript/manual-initiation",component:u("/forms/javascript/manual-initiation","6b9"),exact:!0,sidebar:"forms"},{path:"/forms/javascript/state/",component:u("/forms/javascript/state/","6fe"),exact:!0,sidebar:"forms"},{path:"/forms/javascript/state/captcha",component:u("/forms/javascript/state/captcha","704"),exact:!0,sidebar:"forms"},{path:"/forms/javascript/state/conditional-tags",component:u("/forms/javascript/state/conditional-tags","2f8"),exact:!0,sidebar:"forms"},{path:"/forms/javascript/state/enrichment",component:u("/forms/javascript/state/enrichment","787"),exact:!0,sidebar:"forms"},{path:"/forms/javascript/state/form",component:u("/forms/javascript/state/form","88f"),exact:!0,sidebar:"forms"},{path:"/forms/javascript/state/how-to-use",component:u("/forms/javascript/state/how-to-use","c10"),exact:!0,sidebar:"forms"},{path:"/forms/javascript/state/step",component:u("/forms/javascript/state/step","8cf"),exact:!0,sidebar:"forms"},{path:"/forms/javascript/state/store",component:u("/forms/javascript/state/store","f0d"),exact:!0,sidebar:"forms"},{path:"/forms/javascript/state/utils",component:u("/forms/javascript/state/utils","a6c"),exact:!0,sidebar:"forms"},{path:"/forms/known-issues",component:u("/forms/known-issues","42a"),exact:!0,sidebar:"forms"},{path:"/forms/php/actions/how-to-use",component:u("/forms/php/actions/how-to-use","f7e"),exact:!0,sidebar:"forms"},{path:"/forms/php/actions/migrations",component:u("/forms/php/actions/migrations","7d3"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/admin/settings-data",component:u("/forms/php/filters/admin/settings-data","ccd"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/checkboxes/additional-content",component:u("/forms/php/filters/block/checkboxes/additional-content","a87"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/country/additional-content",component:u("/forms/php/filters/block/country/additional-content","fa5"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/country/alternative-data-set",component:u("/forms/php/filters/block/country/alternative-data-set","a0f"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/date/additional-content",component:u("/forms/php/filters/block/date/additional-content","677"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/field/additional-content",component:u("/forms/php/filters/block/field/additional-content","6e5"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/field/style-classes",component:u("/forms/php/filters/block/field/style-classes","63e"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/field/style-options",component:u("/forms/php/filters/block/field/style-options","0f4"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/file/additional-content",component:u("/forms/php/filters/block/file/additional-content","965"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/file/preview-remove-label",component:u("/forms/php/filters/block/file/preview-remove-label","456"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form-selector/additional-content",component:u("/forms/php/filters/block/form-selector/additional-content","15e"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form-selector/form-templates",component:u("/forms/php/filters/block/form-selector/form-templates","246"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/additional-content",component:u("/forms/php/filters/block/form/additional-content","b49"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/additional-hidden-fields",component:u("/forms/php/filters/block/form/additional-hidden-fields","821"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/data-type-selector",component:u("/forms/php/filters/block/form/data-type-selector","108"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/global-msg-headings",component:u("/forms/php/filters/block/form/global-msg-headings","653"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/hide-global-msg-timeout",component:u("/forms/php/filters/block/form/hide-global-msg-timeout","589"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/phone-sync",component:u("/forms/php/filters/block/form/phone-sync","6b7"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/pre-response-addon-data",component:u("/forms/php/filters/block/form/pre-response-addon-data","438"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/pre-response-success-redirect-data",component:u("/forms/php/filters/block/form/pre-response-success-redirect-data","8aa"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/redirect-timeout",component:u("/forms/php/filters/block/form/redirect-timeout","a42"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/result-output-items",component:u("/forms/php/filters/block/form/result-output-items","ac5"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/result-output-parts",component:u("/forms/php/filters/block/form/result-output-parts","72c"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/success-redirect-url",component:u("/forms/php/filters/block/form/success-redirect-url","33b"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/success-redirect-variation",component:u("/forms/php/filters/block/form/success-redirect-variation","3a1"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/success-redirect-variation-options",component:u("/forms/php/filters/block/form/success-redirect-variation-options","013"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/tracking-additional-data",component:u("/forms/php/filters/block/form/tracking-additional-data","69d"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/form/tracking-event-name",component:u("/forms/php/filters/block/form/tracking-event-name","dd0"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/forms/style-options",component:u("/forms/php/filters/block/forms/style-options","326"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/input/additional-content",component:u("/forms/php/filters/block/input/additional-content","ab1"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/phone/additional-content",component:u("/forms/php/filters/block/phone/additional-content","c37"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/radios/additional-content",component:u("/forms/php/filters/block/radios/additional-content","93f"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/rating/additional-content",component:u("/forms/php/filters/block/rating/additional-content","358"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/select/additional-content",component:u("/forms/php/filters/block/select/additional-content","71a"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/step/component-next",component:u("/forms/php/filters/block/step/component-next","5c5"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/step/component-prev",component:u("/forms/php/filters/block/step/component-prev","18a"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/submit/additional-content",component:u("/forms/php/filters/block/submit/additional-content","ba3"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/submit/component",component:u("/forms/php/filters/block/submit/component","759"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/block/textarea/additional-content",component:u("/forms/php/filters/block/textarea/additional-content","f2d"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/blocks/additional-blocks",component:u("/forms/php/filters/blocks/additional-blocks","85c"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/blocks/allowed-blocks",component:u("/forms/php/filters/blocks/allowed-blocks","e8b"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/blocks/media-breakpoints",component:u("/forms/php/filters/blocks/media-breakpoints","591"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/enrichment/manual-map",component:u("/forms/php/filters/enrichment/manual-map","469"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/entries/pre-post-params",component:u("/forms/php/filters/entries/pre-post-params","eaa"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/general/http-request-timeout",component:u("/forms/php/filters/general/http-request-timeout","835"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/general/locale",component:u("/forms/php/filters/general/locale","eb5"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/general/scripts-dependency",component:u("/forms/php/filters/general/scripts-dependency","74b"),exact:!0},{path:"/forms/php/filters/geolocation/countries",component:u("/forms/php/filters/geolocation/countries","c11"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/geolocation/db-location",component:u("/forms/php/filters/geolocation/db-location","7b9"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/geolocation/phar-location",component:u("/forms/php/filters/geolocation/phar-location","954"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/how-to-use",component:u("/forms/php/filters/how-to-use","e71"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/integrations/active-campaign",component:u("/forms/php/filters/integrations/active-campaign","d32"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/integrations/airtable",component:u("/forms/php/filters/integrations/airtable","912"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/integrations/calculator",component:u("/forms/php/filters/integrations/calculator","1b3"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/integrations/clearbit",component:u("/forms/php/filters/integrations/clearbit","ef3"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/integrations/goodbits",component:u("/forms/php/filters/integrations/goodbits","1a3"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/integrations/greenhouse",component:u("/forms/php/filters/integrations/greenhouse","5f2"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/integrations/hubspot",component:u("/forms/php/filters/integrations/hubspot","b09"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/integrations/jira",component:u("/forms/php/filters/integrations/jira","88d"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/integrations/mailchimp",component:u("/forms/php/filters/integrations/mailchimp","1cc"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/integrations/mailer",component:u("/forms/php/filters/integrations/mailer","c91"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/integrations/mailerlite",component:u("/forms/php/filters/integrations/mailerlite","a5f"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/integrations/moments",component:u("/forms/php/filters/integrations/moments","697"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/integrations/pipedrive",component:u("/forms/php/filters/integrations/pipedrive","aa6"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/integrations/workable",component:u("/forms/php/filters/integrations/workable","b9d"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/scripts/dependency-admin",component:u("/forms/php/filters/scripts/dependency-admin","31e"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/scripts/dependency-blocks-editor",component:u("/forms/php/filters/scripts/dependency-blocks-editor","9c1"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/scripts/dependency-blocks-frontend",component:u("/forms/php/filters/scripts/dependency-blocks-frontend","a86"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/scripts/dependency-theme",component:u("/forms/php/filters/scripts/dependency-theme","1e4"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/scripts/routes-private",component:u("/forms/php/filters/scripts/routes-private","7b2"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/scripts/routes-public",component:u("/forms/php/filters/scripts/routes-public","c5a"),exact:!0,sidebar:"forms"},{path:"/forms/php/filters/validation/force-mimetype-from-fs",component:u("/forms/php/filters/validation/force-mimetype-from-fs","a8b"),exact:!0,sidebar:"forms"},{path:"/forms/php/global-variables/geolocation",component:u("/forms/php/global-variables/geolocation","217"),exact:!0,sidebar:"forms"},{path:"/forms/php/global-variables/google-recaptcha",component:u("/forms/php/global-variables/google-recaptcha","1f3"),exact:!0,sidebar:"forms"},{path:"/forms/php/global-variables/how-to-use",component:u("/forms/php/global-variables/how-to-use","38f"),exact:!0,sidebar:"forms"},{path:"/forms/php/global-variables/integrations/active-campaign",component:u("/forms/php/global-variables/integrations/active-campaign","beb"),exact:!0,sidebar:"forms"},{path:"/forms/php/global-variables/integrations/airtable",component:u("/forms/php/global-variables/integrations/airtable","57a"),exact:!0,sidebar:"forms"},{path:"/forms/php/global-variables/integrations/clearbit",component:u("/forms/php/global-variables/integrations/clearbit","98e"),exact:!0,sidebar:"forms"},{path:"/forms/php/global-variables/integrations/goodbits",component:u("/forms/php/global-variables/integrations/goodbits","6dc"),exact:!0,sidebar:"forms"},{path:"/forms/php/global-variables/integrations/greenhouse",component:u("/forms/php/global-variables/integrations/greenhouse","893"),exact:!0,sidebar:"forms"},{path:"/forms/php/global-variables/integrations/hubspot",component:u("/forms/php/global-variables/integrations/hubspot","d21"),exact:!0,sidebar:"forms"},{path:"/forms/php/global-variables/integrations/jira",component:u("/forms/php/global-variables/integrations/jira","ec9"),exact:!0,sidebar:"forms"},{path:"/forms/php/global-variables/integrations/mailchimp",component:u("/forms/php/global-variables/integrations/mailchimp","6cf"),exact:!0,sidebar:"forms"},{path:"/forms/php/global-variables/integrations/mailerlite",component:u("/forms/php/global-variables/integrations/mailerlite","bc2"),exact:!0,sidebar:"forms"},{path:"/forms/php/global-variables/integrations/moments",component:u("/forms/php/global-variables/integrations/moments","38b"),exact:!0,sidebar:"forms"},{path:"/forms/php/global-variables/integrations/pipedrive",component:u("/forms/php/global-variables/integrations/pipedrive","717"),exact:!0,sidebar:"forms"},{path:"/forms/php/global-variables/integrations/workable",component:u("/forms/php/global-variables/integrations/workable","329"),exact:!0,sidebar:"forms"},{path:"/forms/php/helpers",component:u("/forms/php/helpers","c4b"),exact:!0,sidebar:"forms"},{path:"/forms/php/intro",component:u("/forms/php/intro","ab5"),exact:!0,sidebar:"forms"},{path:"/forms/php/shortcodes",component:u("/forms/php/shortcodes","019"),exact:!0,sidebar:"forms"},{path:"/forms/php/wp-cli",component:u("/forms/php/wp-cli","07b"),exact:!0,sidebar:"forms"},{path:"/forms/tutorials/playlist",component:u("/forms/tutorials/playlist","6aa"),exact:!0,sidebar:"forms"},{path:"/forms/welcome",component:u("/forms/welcome","0a8"),exact:!0,sidebar:"forms"}]}]}]},{path:"/",component:u("/","2e1"),exact:!0},{path:"*",component:u("*")}]},6125:(e,t,n)=>{"use strict";n.d(t,{o:()=>a,x:()=>r});var s=n(96540),o=n(74848);const a=s.createContext(!1);function r(e){let{children:t}=e;const[n,r]=(0,s.useState)(!1);return(0,s.useEffect)((()=>{r(!0)}),[]),(0,o.jsx)(a.Provider,{value:n,children:t})}},38536:(e,t,n)=>{"use strict";var s=n(96540),o=n(5338),a=n(54625),r=n(80545),i=n(38193);const c=[n(31911),n(10119),n(26134),n(76294),n(82710),n(91218)];var l=n(35947),d=n(56347),u=n(22831),p=n(74848);function f(e){let{children:t}=e;return(0,p.jsx)(p.Fragment,{children:t})}var b=n(5260),h=n(44586),m=n(86025),g=n(6342),v=n(45500),y=n(32131),k=n(14090),x=n(2967),w=n(70440),_=n(41463);function j(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,h.A)(),s=(0,y.o)(),o=n[e].htmlLang,a=e=>e.replace("-","_");return(0,p.jsxs)(b.A,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,p.jsx)("link",{rel:"alternate",href:s.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,p.jsx)("link",{rel:"alternate",href:s.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,p.jsx)("meta",{property:"og:locale",content:a(o)}),Object.values(n).filter((e=>o!==e.htmlLang)).map((e=>(0,p.jsx)("meta",{property:"og:locale:alternate",content:a(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function C(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,h.A)(),s=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,h.A)(),{pathname:s}=(0,d.zy)();return e+(0,w.applyTrailingSlash)((0,m.A)(s),{trailingSlash:n,baseUrl:t})}(),o=t?`${n}${t}`:s;return(0,p.jsxs)(b.A,{children:[(0,p.jsx)("meta",{property:"og:url",content:o}),(0,p.jsx)("link",{rel:"canonical",href:o})]})}function S(){const{i18n:{currentLocale:e}}=(0,h.A)(),{metadata:t,image:n}=(0,g.p)();return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(b.A,{children:[(0,p.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,p.jsx)("body",{className:k.w})]}),n&&(0,p.jsx)(v.be,{image:n}),(0,p.jsx)(C,{}),(0,p.jsx)(j,{}),(0,p.jsx)(_.A,{tag:x.Cy,locale:e}),(0,p.jsx)(b.A,{children:t.map(((e,t)=>(0,p.jsx)("meta",{...e},t)))})]})}const M=new Map;var E=n(6125),L=n(26988),A=n(205);function T(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),s=1;s<t;s++)n[s-1]=arguments[s];const o=c.map((t=>{const s=t.default?.[e]??t[e];return s?.(...n)}));return()=>o.forEach((e=>e?.()))}const P=function(e){let{children:t,location:n,previousLocation:s}=e;return(0,A.A)((()=>{s!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const s=t.pathname===n.pathname,o=t.hash===n.hash,a=t.search===n.search;if(s&&o&&!a)return;const{hash:r}=t;if(r){const e=decodeURIComponent(r.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:s}),T("onRouteDidUpdate",{previousLocation:s,location:n}))}),[s,n]),t};function R(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,u.u)(l.A,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class N extends s.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=i.A.canUseDOM?T("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=T("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),R(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,p.jsx)(P,{previousLocation:this.previousLocation,location:t,children:(0,p.jsx)(d.qh,{location:t,render:()=>e})})}}const Z=N,O="__docusaurus-base-url-issue-banner-container",D="__docusaurus-base-url-issue-banner",B="__docusaurus-base-url-issue-banner-suggestion-container";function I(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${O}';\n var bannerHtml = ${JSON.stringify(function(e){return`\n<div id="${D}" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">${e}</span> ${"/"===e?" (default value)":""}</p>\n <p>We suggest trying baseUrl = <span id="${B}" style="font-weight: bold; color: green;"></span></p>\n</div>\n`}(e)).replace(/</g,"\\<")};\n bannerContainer.innerHTML = bannerHtml;\n document.body.prepend(bannerContainer);\n var suggestionContainer = document.getElementById('${B}');\n var actualHomePagePath = window.location.pathname;\n var suggestedBaseUrl = actualHomePagePath.substr(-1) === '/'\n ? actualHomePagePath\n : actualHomePagePath + '/';\n suggestionContainer.innerHTML = suggestedBaseUrl;\n}\n`}function F(){const{siteConfig:{baseUrl:e}}=(0,h.A)();return(0,p.jsx)(p.Fragment,{children:!i.A.canUseDOM&&(0,p.jsx)(b.A,{children:(0,p.jsx)("script",{children:I(e)})})})}function z(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,h.A)(),{pathname:n}=(0,d.zy)();return t&&n===e?(0,p.jsx)(F,{}):null}function W(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:s,localeConfigs:o}}=(0,h.A)(),a=(0,m.A)(e),{htmlLang:r,direction:i}=o[s];return(0,p.jsxs)(b.A,{children:[(0,p.jsx)("html",{lang:r,dir:i}),(0,p.jsx)("title",{children:t}),(0,p.jsx)("meta",{property:"og:title",content:t}),(0,p.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&(0,p.jsx)("meta",{name:"robots",content:"noindex, nofollow"}),e&&(0,p.jsx)("link",{rel:"icon",href:a})]})}var $=n(67489),H=n(92303);function V(){const e=(0,H.A)();return(0,p.jsx)(b.A,{children:(0,p.jsx)("html",{"data-has-hydrated":e})})}const U=(0,u.v)(l.A);function q(){const e=function(e){if(M.has(e.pathname))return{...e,pathname:M.get(e.pathname)};if((0,u.u)(l.A,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return M.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return M.set(e.pathname,t),{...e,pathname:t}}((0,d.zy)());return(0,p.jsx)(Z,{location:e,children:U})}function G(){return(0,p.jsx)($.A,{children:(0,p.jsx)(L.l,{children:(0,p.jsxs)(E.x,{children:[(0,p.jsxs)(f,{children:[(0,p.jsx)(W,{}),(0,p.jsx)(S,{}),(0,p.jsx)(z,{}),(0,p.jsx)(q,{})]}),(0,p.jsx)(V,{})]})})})}var K=n(84054);const Y=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const s=document.createElement("link");s.setAttribute("rel","prefetch"),s.setAttribute("href",e),s.onload=()=>t(),s.onerror=()=>n();const o=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;o?.appendChild(s)}))}:function(e){return new Promise(((t,n)=>{const s=new XMLHttpRequest;s.open("GET",e,!0),s.withCredentials=!0,s.onload=()=>{200===s.status?t():n()},s.send(null)}))};var Q=n(86921);const X=new Set,J=new Set,ee=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,te={prefetch:e=>{if(!(e=>!ee()&&!J.has(e)&&!X.has(e))(e))return!1;X.add(e);const t=(0,u.u)(l.A,e).flatMap((e=>{return t=e.route.path,Object.entries(K).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,Q.A)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Y(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!ee()&&!J.has(e))(e)&&(J.add(e),R(e))},ne=Object.freeze(te),se=Boolean(!0);if(i.A.canUseDOM){window.docusaurus=ne;const e=document.getElementById("__docusaurus"),t=(0,p.jsx)(r.vd,{children:(0,p.jsx)(a.Kd,{children:(0,p.jsx)(G,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},i=()=>{if(window.docusaurusRoot)window.docusaurusRoot.render(t);else if(se)window.docusaurusRoot=o.hydrateRoot(e,t,{onRecoverableError:n});else{const s=o.createRoot(e,{onRecoverableError:n});s.render(t),window.docusaurusRoot=s}};R(window.location.pathname).then((()=>{(0,s.startTransition)(i)}))}},26988:(e,t,n)=>{"use strict";n.d(t,{o:()=>u,l:()=>p});var s=n(96540),o=n(4784);const a=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/docs","mainDocId":"welcome","docs":[{"id":"additional-libraries/boilerplate","path":"/docs/additional-libraries/boilerplate","sidebar":"docs"},{"id":"additional-libraries/boilerplate-plugin","path":"/docs/additional-libraries/boilerplate-plugin","sidebar":"docs"},{"id":"additional-libraries/coding-standards","path":"/docs/additional-libraries/coding-standards","sidebar":"docs"},{"id":"additional-libraries/docs","path":"/docs/additional-libraries/docs","sidebar":"docs"},{"id":"additional-libraries/forms","path":"/docs/additional-libraries/forms","sidebar":"docs"},{"id":"additional-libraries/frontend-libs","path":"/docs/additional-libraries/frontend-libs","sidebar":"docs"},{"id":"additional-libraries/libs","path":"/docs/additional-libraries/libs","sidebar":"docs"},{"id":"additional-libraries/storybook","path":"/docs/additional-libraries/storybook","sidebar":"docs"},{"id":"additional-libraries/stubs","path":"/docs/additional-libraries/stubs","sidebar":"docs"},{"id":"basics/architecture-concepts","path":"/docs/basics/architecture-concepts","sidebar":"docs"},{"id":"basics/autowiring","path":"/docs/basics/autowiring","sidebar":"docs"},{"id":"basics/backend","path":"/docs/basics/backend","sidebar":"docs"},{"id":"basics/basics-intro","path":"/docs/basics/basics-intro","sidebar":"docs"},{"id":"basics/block-manifest","path":"/docs/basics/block-manifest","sidebar":"docs"},{"id":"basics/block-structure","path":"/docs/basics/block-structure","sidebar":"docs"},{"id":"basics/blocks","path":"/docs/basics/blocks","sidebar":"docs"},{"id":"basics/blocks-attributes","path":"/docs/basics/blocks-attributes","sidebar":"docs"},{"id":"basics/blocks-component-in-block","path":"/docs/basics/blocks-component-in-block","sidebar":"docs"},{"id":"basics/blocks-component-manifest","path":"/docs/basics/blocks-component-manifest","sidebar":"docs"},{"id":"basics/blocks-component-structure","path":"/docs/basics/blocks-component-structure","sidebar":"docs"},{"id":"basics/blocks-faq","path":"/docs/basics/blocks-faq","sidebar":"docs"},{"id":"basics/blocks-global-manifest","path":"/docs/basics/blocks-global-manifest","sidebar":"docs"},{"id":"basics/blocks-hooks","path":"/docs/basics/blocks-hooks","sidebar":"docs"},{"id":"basics/blocks-important","path":"/docs/basics/blocks-important","sidebar":"docs"},{"id":"basics/blocks-patterns","path":"/docs/basics/blocks-patterns","sidebar":"docs"},{"id":"basics/blocks-registration","path":"/docs/basics/blocks-registration","sidebar":"docs"},{"id":"basics/blocks-reusable","path":"/docs/basics/blocks-reusable","sidebar":"docs"},{"id":"basics/blocks-special-use-cases","path":"/docs/basics/blocks-special-use-cases","sidebar":"docs"},{"id":"basics/blocks-storybook","path":"/docs/basics/blocks-storybook","sidebar":"docs"},{"id":"basics/blocks-structure","path":"/docs/basics/blocks-structure","sidebar":"docs"},{"id":"basics/blocks-styles","path":"/docs/basics/blocks-styles","sidebar":"docs"},{"id":"basics/blocks-transforms","path":"/docs/basics/blocks-transforms","sidebar":"docs"},{"id":"basics/blocks-variations","path":"/docs/basics/blocks-variations","sidebar":"docs"},{"id":"basics/blocks-wrapper","path":"/docs/basics/blocks-wrapper","sidebar":"docs"},{"id":"basics/browser-sync","path":"/docs/basics/browser-sync","sidebar":"docs"},{"id":"basics/dynamic-import","path":"/docs/basics/dynamic-import","sidebar":"docs"},{"id":"basics/example-class","path":"/docs/basics/example-class","sidebar":"docs"},{"id":"basics/extending-classes","path":"/docs/basics/extending-classes","sidebar":"docs"},{"id":"basics/fonts","path":"/docs/basics/fonts","sidebar":"docs"},{"id":"basics/frontend","path":"/docs/basics/frontend","sidebar":"docs"},{"id":"basics/global-settings","path":"/docs/basics/global-settings","sidebar":"docs"},{"id":"basics/helpers","path":"/docs/basics/helpers","sidebar":"docs"},{"id":"basics/helpers-javascript","path":"/docs/basics/helpers-javascript","sidebar":"docs"},{"id":"basics/helpers-php","path":"/docs/basics/helpers-php","sidebar":"docs"},{"id":"basics/helpers-scss","path":"/docs/basics/helpers-scss","sidebar":"docs"},{"id":"basics/library","path":"/docs/basics/library","sidebar":"docs"},{"id":"basics/manifest","path":"/docs/basics/manifest","sidebar":"docs"},{"id":"basics/namespaces","path":"/docs/basics/namespaces","sidebar":"docs"},{"id":"basics/rest","path":"/docs/basics/rest","sidebar":"docs"},{"id":"basics/rest-field","path":"/docs/basics/rest-field","sidebar":"docs"},{"id":"basics/rest-route","path":"/docs/basics/rest-route","sidebar":"docs"},{"id":"basics/tips-tricks","path":"/docs/basics/tips-tricks","sidebar":"docs"},{"id":"basics/webpack","path":"/docs/basics/webpack","sidebar":"docs"},{"id":"basics/wp-cli","path":"/docs/basics/wp-cli","sidebar":"docs"},{"id":"basics/writing-styles","path":"/docs/basics/writing-styles","sidebar":"docs"},{"id":"crash-course/intro","path":"/docs/crash-course/intro","sidebar":"docs"},{"id":"eightshift-frontend-libs","path":"/docs/eightshift-frontend-libs","sidebar":"docs"},{"id":"eightshift-libs","path":"/docs/eightshift-libs","sidebar":"docs"},{"id":"legacy/v4/advanced/browsersync","path":"/docs/legacy/v4/advanced/browsersync","sidebar":"docs"},{"id":"legacy/v4/advanced/components-color-palette","path":"/docs/legacy/v4/advanced/components-color-palette","sidebar":"docs"},{"id":"legacy/v4/advanced/components-heading-level","path":"/docs/legacy/v4/advanced/components-heading-level","sidebar":"docs"},{"id":"legacy/v4/advanced/docs-sass","path":"/docs/legacy/v4/advanced/docs-sass","sidebar":"docs"},{"id":"legacy/v4/advanced/helpers-aliases-helpers","path":"/docs/legacy/v4/advanced/helpers-aliases-helpers","sidebar":"docs"},{"id":"legacy/v4/advanced/helpers-components-helpers","path":"/docs/legacy/v4/advanced/helpers-components-helpers","sidebar":"docs"},{"id":"legacy/v4/advanced/helpers-error-logger-helpers","path":"/docs/legacy/v4/advanced/helpers-error-logger-helpers","sidebar":"docs"},{"id":"legacy/v4/advanced/helpers-object-helpers","path":"/docs/legacy/v4/advanced/helpers-object-helpers","sidebar":"docs"},{"id":"legacy/v4/advanced/helpers-shortcode-helpers","path":"/docs/legacy/v4/advanced/helpers-shortcode-helpers","sidebar":"docs"},{"id":"legacy/v4/advanced/webpack","path":"/docs/legacy/v4/advanced/webpack","sidebar":"docs"},{"id":"legacy/v4/guides/blocks-block-from-components","path":"/docs/legacy/v4/guides/blocks-block-from-components","sidebar":"docs"},{"id":"legacy/v4/guides/blocks-filter-block-attributes-override","path":"/docs/legacy/v4/guides/blocks-filter-block-attributes-override","sidebar":"docs"},{"id":"legacy/v4/guides/blocks-get-actions-helper","path":"/docs/legacy/v4/guides/blocks-get-actions-helper","sidebar":"docs"},{"id":"legacy/v4/guides/blocks-registration","path":"/docs/legacy/v4/guides/blocks-registration","sidebar":"docs"},{"id":"legacy/v4/guides/blocks-render-block-view-helper","path":"/docs/legacy/v4/guides/blocks-render-block-view-helper","sidebar":"docs"},{"id":"legacy/v4/guides/blocks-structure","path":"/docs/legacy/v4/guides/blocks-structure","sidebar":"docs"},{"id":"legacy/v4/guides/blocks-structure-block-item","path":"/docs/legacy/v4/guides/blocks-structure-block-item","sidebar":"docs"},{"id":"legacy/v4/guides/blocks-structure-component","path":"/docs/legacy/v4/guides/blocks-structure-component","sidebar":"docs"},{"id":"legacy/v4/guides/blocks-structure-manifest","path":"/docs/legacy/v4/guides/blocks-structure-manifest","sidebar":"docs"},{"id":"legacy/v4/guides/columns-post-type","path":"/docs/legacy/v4/guides/columns-post-type","sidebar":"docs"},{"id":"legacy/v4/guides/columns-taxonomy","path":"/docs/legacy/v4/guides/columns-taxonomy","sidebar":"docs"},{"id":"legacy/v4/guides/columns-user","path":"/docs/legacy/v4/guides/columns-user","sidebar":"docs"},{"id":"legacy/v4/guides/config","path":"/docs/legacy/v4/guides/config","sidebar":"docs"},{"id":"legacy/v4/guides/di-container","path":"/docs/legacy/v4/guides/di-container","sidebar":"docs"},{"id":"legacy/v4/guides/enqueue","path":"/docs/legacy/v4/guides/enqueue","sidebar":"docs"},{"id":"legacy/v4/guides/extending-classes","path":"/docs/legacy/v4/guides/extending-classes","sidebar":"docs"},{"id":"legacy/v4/guides/fonts-custom","path":"/docs/legacy/v4/guides/fonts-custom","sidebar":"docs"},{"id":"legacy/v4/guides/fonts-icon","path":"/docs/legacy/v4/guides/fonts-icon","sidebar":"docs"},{"id":"legacy/v4/guides/i18n","path":"/docs/legacy/v4/guides/i18n","sidebar":"docs"},{"id":"legacy/v4/guides/login","path":"/docs/legacy/v4/guides/login","sidebar":"docs"},{"id":"legacy/v4/guides/manifest","path":"/docs/legacy/v4/guides/manifest","sidebar":"docs"},{"id":"legacy/v4/guides/media","path":"/docs/legacy/v4/guides/media","sidebar":"docs"},{"id":"legacy/v4/guides/menu","path":"/docs/legacy/v4/guides/menu","sidebar":"docs"},{"id":"legacy/v4/guides/post-type","path":"/docs/legacy/v4/guides/post-type","sidebar":"docs"},{"id":"legacy/v4/guides/rest-field-example","path":"/docs/legacy/v4/guides/rest-field-example","sidebar":"docs"},{"id":"legacy/v4/guides/rest-intro","path":"/docs/legacy/v4/guides/rest-intro","sidebar":"docs"},{"id":"legacy/v4/guides/rest-route-example","path":"/docs/legacy/v4/guides/rest-route-example","sidebar":"docs"},{"id":"legacy/v4/guides/taxonomy","path":"/docs/legacy/v4/guides/taxonomy","sidebar":"docs"},{"id":"legacy/v4/versions","path":"/docs/legacy/v4/versions","sidebar":"docs"},{"id":"legacy/v5/basics/autowiring","path":"/docs/legacy/v5/basics/autowiring","sidebar":"docs"},{"id":"legacy/v5/basics/backend","path":"/docs/legacy/v5/basics/backend","sidebar":"docs"},{"id":"legacy/v5/basics/basics-intro","path":"/docs/legacy/v5/basics/basics-intro","sidebar":"docs"},{"id":"legacy/v5/basics/block-manifest","path":"/docs/legacy/v5/basics/block-manifest","sidebar":"docs"},{"id":"legacy/v5/basics/block-structure","path":"/docs/legacy/v5/basics/block-structure","sidebar":"docs"},{"id":"legacy/v5/basics/blocks","path":"/docs/legacy/v5/basics/blocks","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-attributes","path":"/docs/legacy/v5/basics/blocks-attributes","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-component-in-block","path":"/docs/legacy/v5/basics/blocks-component-in-block","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-component-manifest","path":"/docs/legacy/v5/basics/blocks-component-manifest","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-component-structure","path":"/docs/legacy/v5/basics/blocks-component-structure","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-global-manifest","path":"/docs/legacy/v5/basics/blocks-global-manifest","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-hooks","path":"/docs/legacy/v5/basics/blocks-hooks","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-important","path":"/docs/legacy/v5/basics/blocks-important","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-intro","path":"/docs/legacy/v5/basics/blocks-intro","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-patterns","path":"/docs/legacy/v5/basics/blocks-patterns","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-registration","path":"/docs/legacy/v5/basics/blocks-registration","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-reusable","path":"/docs/legacy/v5/basics/blocks-reusable","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-special-use-cases","path":"/docs/legacy/v5/basics/blocks-special-use-cases","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-storybook","path":"/docs/legacy/v5/basics/blocks-storybook","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-structure","path":"/docs/legacy/v5/basics/blocks-structure","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-styles","path":"/docs/legacy/v5/basics/blocks-styles","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-transforms","path":"/docs/legacy/v5/basics/blocks-transforms","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-variations","path":"/docs/legacy/v5/basics/blocks-variations","sidebar":"docs"},{"id":"legacy/v5/basics/blocks-wrapper","path":"/docs/legacy/v5/basics/blocks-wrapper","sidebar":"docs"},{"id":"legacy/v5/basics/browser-sync","path":"/docs/legacy/v5/basics/browser-sync","sidebar":"docs"},{"id":"legacy/v5/basics/dynamic-import","path":"/docs/legacy/v5/basics/dynamic-import","sidebar":"docs"},{"id":"legacy/v5/basics/example-class","path":"/docs/legacy/v5/basics/example-class","sidebar":"docs"},{"id":"legacy/v5/basics/extending-classes","path":"/docs/legacy/v5/basics/extending-classes","sidebar":"docs"},{"id":"legacy/v5/basics/fonts","path":"/docs/legacy/v5/basics/fonts","sidebar":"docs"},{"id":"legacy/v5/basics/frontend","path":"/docs/legacy/v5/basics/frontend","sidebar":"docs"},{"id":"legacy/v5/basics/global-settings","path":"/docs/legacy/v5/basics/global-settings","sidebar":"docs"},{"id":"legacy/v5/basics/helpers","path":"/docs/legacy/v5/basics/helpers","sidebar":"docs"},{"id":"legacy/v5/basics/helpers-javascript","path":"/docs/legacy/v5/basics/helpers-javascript","sidebar":"docs"},{"id":"legacy/v5/basics/helpers-php","path":"/docs/legacy/v5/basics/helpers-php","sidebar":"docs"},{"id":"legacy/v5/basics/helpers-scss","path":"/docs/legacy/v5/basics/helpers-scss","sidebar":"docs"},{"id":"legacy/v5/basics/library","path":"/docs/legacy/v5/basics/library","sidebar":"docs"},{"id":"legacy/v5/basics/manifest","path":"/docs/legacy/v5/basics/manifest","sidebar":"docs"},{"id":"legacy/v5/basics/namespaces","path":"/docs/legacy/v5/basics/namespaces","sidebar":"docs"},{"id":"legacy/v5/basics/rest","path":"/docs/legacy/v5/basics/rest","sidebar":"docs"},{"id":"legacy/v5/basics/rest-field","path":"/docs/legacy/v5/basics/rest-field","sidebar":"docs"},{"id":"legacy/v5/basics/rest-route","path":"/docs/legacy/v5/basics/rest-route","sidebar":"docs"},{"id":"legacy/v5/basics/the-structure","path":"/docs/legacy/v5/basics/the-structure","sidebar":"docs"},{"id":"legacy/v5/basics/webpack","path":"/docs/legacy/v5/basics/webpack","sidebar":"docs"},{"id":"legacy/v5/basics/wp-cli","path":"/docs/legacy/v5/basics/wp-cli","sidebar":"docs"},{"id":"legacy/v5/basics/writing-styles","path":"/docs/legacy/v5/basics/writing-styles","sidebar":"docs"},{"id":"legacy/v5/versions","path":"/docs/legacy/v5/versions","sidebar":"docs"},{"id":"legacy/v6/basics/architecture-concepts","path":"/docs/legacy/v6/basics/architecture-concepts","sidebar":"docs"},{"id":"legacy/v6/basics/autowiring","path":"/docs/legacy/v6/basics/autowiring","sidebar":"docs"},{"id":"legacy/v6/basics/backend","path":"/docs/legacy/v6/basics/backend","sidebar":"docs"},{"id":"legacy/v6/basics/basics-intro","path":"/docs/legacy/v6/basics/basics-intro","sidebar":"docs"},{"id":"legacy/v6/basics/block-manifest","path":"/docs/legacy/v6/basics/block-manifest","sidebar":"docs"},{"id":"legacy/v6/basics/block-structure","path":"/docs/legacy/v6/basics/block-structure","sidebar":"docs"},{"id":"legacy/v6/basics/blocks","path":"/docs/legacy/v6/basics/blocks","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-attributes","path":"/docs/legacy/v6/basics/blocks-attributes","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-component-in-block","path":"/docs/legacy/v6/basics/blocks-component-in-block","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-component-manifest","path":"/docs/legacy/v6/basics/blocks-component-manifest","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-component-structure","path":"/docs/legacy/v6/basics/blocks-component-structure","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-faq","path":"/docs/legacy/v6/basics/blocks-faq","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-global-manifest","path":"/docs/legacy/v6/basics/blocks-global-manifest","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-hooks","path":"/docs/legacy/v6/basics/blocks-hooks","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-important","path":"/docs/legacy/v6/basics/blocks-important","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-patterns","path":"/docs/legacy/v6/basics/blocks-patterns","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-registration","path":"/docs/legacy/v6/basics/blocks-registration","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-reusable","path":"/docs/legacy/v6/basics/blocks-reusable","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-special-use-cases","path":"/docs/legacy/v6/basics/blocks-special-use-cases","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-storybook","path":"/docs/legacy/v6/basics/blocks-storybook","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-structure","path":"/docs/legacy/v6/basics/blocks-structure","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-styles","path":"/docs/legacy/v6/basics/blocks-styles","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-transforms","path":"/docs/legacy/v6/basics/blocks-transforms","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-variations","path":"/docs/legacy/v6/basics/blocks-variations","sidebar":"docs"},{"id":"legacy/v6/basics/blocks-wrapper","path":"/docs/legacy/v6/basics/blocks-wrapper","sidebar":"docs"},{"id":"legacy/v6/basics/browser-sync","path":"/docs/legacy/v6/basics/browser-sync","sidebar":"docs"},{"id":"legacy/v6/basics/dynamic-import","path":"/docs/legacy/v6/basics/dynamic-import","sidebar":"docs"},{"id":"legacy/v6/basics/example-class","path":"/docs/legacy/v6/basics/example-class","sidebar":"docs"},{"id":"legacy/v6/basics/extending-classes","path":"/docs/legacy/v6/basics/extending-classes","sidebar":"docs"},{"id":"legacy/v6/basics/fonts","path":"/docs/legacy/v6/basics/fonts","sidebar":"docs"},{"id":"legacy/v6/basics/frontend","path":"/docs/legacy/v6/basics/frontend","sidebar":"docs"},{"id":"legacy/v6/basics/global-settings","path":"/docs/legacy/v6/basics/global-settings","sidebar":"docs"},{"id":"legacy/v6/basics/helpers","path":"/docs/legacy/v6/basics/helpers","sidebar":"docs"},{"id":"legacy/v6/basics/helpers-javascript","path":"/docs/legacy/v6/basics/helpers-javascript","sidebar":"docs"},{"id":"legacy/v6/basics/helpers-php","path":"/docs/legacy/v6/basics/helpers-php","sidebar":"docs"},{"id":"legacy/v6/basics/helpers-scss","path":"/docs/legacy/v6/basics/helpers-scss","sidebar":"docs"},{"id":"legacy/v6/basics/library","path":"/docs/legacy/v6/basics/library","sidebar":"docs"},{"id":"legacy/v6/basics/manifest","path":"/docs/legacy/v6/basics/manifest","sidebar":"docs"},{"id":"legacy/v6/basics/namespaces","path":"/docs/legacy/v6/basics/namespaces","sidebar":"docs"},{"id":"legacy/v6/basics/rest","path":"/docs/legacy/v6/basics/rest","sidebar":"docs"},{"id":"legacy/v6/basics/rest-field","path":"/docs/legacy/v6/basics/rest-field","sidebar":"docs"},{"id":"legacy/v6/basics/rest-route","path":"/docs/legacy/v6/basics/rest-route","sidebar":"docs"},{"id":"legacy/v6/basics/tips-tricks","path":"/docs/legacy/v6/basics/tips-tricks","sidebar":"docs"},{"id":"legacy/v6/basics/webpack","path":"/docs/legacy/v6/basics/webpack","sidebar":"docs"},{"id":"legacy/v6/basics/wp-cli","path":"/docs/legacy/v6/basics/wp-cli","sidebar":"docs"},{"id":"legacy/v6/basics/writing-styles","path":"/docs/legacy/v6/basics/writing-styles","sidebar":"docs"},{"id":"legacy/v6/versions","path":"/docs/legacy/v6/versions","sidebar":"docs"},{"id":"legacy/v7/basics/architecture-concepts","path":"/docs/legacy/v7/basics/architecture-concepts","sidebar":"docs"},{"id":"legacy/v7/basics/autowiring","path":"/docs/legacy/v7/basics/autowiring","sidebar":"docs"},{"id":"legacy/v7/basics/backend","path":"/docs/legacy/v7/basics/backend","sidebar":"docs"},{"id":"legacy/v7/basics/basics-intro","path":"/docs/legacy/v7/basics/basics-intro","sidebar":"docs"},{"id":"legacy/v7/basics/block-manifest","path":"/docs/legacy/v7/basics/block-manifest","sidebar":"docs"},{"id":"legacy/v7/basics/block-structure","path":"/docs/legacy/v7/basics/block-structure","sidebar":"docs"},{"id":"legacy/v7/basics/blocks","path":"/docs/legacy/v7/basics/blocks","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-attributes","path":"/docs/legacy/v7/basics/blocks-attributes","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-component-in-block","path":"/docs/legacy/v7/basics/blocks-component-in-block","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-component-manifest","path":"/docs/legacy/v7/basics/blocks-component-manifest","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-component-structure","path":"/docs/legacy/v7/basics/blocks-component-structure","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-faq","path":"/docs/legacy/v7/basics/blocks-faq","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-global-manifest","path":"/docs/legacy/v7/basics/blocks-global-manifest","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-hooks","path":"/docs/legacy/v7/basics/blocks-hooks","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-important","path":"/docs/legacy/v7/basics/blocks-important","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-patterns","path":"/docs/legacy/v7/basics/blocks-patterns","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-registration","path":"/docs/legacy/v7/basics/blocks-registration","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-reusable","path":"/docs/legacy/v7/basics/blocks-reusable","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-special-use-cases","path":"/docs/legacy/v7/basics/blocks-special-use-cases","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-storybook","path":"/docs/legacy/v7/basics/blocks-storybook","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-structure","path":"/docs/legacy/v7/basics/blocks-structure","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-styles","path":"/docs/legacy/v7/basics/blocks-styles","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-transforms","path":"/docs/legacy/v7/basics/blocks-transforms","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-variations","path":"/docs/legacy/v7/basics/blocks-variations","sidebar":"docs"},{"id":"legacy/v7/basics/blocks-wrapper","path":"/docs/legacy/v7/basics/blocks-wrapper","sidebar":"docs"},{"id":"legacy/v7/basics/browser-sync","path":"/docs/legacy/v7/basics/browser-sync","sidebar":"docs"},{"id":"legacy/v7/basics/dynamic-import","path":"/docs/legacy/v7/basics/dynamic-import","sidebar":"docs"},{"id":"legacy/v7/basics/example-class","path":"/docs/legacy/v7/basics/example-class","sidebar":"docs"},{"id":"legacy/v7/basics/extending-classes","path":"/docs/legacy/v7/basics/extending-classes","sidebar":"docs"},{"id":"legacy/v7/basics/fonts","path":"/docs/legacy/v7/basics/fonts","sidebar":"docs"},{"id":"legacy/v7/basics/frontend","path":"/docs/legacy/v7/basics/frontend","sidebar":"docs"},{"id":"legacy/v7/basics/global-settings","path":"/docs/legacy/v7/basics/global-settings","sidebar":"docs"},{"id":"legacy/v7/basics/helpers","path":"/docs/legacy/v7/basics/helpers","sidebar":"docs"},{"id":"legacy/v7/basics/helpers-javascript","path":"/docs/legacy/v7/basics/helpers-javascript","sidebar":"docs"},{"id":"legacy/v7/basics/helpers-php","path":"/docs/legacy/v7/basics/helpers-php","sidebar":"docs"},{"id":"legacy/v7/basics/helpers-scss","path":"/docs/legacy/v7/basics/helpers-scss","sidebar":"docs"},{"id":"legacy/v7/basics/library","path":"/docs/legacy/v7/basics/library","sidebar":"docs"},{"id":"legacy/v7/basics/manifest","path":"/docs/legacy/v7/basics/manifest","sidebar":"docs"},{"id":"legacy/v7/basics/namespaces","path":"/docs/legacy/v7/basics/namespaces","sidebar":"docs"},{"id":"legacy/v7/basics/rest","path":"/docs/legacy/v7/basics/rest","sidebar":"docs"},{"id":"legacy/v7/basics/rest-field","path":"/docs/legacy/v7/basics/rest-field","sidebar":"docs"},{"id":"legacy/v7/basics/rest-route","path":"/docs/legacy/v7/basics/rest-route","sidebar":"docs"},{"id":"legacy/v7/basics/tips-tricks","path":"/docs/legacy/v7/basics/tips-tricks","sidebar":"docs"},{"id":"legacy/v7/basics/webpack","path":"/docs/legacy/v7/basics/webpack","sidebar":"docs"},{"id":"legacy/v7/basics/wp-cli","path":"/docs/legacy/v7/basics/wp-cli","sidebar":"docs"},{"id":"legacy/v7/basics/writing-styles","path":"/docs/legacy/v7/basics/writing-styles","sidebar":"docs"},{"id":"legacy/v7/versions","path":"/docs/legacy/v7/versions","sidebar":"docs"},{"id":"legacy/v8/basics/architecture-concepts","path":"/docs/legacy/v8/basics/architecture-concepts","sidebar":"docs"},{"id":"legacy/v8/basics/autowiring","path":"/docs/legacy/v8/basics/autowiring","sidebar":"docs"},{"id":"legacy/v8/basics/backend","path":"/docs/legacy/v8/basics/backend","sidebar":"docs"},{"id":"legacy/v8/basics/basics-intro","path":"/docs/legacy/v8/basics/basics-intro","sidebar":"docs"},{"id":"legacy/v8/basics/block-manifest","path":"/docs/legacy/v8/basics/block-manifest","sidebar":"docs"},{"id":"legacy/v8/basics/block-structure","path":"/docs/legacy/v8/basics/block-structure","sidebar":"docs"},{"id":"legacy/v8/basics/blocks","path":"/docs/legacy/v8/basics/blocks","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-attributes","path":"/docs/legacy/v8/basics/blocks-attributes","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-component-in-block","path":"/docs/legacy/v8/basics/blocks-component-in-block","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-component-manifest","path":"/docs/legacy/v8/basics/blocks-component-manifest","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-component-structure","path":"/docs/legacy/v8/basics/blocks-component-structure","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-faq","path":"/docs/legacy/v8/basics/blocks-faq","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-global-manifest","path":"/docs/legacy/v8/basics/blocks-global-manifest","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-hooks","path":"/docs/legacy/v8/basics/blocks-hooks","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-important","path":"/docs/legacy/v8/basics/blocks-important","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-patterns","path":"/docs/legacy/v8/basics/blocks-patterns","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-registration","path":"/docs/legacy/v8/basics/blocks-registration","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-reusable","path":"/docs/legacy/v8/basics/blocks-reusable","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-special-use-cases","path":"/docs/legacy/v8/basics/blocks-special-use-cases","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-storybook","path":"/docs/legacy/v8/basics/blocks-storybook","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-structure","path":"/docs/legacy/v8/basics/blocks-structure","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-styles","path":"/docs/legacy/v8/basics/blocks-styles","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-transforms","path":"/docs/legacy/v8/basics/blocks-transforms","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-variations","path":"/docs/legacy/v8/basics/blocks-variations","sidebar":"docs"},{"id":"legacy/v8/basics/blocks-wrapper","path":"/docs/legacy/v8/basics/blocks-wrapper","sidebar":"docs"},{"id":"legacy/v8/basics/browser-sync","path":"/docs/legacy/v8/basics/browser-sync","sidebar":"docs"},{"id":"legacy/v8/basics/dynamic-import","path":"/docs/legacy/v8/basics/dynamic-import","sidebar":"docs"},{"id":"legacy/v8/basics/example-class","path":"/docs/legacy/v8/basics/example-class","sidebar":"docs"},{"id":"legacy/v8/basics/extending-classes","path":"/docs/legacy/v8/basics/extending-classes","sidebar":"docs"},{"id":"legacy/v8/basics/fonts","path":"/docs/legacy/v8/basics/fonts","sidebar":"docs"},{"id":"legacy/v8/basics/frontend","path":"/docs/legacy/v8/basics/frontend","sidebar":"docs"},{"id":"legacy/v8/basics/global-settings","path":"/docs/legacy/v8/basics/global-settings","sidebar":"docs"},{"id":"legacy/v8/basics/helpers","path":"/docs/legacy/v8/basics/helpers","sidebar":"docs"},{"id":"legacy/v8/basics/helpers-javascript","path":"/docs/legacy/v8/basics/helpers-javascript","sidebar":"docs"},{"id":"legacy/v8/basics/helpers-php","path":"/docs/legacy/v8/basics/helpers-php","sidebar":"docs"},{"id":"legacy/v8/basics/helpers-scss","path":"/docs/legacy/v8/basics/helpers-scss","sidebar":"docs"},{"id":"legacy/v8/basics/library","path":"/docs/legacy/v8/basics/library","sidebar":"docs"},{"id":"legacy/v8/basics/manifest","path":"/docs/legacy/v8/basics/manifest","sidebar":"docs"},{"id":"legacy/v8/basics/namespaces","path":"/docs/legacy/v8/basics/namespaces","sidebar":"docs"},{"id":"legacy/v8/basics/rest","path":"/docs/legacy/v8/basics/rest","sidebar":"docs"},{"id":"legacy/v8/basics/rest-field","path":"/docs/legacy/v8/basics/rest-field","sidebar":"docs"},{"id":"legacy/v8/basics/rest-route","path":"/docs/legacy/v8/basics/rest-route","sidebar":"docs"},{"id":"legacy/v8/basics/tips-tricks","path":"/docs/legacy/v8/basics/tips-tricks","sidebar":"docs"},{"id":"legacy/v8/basics/webpack","path":"/docs/legacy/v8/basics/webpack","sidebar":"docs"},{"id":"legacy/v8/basics/wp-cli","path":"/docs/legacy/v8/basics/wp-cli","sidebar":"docs"},{"id":"legacy/v8/basics/writing-styles","path":"/docs/legacy/v8/basics/writing-styles","sidebar":"docs"},{"id":"legacy/v8/versions","path":"/docs/legacy/v8/versions","sidebar":"docs"},{"id":"migrations/10-11","path":"/docs/migrations/10-11","sidebar":"docs"},{"id":"migrations/5-6","path":"/docs/migrations/5-6","sidebar":"docs"},{"id":"migrations/6-7","path":"/docs/migrations/6-7","sidebar":"docs"},{"id":"migrations/7-8","path":"/docs/migrations/7-8","sidebar":"docs"},{"id":"migrations/8-9","path":"/docs/migrations/8-9","sidebar":"docs"},{"id":"migrations/9-10","path":"/docs/migrations/9-10","sidebar":"docs"},{"id":"plugin","path":"/docs/plugin","sidebar":"docs"},{"id":"requirements","path":"/docs/requirements","sidebar":"docs"},{"id":"theme","path":"/docs/theme","sidebar":"docs"},{"id":"tutorials/intro","path":"/docs/tutorials/intro","sidebar":"docs"},{"id":"versions","path":"/docs/versions","sidebar":"docs"},{"id":"welcome","path":"/docs/welcome","sidebar":"docs"}],"draftIds":[],"sidebars":{"docs":{"link":{"path":"/docs/welcome","label":"welcome"}}}}],"breadcrumbs":true},"forms":{"path":"/forms","versions":[{"name":"current","label":"Next","isLast":true,"path":"/forms","mainDocId":"welcome","docs":[{"id":"addons/create/addon-boilerplate","path":"/forms/addons/create/addon-boilerplate","sidebar":"forms"},{"id":"addons/create/intro","path":"/forms/addons/create/intro","sidebar":"forms"},{"id":"addons/create/requirements","path":"/forms/addons/create/requirements","sidebar":"forms"},{"id":"addons/create/utils-library","path":"/forms/addons/create/utils-library","sidebar":"forms"},{"id":"addons/free/intro","path":"/forms/addons/free/intro","sidebar":"forms"},{"id":"addons/intro","path":"/forms/addons/intro","sidebar":"forms"},{"id":"addons/premium/computed-fields/blocks","path":"/forms/addons/premium/computed-fields/blocks","sidebar":"forms"},{"id":"addons/premium/computed-fields/data-flow","path":"/forms/addons/premium/computed-fields/data-flow","sidebar":"forms"},{"id":"addons/premium/computed-fields/how-to-use","path":"/forms/addons/premium/computed-fields/how-to-use","sidebar":"forms"},{"id":"addons/premium/computed-fields/intro","path":"/forms/addons/premium/computed-fields/intro","sidebar":"forms"},{"id":"addons/premium/computed-fields/settings","path":"/forms/addons/premium/computed-fields/settings","sidebar":"forms"},{"id":"addons/premium/intro","path":"/forms/addons/premium/intro","sidebar":"forms"},{"id":"basics","path":"/forms/basics","sidebar":"forms"},{"id":"features/cache","path":"/forms/features/cache","sidebar":"forms"},{"id":"features/cloudflare","path":"/forms/features/cloudflare","sidebar":"forms"},{"id":"features/conditional-tags","path":"/forms/features/conditional-tags","sidebar":"forms"},{"id":"features/country-list","path":"/forms/features/country-list","sidebar":"forms"},{"id":"features/dashboard","path":"/forms/features/dashboard","sidebar":"forms"},{"id":"features/debug","path":"/forms/features/debug","sidebar":"forms"},{"id":"features/enrichment","path":"/forms/features/enrichment","sidebar":"forms"},{"id":"features/entries","path":"/forms/features/entries","sidebar":"forms"},{"id":"features/fallback-emails","path":"/forms/features/fallback-emails","sidebar":"forms"},{"id":"features/geolocation","path":"/forms/features/geolocation","sidebar":"forms"},{"id":"features/import-export","path":"/forms/features/import-export","sidebar":"forms"},{"id":"features/labels","path":"/forms/features/labels","sidebar":"forms"},{"id":"features/locations","path":"/forms/features/locations","sidebar":"forms"},{"id":"features/migrations","path":"/forms/features/migrations","sidebar":"forms"},{"id":"features/multisteps-forms","path":"/forms/features/multisteps-forms","sidebar":"forms"},{"id":"features/result-output","path":"/forms/features/result-output","sidebar":"forms"},{"id":"features/security","path":"/forms/features/security","sidebar":"forms"},{"id":"features/show-as","path":"/forms/features/show-as","sidebar":"forms"},{"id":"features/single-submit","path":"/forms/features/single-submit","sidebar":"forms"},{"id":"features/spam-prevention","path":"/forms/features/spam-prevention","sidebar":"forms"},{"id":"features/success-redirect","path":"/forms/features/success-redirect","sidebar":"forms"},{"id":"features/tracking","path":"/forms/features/tracking","sidebar":"forms"},{"id":"features/validation","path":"/forms/features/validation","sidebar":"forms"},{"id":"features/wpml","path":"/forms/features/wpml","sidebar":"forms"},{"id":"first-form","path":"/forms/first-form","sidebar":"forms"},{"id":"integrations/active-campaign","path":"/forms/integrations/active-campaign","sidebar":"forms"},{"id":"integrations/airtable","path":"/forms/integrations/airtable","sidebar":"forms"},{"id":"integrations/calculator","path":"/forms/integrations/calculator","sidebar":"forms"},{"id":"integrations/clearbit","path":"/forms/integrations/clearbit","sidebar":"forms"},{"id":"integrations/goodbits","path":"/forms/integrations/goodbits","sidebar":"forms"},{"id":"integrations/greenhouse","path":"/forms/integrations/greenhouse","sidebar":"forms"},{"id":"integrations/hubspot","path":"/forms/integrations/hubspot","sidebar":"forms"},{"id":"integrations/intro","path":"/forms/integrations/intro","sidebar":"forms"},{"id":"integrations/jira","path":"/forms/integrations/jira","sidebar":"forms"},{"id":"integrations/mailchimp","path":"/forms/integrations/mailchimp","sidebar":"forms"},{"id":"integrations/mailer","path":"/forms/integrations/mailer","sidebar":"forms"},{"id":"integrations/mailerlite","path":"/forms/integrations/mailerlite","sidebar":"forms"},{"id":"integrations/moments","path":"/forms/integrations/moments","sidebar":"forms"},{"id":"integrations/pipedrive","path":"/forms/integrations/pipedrive","sidebar":"forms"},{"id":"integrations/workable","path":"/forms/integrations/workable","sidebar":"forms"},{"id":"javascript/events/available-events","path":"/forms/javascript/events/available-events","sidebar":"forms"},{"id":"javascript/events/how-to-use","path":"/forms/javascript/events/how-to-use","sidebar":"forms"},{"id":"javascript/intro","path":"/forms/javascript/intro","sidebar":"forms"},{"id":"javascript/manual-initiation","path":"/forms/javascript/manual-initiation","sidebar":"forms"},{"id":"javascript/state/captcha","path":"/forms/javascript/state/captcha","sidebar":"forms"},{"id":"javascript/state/conditional-tags","path":"/forms/javascript/state/conditional-tags","sidebar":"forms"},{"id":"javascript/state/enrichment","path":"/forms/javascript/state/enrichment","sidebar":"forms"},{"id":"javascript/state/form","path":"/forms/javascript/state/form","sidebar":"forms"},{"id":"javascript/state/how-to-use","path":"/forms/javascript/state/how-to-use","sidebar":"forms"},{"id":"javascript/state/state","path":"/forms/javascript/state/","sidebar":"forms"},{"id":"javascript/state/step","path":"/forms/javascript/state/step","sidebar":"forms"},{"id":"javascript/state/store","path":"/forms/javascript/state/store","sidebar":"forms"},{"id":"javascript/state/utils","path":"/forms/javascript/state/utils","sidebar":"forms"},{"id":"known-issues","path":"/forms/known-issues","sidebar":"forms"},{"id":"php/actions/how-to-use","path":"/forms/php/actions/how-to-use","sidebar":"forms"},{"id":"php/actions/migrations","path":"/forms/php/actions/migrations","sidebar":"forms"},{"id":"php/filters/admin/settings-data","path":"/forms/php/filters/admin/settings-data","sidebar":"forms"},{"id":"php/filters/block/checkboxes/additional-content","path":"/forms/php/filters/block/checkboxes/additional-content","sidebar":"forms"},{"id":"php/filters/block/country/additional-content","path":"/forms/php/filters/block/country/additional-content","sidebar":"forms"},{"id":"php/filters/block/country/alternative-data-set","path":"/forms/php/filters/block/country/alternative-data-set","sidebar":"forms"},{"id":"php/filters/block/date/additional-content","path":"/forms/php/filters/block/date/additional-content","sidebar":"forms"},{"id":"php/filters/block/field/additional-content","path":"/forms/php/filters/block/field/additional-content","sidebar":"forms"},{"id":"php/filters/block/field/style-classes","path":"/forms/php/filters/block/field/style-classes","sidebar":"forms"},{"id":"php/filters/block/field/style-options","path":"/forms/php/filters/block/field/style-options","sidebar":"forms"},{"id":"php/filters/block/file/additional-content","path":"/forms/php/filters/block/file/additional-content","sidebar":"forms"},{"id":"php/filters/block/file/preview-remove-label","path":"/forms/php/filters/block/file/preview-remove-label","sidebar":"forms"},{"id":"php/filters/block/form-selector/additional-content","path":"/forms/php/filters/block/form-selector/additional-content","sidebar":"forms"},{"id":"php/filters/block/form-selector/form-templates","path":"/forms/php/filters/block/form-selector/form-templates","sidebar":"forms"},{"id":"php/filters/block/form/additional-content","path":"/forms/php/filters/block/form/additional-content","sidebar":"forms"},{"id":"php/filters/block/form/additional-hidden-fields","path":"/forms/php/filters/block/form/additional-hidden-fields","sidebar":"forms"},{"id":"php/filters/block/form/data-type-selector","path":"/forms/php/filters/block/form/data-type-selector","sidebar":"forms"},{"id":"php/filters/block/form/global-msg-headings","path":"/forms/php/filters/block/form/global-msg-headings","sidebar":"forms"},{"id":"php/filters/block/form/hide-global-msg-timeout","path":"/forms/php/filters/block/form/hide-global-msg-timeout","sidebar":"forms"},{"id":"php/filters/block/form/phone-sync","path":"/forms/php/filters/block/form/phone-sync","sidebar":"forms"},{"id":"php/filters/block/form/pre-response-addon-data","path":"/forms/php/filters/block/form/pre-response-addon-data","sidebar":"forms"},{"id":"php/filters/block/form/pre-response-success-redirect-data","path":"/forms/php/filters/block/form/pre-response-success-redirect-data","sidebar":"forms"},{"id":"php/filters/block/form/redirect-timeout","path":"/forms/php/filters/block/form/redirect-timeout","sidebar":"forms"},{"id":"php/filters/block/form/result-output-items","path":"/forms/php/filters/block/form/result-output-items","sidebar":"forms"},{"id":"php/filters/block/form/result-output-parts","path":"/forms/php/filters/block/form/result-output-parts","sidebar":"forms"},{"id":"php/filters/block/form/success-redirect-url","path":"/forms/php/filters/block/form/success-redirect-url","sidebar":"forms"},{"id":"php/filters/block/form/success-redirect-variation","path":"/forms/php/filters/block/form/success-redirect-variation","sidebar":"forms"},{"id":"php/filters/block/form/success-redirect-variation-options","path":"/forms/php/filters/block/form/success-redirect-variation-options","sidebar":"forms"},{"id":"php/filters/block/form/tracking-additional-data","path":"/forms/php/filters/block/form/tracking-additional-data","sidebar":"forms"},{"id":"php/filters/block/form/tracking-event-name","path":"/forms/php/filters/block/form/tracking-event-name","sidebar":"forms"},{"id":"php/filters/block/forms/style-options","path":"/forms/php/filters/block/forms/style-options","sidebar":"forms"},{"id":"php/filters/block/input/additional-content","path":"/forms/php/filters/block/input/additional-content","sidebar":"forms"},{"id":"php/filters/block/phone/additional-content","path":"/forms/php/filters/block/phone/additional-content","sidebar":"forms"},{"id":"php/filters/block/radios/additional-content","path":"/forms/php/filters/block/radios/additional-content","sidebar":"forms"},{"id":"php/filters/block/rating/additional-content","path":"/forms/php/filters/block/rating/additional-content","sidebar":"forms"},{"id":"php/filters/block/select/additional-content","path":"/forms/php/filters/block/select/additional-content","sidebar":"forms"},{"id":"php/filters/block/step/component-next","path":"/forms/php/filters/block/step/component-next","sidebar":"forms"},{"id":"php/filters/block/step/component-prev","path":"/forms/php/filters/block/step/component-prev","sidebar":"forms"},{"id":"php/filters/block/submit/additional-content","path":"/forms/php/filters/block/submit/additional-content","sidebar":"forms"},{"id":"php/filters/block/submit/component","path":"/forms/php/filters/block/submit/component","sidebar":"forms"},{"id":"php/filters/block/textarea/additional-content","path":"/forms/php/filters/block/textarea/additional-content","sidebar":"forms"},{"id":"php/filters/blocks/additional-blocks","path":"/forms/php/filters/blocks/additional-blocks","sidebar":"forms"},{"id":"php/filters/blocks/allowed-blocks","path":"/forms/php/filters/blocks/allowed-blocks","sidebar":"forms"},{"id":"php/filters/blocks/media-breakpoints","path":"/forms/php/filters/blocks/media-breakpoints","sidebar":"forms"},{"id":"php/filters/enrichment/manual-map","path":"/forms/php/filters/enrichment/manual-map","sidebar":"forms"},{"id":"php/filters/entries/pre-post-params","path":"/forms/php/filters/entries/pre-post-params","sidebar":"forms"},{"id":"php/filters/general/http-request-timeout","path":"/forms/php/filters/general/http-request-timeout","sidebar":"forms"},{"id":"php/filters/general/locale","path":"/forms/php/filters/general/locale","sidebar":"forms"},{"id":"php/filters/general/scripts-dependency","path":"/forms/php/filters/general/scripts-dependency"},{"id":"php/filters/geolocation/countries","path":"/forms/php/filters/geolocation/countries","sidebar":"forms"},{"id":"php/filters/geolocation/db-location","path":"/forms/php/filters/geolocation/db-location","sidebar":"forms"},{"id":"php/filters/geolocation/phar-location","path":"/forms/php/filters/geolocation/phar-location","sidebar":"forms"},{"id":"php/filters/how-to-use","path":"/forms/php/filters/how-to-use","sidebar":"forms"},{"id":"php/filters/integrations/active-campaign","path":"/forms/php/filters/integrations/active-campaign","sidebar":"forms"},{"id":"php/filters/integrations/airtable","path":"/forms/php/filters/integrations/airtable","sidebar":"forms"},{"id":"php/filters/integrations/calculator","path":"/forms/php/filters/integrations/calculator","sidebar":"forms"},{"id":"php/filters/integrations/clearbit","path":"/forms/php/filters/integrations/clearbit","sidebar":"forms"},{"id":"php/filters/integrations/goodbits","path":"/forms/php/filters/integrations/goodbits","sidebar":"forms"},{"id":"php/filters/integrations/greenhouse","path":"/forms/php/filters/integrations/greenhouse","sidebar":"forms"},{"id":"php/filters/integrations/hubspot","path":"/forms/php/filters/integrations/hubspot","sidebar":"forms"},{"id":"php/filters/integrations/jira","path":"/forms/php/filters/integrations/jira","sidebar":"forms"},{"id":"php/filters/integrations/mailchimp","path":"/forms/php/filters/integrations/mailchimp","sidebar":"forms"},{"id":"php/filters/integrations/mailer","path":"/forms/php/filters/integrations/mailer","sidebar":"forms"},{"id":"php/filters/integrations/mailerlite","path":"/forms/php/filters/integrations/mailerlite","sidebar":"forms"},{"id":"php/filters/integrations/moments","path":"/forms/php/filters/integrations/moments","sidebar":"forms"},{"id":"php/filters/integrations/pipedrive","path":"/forms/php/filters/integrations/pipedrive","sidebar":"forms"},{"id":"php/filters/integrations/workable","path":"/forms/php/filters/integrations/workable","sidebar":"forms"},{"id":"php/filters/scripts/dependency-admin","path":"/forms/php/filters/scripts/dependency-admin","sidebar":"forms"},{"id":"php/filters/scripts/dependency-blocks-editor","path":"/forms/php/filters/scripts/dependency-blocks-editor","sidebar":"forms"},{"id":"php/filters/scripts/dependency-blocks-frontend","path":"/forms/php/filters/scripts/dependency-blocks-frontend","sidebar":"forms"},{"id":"php/filters/scripts/dependency-theme","path":"/forms/php/filters/scripts/dependency-theme","sidebar":"forms"},{"id":"php/filters/scripts/routes-private","path":"/forms/php/filters/scripts/routes-private","sidebar":"forms"},{"id":"php/filters/scripts/routes-public","path":"/forms/php/filters/scripts/routes-public","sidebar":"forms"},{"id":"php/filters/validation/force-mimetype-from-fs","path":"/forms/php/filters/validation/force-mimetype-from-fs","sidebar":"forms"},{"id":"php/global-variables/geolocation","path":"/forms/php/global-variables/geolocation","sidebar":"forms"},{"id":"php/global-variables/google-recaptcha","path":"/forms/php/global-variables/google-recaptcha","sidebar":"forms"},{"id":"php/global-variables/how-to-use","path":"/forms/php/global-variables/how-to-use","sidebar":"forms"},{"id":"php/global-variables/integrations/active-campaign","path":"/forms/php/global-variables/integrations/active-campaign","sidebar":"forms"},{"id":"php/global-variables/integrations/airtable","path":"/forms/php/global-variables/integrations/airtable","sidebar":"forms"},{"id":"php/global-variables/integrations/clearbit","path":"/forms/php/global-variables/integrations/clearbit","sidebar":"forms"},{"id":"php/global-variables/integrations/goodbits","path":"/forms/php/global-variables/integrations/goodbits","sidebar":"forms"},{"id":"php/global-variables/integrations/greenhouse","path":"/forms/php/global-variables/integrations/greenhouse","sidebar":"forms"},{"id":"php/global-variables/integrations/hubspot","path":"/forms/php/global-variables/integrations/hubspot","sidebar":"forms"},{"id":"php/global-variables/integrations/jira","path":"/forms/php/global-variables/integrations/jira","sidebar":"forms"},{"id":"php/global-variables/integrations/mailchimp","path":"/forms/php/global-variables/integrations/mailchimp","sidebar":"forms"},{"id":"php/global-variables/integrations/mailerlite","path":"/forms/php/global-variables/integrations/mailerlite","sidebar":"forms"},{"id":"php/global-variables/integrations/moments","path":"/forms/php/global-variables/integrations/moments","sidebar":"forms"},{"id":"php/global-variables/integrations/pipedrive","path":"/forms/php/global-variables/integrations/pipedrive","sidebar":"forms"},{"id":"php/global-variables/integrations/workable","path":"/forms/php/global-variables/integrations/workable","sidebar":"forms"},{"id":"php/helpers","path":"/forms/php/helpers","sidebar":"forms"},{"id":"php/intro","path":"/forms/php/intro","sidebar":"forms"},{"id":"php/shortcodes","path":"/forms/php/shortcodes","sidebar":"forms"},{"id":"php/wp-cli","path":"/forms/php/wp-cli","sidebar":"forms"},{"id":"tutorials/playlist","path":"/forms/tutorials/playlist","sidebar":"forms"},{"id":"welcome","path":"/forms/welcome","sidebar":"forms"}],"draftIds":[],"sidebars":{"forms":{"link":{"path":"/forms/welcome","label":"welcome"}}}}],"breadcrumbs":true}},"docusaurus-plugin-google-gtag":{"default":{"trackingID":["GTM-P5GG5DH"],"anonymizeIP":true,"id":"default"}}}'),r=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var i=n(22654);const c=JSON.parse('{"docusaurusVersion":"3.3.2","siteVersion":"9.1.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.3.2"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.3.2"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.3.2"},"docusaurus-plugin-google-gtag":{"type":"package","name":"@docusaurus/plugin-google-gtag","version":"3.3.2"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.3.2"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.3.2"},"docusaurus-theme-search-algolia":{"type":"package","name":"@docusaurus/theme-search-algolia","version":"3.3.2"},"es-text-loader":{"type":"package","name":"es-text-loader","version":"0.0.0"}}}');var l=n(74848);const d={siteConfig:o.default,siteMetadata:c,globalData:a,i18n:r,codeTranslations:i},u=s.createContext(d);function p(e){let{children:t}=e;return(0,l.jsx)(u.Provider,{value:d,children:t})}},67489:(e,t,n)=>{"use strict";n.d(t,{A:()=>h});var s=n(96540),o=n(38193),a=n(5260),r=n(70440),i=n(49641),c=n(53102),l=n(74848);function d(e){let{error:t,tryAgain:n}=e;return(0,l.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,l.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,l.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,l.jsx)(u,{error:t})]})}function u(e){let{error:t}=e;const n=(0,r.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,l.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function p(e){let{children:t}=e;return(0,l.jsx)(c.W,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:t})}function f(e){let{error:t,tryAgain:n}=e;return(0,l.jsx)(p,{children:(0,l.jsxs)(h,{fallback:()=>(0,l.jsx)(d,{error:t,tryAgain:n}),children:[(0,l.jsx)(a.A,{children:(0,l.jsx)("title",{children:"Page Error"})}),(0,l.jsx)(i.A,{children:(0,l.jsx)(d,{error:t,tryAgain:n})})]})})}const b=e=>(0,l.jsx)(f,{...e});class h extends s.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.A.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??b)(e)}return e??null}}},38193:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const s="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,o={canUseDOM:s,canUseEventListeners:s&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:s&&"IntersectionObserver"in window,canUseViewport:s&&"screen"in window}},5260:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(96540);var s=n(80545),o=n(74848);function a(e){return(0,o.jsx)(s.mg,{...e})}},28774:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});var s=n(96540),o=n(54625),a=n(70440),r=n(44586),i=n(16654),c=n(38193),l=n(63427),d=n(86025),u=n(74848);function p(e,t){let{isNavLink:n,to:p,href:f,activeClassName:b,isActive:h,"data-noBrokenLinkCheck":m,autoAddBaseUrl:g=!0,...v}=e;const{siteConfig:{trailingSlash:y,baseUrl:k}}=(0,r.A)(),{withBaseUrl:x}=(0,d.h)(),w=(0,l.A)(),_=(0,s.useRef)(null);(0,s.useImperativeHandle)(t,(()=>_.current));const j=p||f;const C=(0,i.A)(j),S=j?.replace("pathname://","");let M=void 0!==S?(E=S,g&&(e=>e.startsWith("/"))(E)?x(E):E):void 0;var E;M&&C&&(M=(0,a.applyTrailingSlash)(M,{trailingSlash:y,baseUrl:k}));const L=(0,s.useRef)(!1),A=n?o.k2:o.N_,T=c.A.canUseIntersectionObserver,P=(0,s.useRef)(),R=()=>{L.current||null==M||(window.docusaurus.preload(M),L.current=!0)};(0,s.useEffect)((()=>(!T&&C&&null!=M&&window.docusaurus.prefetch(M),()=>{T&&P.current&&P.current.disconnect()})),[P,M,T,C]);const N=M?.startsWith("#")??!1,Z=!v.target||"_self"===v.target,O=!M||!C||!Z||N;return m||!N&&O||w.collectLink(M),v.id&&w.collectAnchor(v.id),O?(0,u.jsx)("a",{ref:_,href:M,...j&&!C&&{target:"_blank",rel:"noopener noreferrer"},...v}):(0,u.jsx)(A,{...v,onMouseEnter:R,onTouchStart:R,innerRef:e=>{_.current=e,T&&e&&C&&(P.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(P.current.unobserve(e),P.current.disconnect(),null!=M&&window.docusaurus.prefetch(M))}))})),P.current.observe(e))},to:M,...n&&{isActive:h,activeClassName:b}})}const f=s.forwardRef(p)},21312:(e,t,n)=>{"use strict";n.d(t,{A:()=>l,T:()=>c});var s=n(96540),o=n(74848);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,s.isValidElement)(e)))?n.map(((e,t)=>(0,s.isValidElement)(e)?s.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var r=n(22654);function i(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return r[t??n]??n??t}function c(e,t){let{message:n,id:s}=e;return a(i({message:n,id:s}),t)}function l(e){let{children:t,id:n,values:s}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal <Translate> children",t),new Error("The Docusaurus <Translate> component only accept simple string values");const r=i({message:t,id:n});return(0,o.jsx)(o.Fragment,{children:a(r,s)})}},17065:(e,t,n)=>{"use strict";n.d(t,{W:()=>s});const s="default"},16654:(e,t,n)=>{"use strict";function s(e){return/^(?:\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!s(e)}n.d(t,{A:()=>o,z:()=>s})},86025:(e,t,n)=>{"use strict";n.d(t,{A:()=>i,h:()=>r});var s=n(96540),o=n(44586),a=n(16654);function r(){const{siteConfig:{baseUrl:e,url:t}}=(0,o.A)(),n=(0,s.useCallback)(((n,s)=>function(e,t,n,s){let{forcePrependBaseUrl:o=!1,absolute:r=!1}=void 0===s?{}:s;if(!n||n.startsWith("#")||(0,a.z)(n))return n;if(o)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const i=n.startsWith(t)?n:t+n.replace(/^\//,"");return r?e+i:i}(t,e,n,s)),[t,e]);return{withBaseUrl:n}}function i(e,t){void 0===t&&(t={});const{withBaseUrl:n}=r();return n(e,t)}},63427:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});var s=n(96540);n(74848);const o=s.createContext({collectAnchor:()=>{},collectLink:()=>{}}),a=()=>(0,s.useContext)(o);function r(){return a()}},44586:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var s=n(96540),o=n(26988);function a(){return(0,s.useContext)(o.o)}},92303:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var s=n(96540),o=n(6125);function a(){return(0,s.useContext)(o.o)}},205:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var s=n(96540);const o=n(38193).A.canUseDOM?s.useLayoutEffect:s.useEffect},36803:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var s=n(96540),o=n(53102);function a(){const e=s.useContext(o.o);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}},86921:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const s=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function o(e){const t={};return function e(n,o){Object.entries(n).forEach((n=>{let[a,r]=n;const i=o?`${o}.${a}`:a;s(r)?e(r,i):t[i]=r}))}(e),t}},53102:(e,t,n)=>{"use strict";n.d(t,{W:()=>r,o:()=>a});var s=n(96540),o=n(74848);const a=s.createContext(null);function r(e){let{children:t,value:n}=e;const r=s.useContext(a),i=(0,s.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const s={...t.data,...n?.data};return{plugin:t.plugin,data:s}}({parent:r,value:n})),[r,n]);return(0,o.jsx)(a.Provider,{value:i,children:t})}},44070:(e,t,n)=>{"use strict";n.d(t,{zK:()=>g,vT:()=>f,gk:()=>b,Gy:()=>u,HW:()=>v,ht:()=>p,r7:()=>m,jh:()=>h});var s=n(56347),o=n(44586),a=n(17065);function r(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,o.A)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const i=e=>e.versions.find((e=>e.isLast));function c(e,t){const n=i(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,s.B6)(t,{path:e.path,exact:!1,strict:!1})))}function l(e,t){const n=c(e,t),o=n?.docs.find((e=>!!(0,s.B6)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:o,alternateDocVersions:o?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((s=>{s.id===t&&(n[e.name]=s)}))})),n}(o.id):{}}}const d={},u=()=>r("docusaurus-plugin-content-docs")??d,p=e=>{try{return function(e,t,n){void 0===t&&(t=a.W),void 0===n&&(n={});const s=r(e),o=s?.[t];if(!o&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return o}("docusaurus-plugin-content-docs",e,{failfast:!0})}catch(t){throw new Error("You are using a feature of the Docusaurus docs plugin, but this plugin does not seem to be enabled"+("Default"===e?"":` (pluginId=${e}`),{cause:t})}};function f(e){void 0===e&&(e={});const t=u(),{pathname:n}=(0,s.zy)();return function(e,t,n){void 0===n&&(n={});const o=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,s.B6)(t,{path:n.path,exact:!1,strict:!1})})),a=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!a&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return a}(t,n,e)}function b(e){void 0===e&&(e={});const t=f(e),{pathname:n}=(0,s.zy)();if(!t)return;return{activePlugin:t,activeVersion:c(t.pluginData,n)}}function h(e){return p(e).versions}function m(e){const t=p(e);return i(t)}function g(e){const t=p(e),{pathname:n}=(0,s.zy)();return l(t,n)}function v(e){const t=p(e),{pathname:n}=(0,s.zy)();return function(e,t){const n=i(e);return{latestDocSuggestion:l(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},31911:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>s});const s={onRouteDidUpdate(e){let{location:t,previousLocation:n}=e;!n||t.pathname===n.pathname&&t.search===n.search&&t.hash===n.hash||setTimeout((()=>{window.gtag("set","page_path",t.pathname+t.search+t.hash),window.gtag("event","page_view")}))}}},76294:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});var s=n(5947),o=n.n(s);o().configure({showSpinner:!1});const a={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{o().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){o().done()}}},26134:(e,t,n)=>{"use strict";n.r(t);var s=n(71765),o=n(4784);!function(e){const{themeConfig:{prism:t}}=o.default,{additionalLanguages:s}=t;globalThis.Prism=e,s.forEach((e=>{"php"===e&&n(19700),n(18209)(`./prism-${e}`)})),delete globalThis.Prism}(s.My)},51107:(e,t,n)=>{"use strict";n.d(t,{A:()=>d});n(96540);var s=n(34164),o=n(21312),a=n(6342),r=n(28774),i=n(63427);const c={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var l=n(74848);function d(e){let{as:t,id:n,...d}=e;const u=(0,i.A)(),{navbar:{hideOnScroll:p}}=(0,a.p)();if("h1"===t||!n)return(0,l.jsx)(t,{...d,id:void 0});u.collectAnchor(n);const f=(0,o.T)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof d.children?d.children:n});return(0,l.jsxs)(t,{...d,className:(0,s.A)("anchor",p?c.anchorWithHideOnScrollNavbar:c.anchorWithStickyNavbar,d.className),id:n,children:[d.children,(0,l.jsx)(r.A,{className:"hash-link",to:`#${n}`,"aria-label":f,title:f,children:"\u200b"})]})}},43186:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(96540);const s={iconExternalLink:"iconExternalLink_nPIU"};var o=n(74848);function a(e){let{width:t=13.5,height:n=13.5}=e;return(0,o.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:s.iconExternalLink,children:(0,o.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},49641:(e,t,n)=>{"use strict";n.d(t,{A:()=>kt});var s=n(96540),o=n(34164),a=n(67489),r=n(45500),i=n(56347),c=n(21312),l=n(75062),d=n(74848);const u="__docusaurus_skipToContent_fallback";function p(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){const e=(0,s.useRef)(null),{action:t}=(0,i.W6)(),n=(0,s.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(u);t&&p(t)}),[]);return(0,l.$)((n=>{let{location:s}=n;e.current&&!s.hash&&"PUSH"===t&&p(e.current)})),{containerRef:e,onClick:n}}const b=(0,c.T)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function h(e){const t=e.children??b,{containerRef:n,onClick:s}=f();return(0,d.jsx)("div",{ref:n,role:"region","aria-label":b,children:(0,d.jsx)("a",{...e,href:`#${u}`,onClick:s,children:t})})}var m=n(17559),g=n(14090);const v={skipToContent:"skipToContent_fXgn"};function y(){return(0,d.jsx)(h,{className:v.skipToContent})}var k=n(6342),x=n(65041);function w(e){let{width:t=21,height:n=21,color:s="currentColor",strokeWidth:o=1.2,className:a,...r}=e;return(0,d.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...r,children:(0,d.jsx)("g",{stroke:s,strokeWidth:o,children:(0,d.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const _={closeButton:"closeButton_CVFx"};function j(e){return(0,d.jsx)("button",{type:"button","aria-label":(0,c.T)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,o.A)("clean-btn close",_.closeButton,e.className),children:(0,d.jsx)(w,{width:14,height:14,strokeWidth:3.1})})}const C={content:"content_knG7"};function S(e){const{announcementBar:t}=(0,k.p)(),{content:n}=t;return(0,d.jsx)("div",{...e,className:(0,o.A)(C.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const M={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function E(){const{announcementBar:e}=(0,k.p)(),{isActive:t,close:n}=(0,x.Mj)();if(!t)return null;const{backgroundColor:s,textColor:o,isCloseable:a}=e;return(0,d.jsxs)("div",{className:M.announcementBar,style:{backgroundColor:s,color:o},role:"banner",children:[a&&(0,d.jsx)("div",{className:M.announcementBarPlaceholder}),(0,d.jsx)(S,{className:M.announcementBarContent}),a&&(0,d.jsx)(j,{onClick:n,className:M.announcementBarClose})]})}var L=n(22069),A=n(23104);var T=n(89532),P=n(75600);const R=s.createContext(null);function N(e){let{children:t}=e;const n=function(){const e=(0,L.M)(),t=(0,P.YL)(),[n,o]=(0,s.useState)(!1),a=null!==t.component,r=(0,T.ZC)(a);return(0,s.useEffect)((()=>{a&&!r&&o(!0)}),[a,r]),(0,s.useEffect)((()=>{a?e.shown||o(!0):o(!1)}),[e.shown,a]),(0,s.useMemo)((()=>[n,o]),[n])}();return(0,d.jsx)(R.Provider,{value:n,children:t})}function Z(e){if(e.component){const t=e.component;return(0,d.jsx)(t,{...e.props})}}function O(){const e=(0,s.useContext)(R);if(!e)throw new T.dV("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,o=(0,s.useCallback)((()=>n(!1)),[n]),a=(0,P.YL)();return(0,s.useMemo)((()=>({shown:t,hide:o,content:Z(a)})),[o,a,t])}function D(e){let{header:t,primaryMenu:n,secondaryMenu:s}=e;const{shown:a}=O();return(0,d.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,d.jsxs)("div",{className:(0,o.A)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":a}),children:[(0,d.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,d.jsx)("div",{className:"navbar-sidebar__item menu",children:s})]})]})}var B=n(95293),I=n(92303);function F(e){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,d.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function z(e){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,d.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const W={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function $(e){let{className:t,buttonClassName:n,value:s,onChange:a}=e;const r=(0,I.A)(),i=(0,c.T)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===s?(0,c.T)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,c.T)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,d.jsx)("div",{className:(0,o.A)(W.toggle,t),children:(0,d.jsxs)("button",{className:(0,o.A)("clean-btn",W.toggleButton,!r&&W.toggleButtonDisabled,n),type:"button",onClick:()=>a("dark"===s?"light":"dark"),disabled:!r,title:i,"aria-label":i,"aria-live":"polite",children:[(0,d.jsx)(F,{className:(0,o.A)(W.toggleIcon,W.lightToggleIcon)}),(0,d.jsx)(z,{className:(0,o.A)(W.toggleIcon,W.darkToggleIcon)})]})})}const H=s.memo($),V={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function U(e){let{className:t}=e;const n=(0,k.p)().navbar.style,s=(0,k.p)().colorMode.disableSwitch,{colorMode:o,setColorMode:a}=(0,B.G)();return s?null:(0,d.jsx)(H,{className:t,buttonClassName:"dark"===n?V.darkNavbarColorModeToggle:void 0,value:o,onChange:a})}var q=n(39529);function G(){return(0,d.jsx)(q.A,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function K(){const e=(0,L.M)();return(0,d.jsx)("button",{type:"button","aria-label":(0,c.T)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,d.jsx)(w,{color:"var(--ifm-color-emphasis-600)"})})}function Y(){return(0,d.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,d.jsx)(G,{}),(0,d.jsx)(U,{className:"margin-right--md"}),(0,d.jsx)(K,{})]})}var Q=n(28774),X=n(86025),J=n(16654),ee=n(91252),te=n(43186);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:s,href:o,label:a,html:r,isDropdownLink:i,prependBaseUrlToHref:c,...l}=e;const u=(0,X.A)(s),p=(0,X.A)(t),f=(0,X.A)(o,{forcePrependBaseUrl:!0}),b=a&&o&&!(0,J.A)(o),h=r?{dangerouslySetInnerHTML:{__html:r}}:{children:(0,d.jsxs)(d.Fragment,{children:[a,b&&(0,d.jsx)(te.A,{...i&&{width:12,height:12}})]})};return o?(0,d.jsx)(Q.A,{href:c?f:o,...l,...h}):(0,d.jsx)(Q.A,{to:u,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?(0,ee.G)(n,t.pathname):t.pathname.startsWith(p)},...l,...h})}function se(e){let{className:t,isDropdownItem:n=!1,...s}=e;const a=(0,d.jsx)(ne,{className:(0,o.A)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...s});return n?(0,d.jsx)("li",{children:a}):a}function oe(e){let{className:t,isDropdownItem:n,...s}=e;return(0,d.jsx)("li",{className:"menu__list-item",children:(0,d.jsx)(ne,{className:(0,o.A)("menu__link",t),...s})})}function ae(e){let{mobile:t=!1,position:n,...s}=e;const o=t?oe:se;return(0,d.jsx)(o,{...s,activeClassName:s.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var re=n(41422),ie=n(99169),ce=n(44586);const le={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_S0Fm"};function de(e,t){return e.some((e=>function(e,t){return!!(0,ie.ys)(e.to,t)||!!(0,ee.G)(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function ue(e){let{items:t,position:n,className:a,onClick:r,...i}=e;const c=(0,s.useRef)(null),[l,u]=(0,s.useState)(!1);return(0,s.useEffect)((()=>{const e=e=>{c.current&&!c.current.contains(e.target)&&u(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[c]),(0,d.jsxs)("div",{ref:c,className:(0,o.A)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":l}),children:[(0,d.jsx)(ne,{"aria-haspopup":"true","aria-expanded":l,role:"button",href:i.to?void 0:"#",className:(0,o.A)("navbar__link",a),...i,onClick:i.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),u(!l))},children:i.children??i.label}),(0,d.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,s.createElement)(Ve,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function pe(e){let{items:t,className:n,position:a,onClick:r,...c}=e;const l=function(){const{siteConfig:{baseUrl:e}}=(0,ce.A)(),{pathname:t}=(0,i.zy)();return t.replace(e,"/")}(),u=de(t,l),{collapsed:p,toggleCollapsed:f,setCollapsed:b}=(0,re.u)({initialState:()=>!u});return(0,s.useEffect)((()=>{u&&b(!u)}),[l,u,b]),(0,d.jsxs)("li",{className:(0,o.A)("menu__list-item",{"menu__list-item--collapsed":p}),children:[(0,d.jsx)(ne,{role:"button",className:(0,o.A)(le.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...c,onClick:e=>{e.preventDefault(),f()},children:c.children??c.label}),(0,d.jsx)(re.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:p,children:t.map(((e,t)=>(0,s.createElement)(Ve,{mobile:!0,isDropdownItem:!0,onClick:r,activeClassName:"menu__link--active",...e,key:t})))})]})}function fe(e){let{mobile:t=!1,...n}=e;const s=t?pe:ue;return(0,d.jsx)(s,{...n})}var be=n(32131);function he(e){let{width:t=20,height:n=20,...s}=e;return(0,d.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...s,children:(0,d.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const me="iconLanguage_nlXk";var ge=n(40961);function ve(){return s.createElement("svg",{width:"15",height:"15",className:"DocSearch-Control-Key-Icon"},s.createElement("path",{d:"M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953",strokeWidth:"1.2",stroke:"currentColor",fill:"none",strokeLinecap:"square"}))}var ye=n(89188),ke=["translations"];function xe(){return xe=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e},xe.apply(this,arguments)}function we(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var s,o,a=[],r=!0,i=!1;try{for(n=n.call(e);!(r=(s=n.next()).done)&&(a.push(s.value),!t||a.length!==t);r=!0);}catch(c){i=!0,o=c}finally{try{r||null==n.return||n.return()}finally{if(i)throw o}}return a}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return _e(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _e(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _e(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,s=new Array(t);n<t;n++)s[n]=e[n];return s}function je(e,t){if(null==e)return{};var n,s,o=function(e,t){if(null==e)return{};var n,s,o={},a=Object.keys(e);for(s=0;s<a.length;s++)n=a[s],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(s=0;s<a.length;s++)n=a[s],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var Ce="Ctrl";var Se=s.forwardRef((function(e,t){var n=e.translations,o=void 0===n?{}:n,a=je(e,ke),r=o.buttonText,i=void 0===r?"Search":r,c=o.buttonAriaLabel,l=void 0===c?"Search":c,d=we((0,s.useState)(null),2),u=d[0],p=d[1];return(0,s.useEffect)((function(){"undefined"!=typeof navigator&&(/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?p("\u2318"):p(Ce))}),[]),s.createElement("button",xe({type:"button",className:"DocSearch DocSearch-Button","aria-label":l},a,{ref:t}),s.createElement("span",{className:"DocSearch-Button-Container"},s.createElement(ye.W,null),s.createElement("span",{className:"DocSearch-Button-Placeholder"},i)),s.createElement("span",{className:"DocSearch-Button-Keys"},null!==u&&s.createElement(s.Fragment,null,s.createElement(Me,{reactsToKey:u===Ce?Ce:"Meta"},u===Ce?s.createElement(ve,null):u),s.createElement(Me,{reactsToKey:"k"},"K"))))}));function Me(e){var t=e.reactsToKey,n=e.children,o=we((0,s.useState)(!1),2),a=o[0],r=o[1];return(0,s.useEffect)((function(){if(t)return window.addEventListener("keydown",e),window.addEventListener("keyup",n),function(){window.removeEventListener("keydown",e),window.removeEventListener("keyup",n)};function e(e){e.key===t&&r(!0)}function n(e){e.key!==t&&"Meta"!==e.key||r(!1)}}),[t]),s.createElement("kbd",{className:a?"DocSearch-Button-Key DocSearch-Button-Key--pressed":"DocSearch-Button-Key"},n)}var Ee=n(5260),Le=n(24255),Ae=n(51062),Te=n(2967);const Pe={button:{buttonText:(0,c.T)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),buttonAriaLabel:(0,c.T)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"})},modal:{searchBox:{resetButtonTitle:(0,c.T)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),resetButtonAriaLabel:(0,c.T)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),cancelButtonText:(0,c.T)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"}),cancelButtonAriaLabel:(0,c.T)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"})},startScreen:{recentSearchesTitle:(0,c.T)({id:"theme.SearchModal.startScreen.recentSearchesTitle",message:"Recent",description:"The title for recent searches"}),noRecentSearchesText:(0,c.T)({id:"theme.SearchModal.startScreen.noRecentSearchesText",message:"No recent searches",description:"The text when no recent searches"}),saveRecentSearchButtonTitle:(0,c.T)({id:"theme.SearchModal.startScreen.saveRecentSearchButtonTitle",message:"Save this search",description:"The label for save recent search button"}),removeRecentSearchButtonTitle:(0,c.T)({id:"theme.SearchModal.startScreen.removeRecentSearchButtonTitle",message:"Remove this search from history",description:"The label for remove recent search button"}),favoriteSearchesTitle:(0,c.T)({id:"theme.SearchModal.startScreen.favoriteSearchesTitle",message:"Favorite",description:"The title for favorite searches"}),removeFavoriteSearchButtonTitle:(0,c.T)({id:"theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle",message:"Remove this search from favorites",description:"The label for remove favorite search button"})},errorScreen:{titleText:(0,c.T)({id:"theme.SearchModal.errorScreen.titleText",message:"Unable to fetch results",description:"The title for error screen of search modal"}),helpText:(0,c.T)({id:"theme.SearchModal.errorScreen.helpText",message:"You might want to check your network connection.",description:"The help text for error screen of search modal"})},footer:{selectText:(0,c.T)({id:"theme.SearchModal.footer.selectText",message:"to select",description:"The explanatory text of the action for the enter key"}),selectKeyAriaLabel:(0,c.T)({id:"theme.SearchModal.footer.selectKeyAriaLabel",message:"Enter key",description:"The ARIA label for the Enter key button that makes the selection"}),navigateText:(0,c.T)({id:"theme.SearchModal.footer.navigateText",message:"to navigate",description:"The explanatory text of the action for the Arrow up and Arrow down key"}),navigateUpKeyAriaLabel:(0,c.T)({id:"theme.SearchModal.footer.navigateUpKeyAriaLabel",message:"Arrow up",description:"The ARIA label for the Arrow up key button that makes the navigation"}),navigateDownKeyAriaLabel:(0,c.T)({id:"theme.SearchModal.footer.navigateDownKeyAriaLabel",message:"Arrow down",description:"The ARIA label for the Arrow down key button that makes the navigation"}),closeText:(0,c.T)({id:"theme.SearchModal.footer.closeText",message:"to close",description:"The explanatory text of the action for Escape key"}),closeKeyAriaLabel:(0,c.T)({id:"theme.SearchModal.footer.closeKeyAriaLabel",message:"Escape key",description:"The ARIA label for the Escape key button that close the modal"}),searchByText:(0,c.T)({id:"theme.SearchModal.footer.searchByText",message:"Search by",description:"The text explain that the search is making by Algolia"})},noResultsScreen:{noResultsText:(0,c.T)({id:"theme.SearchModal.noResultsScreen.noResultsText",message:"No results for",description:"The text explains that there are no results for the following search"}),suggestedQueryText:(0,c.T)({id:"theme.SearchModal.noResultsScreen.suggestedQueryText",message:"Try searching for",description:"The text for the suggested query when no results are found for the following search"}),reportMissingResultsText:(0,c.T)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsText",message:"Believe this query should return results?",description:"The text for the question where the user thinks there are missing results"}),reportMissingResultsLinkText:(0,c.T)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsLinkText",message:"Let us know.",description:"The text for the link to report missing results"})}},placeholder:(0,c.T)({id:"theme.SearchModal.placeholder",message:"Search docs",description:"The placeholder of the input of the DocSearch pop-up modal"})};let Re=null;function Ne(e){let{hit:t,children:n}=e;return(0,d.jsx)(Q.A,{to:t.url,children:n})}function Ze(e){let{state:t,onClose:n}=e;const s=(0,Le.w)();return(0,d.jsx)(Q.A,{to:s(t.query),onClick:n,children:(0,d.jsx)(c.A,{id:"theme.SearchBar.seeAll",values:{count:t.context.nbHits},children:"See all {count} results"})})}function Oe(e){let{contextualSearch:t,externalUrlRegex:o,...a}=e;const{siteMetadata:r}=(0,ce.A)(),c=(0,Ae.C)(),l=function(){const{locale:e,tags:t}=(0,Te.af)();return[`language:${e}`,t.map((e=>`docusaurus_tag:${e}`))]}(),u=a.searchParameters?.facetFilters??[],p=t?function(e,t){const n=e=>"string"==typeof e?[e]:e;return[...n(e),...n(t)]}(l,u):u,f={...a.searchParameters,facetFilters:p},b=(0,i.W6)(),h=(0,s.useRef)(null),m=(0,s.useRef)(null),[g,v]=(0,s.useState)(!1),[y,k]=(0,s.useState)(void 0),x=(0,s.useCallback)((()=>Re?Promise.resolve():Promise.all([n.e(9462).then(n.bind(n,9462)),Promise.all([n.e(71869),n.e(58913)]).then(n.bind(n,58913)),Promise.all([n.e(71869),n.e(90416)]).then(n.bind(n,90416))]).then((e=>{let[{DocSearchModal:t}]=e;Re=t}))),[]),w=(0,s.useCallback)((()=>{x().then((()=>{h.current=document.createElement("div"),document.body.insertBefore(h.current,document.body.firstChild),v(!0)}))}),[x,v]),_=(0,s.useCallback)((()=>{v(!1),h.current?.remove(),m.current?.focus()}),[v]),j=(0,s.useCallback)((e=>{x().then((()=>{v(!0),k(e.key)}))}),[x,v,k]),C=(0,s.useRef)({navigate(e){let{itemUrl:t}=e;(0,ee.G)(o,t)?window.location.href=t:b.push(t)}}).current,S=(0,s.useRef)((e=>a.transformItems?a.transformItems(e):e.map((e=>({...e,url:c(e.url)}))))).current,M=(0,s.useMemo)((()=>e=>(0,d.jsx)(Ze,{...e,onClose:_})),[_]),E=(0,s.useCallback)((e=>(e.addAlgoliaAgent("docusaurus",r.docusaurusVersion),e)),[r.docusaurusVersion]);return function(e){var t=e.isOpen,n=e.onOpen,o=e.onClose,a=e.onInput,r=e.searchButtonRef;s.useEffect((function(){function e(e){var s;(27===e.keyCode&&t||"k"===(null===(s=e.key)||void 0===s?void 0:s.toLowerCase())&&(e.metaKey||e.ctrlKey)||!function(e){var t=e.target,n=t.tagName;return t.isContentEditable||"INPUT"===n||"SELECT"===n||"TEXTAREA"===n}(e)&&"/"===e.key&&!t)&&(e.preventDefault(),t?o():document.body.classList.contains("DocSearch--active")||document.body.classList.contains("DocSearch--active")||n()),r&&r.current===document.activeElement&&a&&/[a-zA-Z0-9]/.test(String.fromCharCode(e.keyCode))&&a(e)}return window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}}),[t,n,o,a,r])}({isOpen:g,onOpen:w,onClose:_,onInput:j,searchButtonRef:m}),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Ee.A,{children:(0,d.jsx)("link",{rel:"preconnect",href:`https://${a.appId}-dsn.algolia.net`,crossOrigin:"anonymous"})}),(0,d.jsx)(Se,{onTouchStart:x,onFocus:x,onMouseOver:x,onClick:w,ref:m,translations:Pe.button}),g&&Re&&h.current&&(0,ge.createPortal)((0,d.jsx)(Re,{onClose:_,initialScrollY:window.scrollY,initialQuery:y,navigator:C,transformItems:S,hitComponent:Ne,transformSearchClient:E,...a.searchPagePath&&{resultsFooterComponent:M},...a,searchParameters:f,placeholder:Pe.placeholder,translations:Pe.modal}),h.current)]})}function De(){const{siteConfig:e}=(0,ce.A)();return(0,d.jsx)(Oe,{...e.themeConfig.algolia})}const Be={navbarSearchContainer:"navbarSearchContainer_Bca1"};function Ie(e){let{children:t,className:n}=e;return(0,d.jsx)("div",{className:(0,o.A)(n,Be.navbarSearchContainer),children:t})}var Fe=n(44070),ze=n(81754);var We=n(55597);const $e=e=>e.docs.find((t=>t.id===e.mainDocId));const He={default:ae,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:s,queryString:o="",...a}=e;const{i18n:{currentLocale:r,locales:l,localeConfigs:u}}=(0,ce.A)(),p=(0,be.o)(),{search:f,hash:b}=(0,i.zy)(),h=[...n,...l.map((e=>{const n=`${`pathname://${p.createUrl({locale:e,fullyQualified:!1})}`}${f}${b}${o}`;return{label:u[e].label,lang:u[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===r?t?"menu__link--active":"dropdown__link--active":""}})),...s],m=t?(0,c.T)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):u[r].label;return(0,d.jsx)(fe,{...a,mobile:t,label:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(he,{className:me}),m]}),items:h})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,d.jsx)(Ie,{className:n,children:(0,d.jsx)(De,{})})},dropdown:fe,html:function(e){let{value:t,className:n,mobile:s=!1,isDropdownItem:a=!1}=e;const r=a?"li":"div";return(0,d.jsx)(r,{className:(0,o.A)({navbar__item:!s&&!a,"menu__list-item":s},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:s,...o}=e;const{activeDoc:a}=(0,Fe.zK)(s),r=(0,ze.QB)(t,s),i=a?.path===r?.path;return null===r||r.unlisted&&!i?null:(0,d.jsx)(ae,{exact:!0,...o,isActive:()=>i||!!a?.sidebar&&a.sidebar===r.sidebar,label:n??r.id,to:r.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:s,...o}=e;const{activeDoc:a}=(0,Fe.zK)(s),r=(0,ze.fW)(t,s).link;if(!r)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,d.jsx)(ae,{exact:!0,...o,isActive:()=>a?.sidebar===t,label:n??r.label,to:r.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:s,...o}=e;const a=(0,ze.Vd)(s)[0],r=t??a.label,i=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(a).path;return(0,d.jsx)(ae,{...o,label:r,to:i})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:s,dropdownItemsBefore:o,dropdownItemsAfter:a,...r}=e;const{search:l,hash:u}=(0,i.zy)(),p=(0,Fe.zK)(n),f=(0,Fe.jh)(n),{savePreferredVersionName:b}=(0,We.g1)(n),h=[...o,...f.map((e=>{const t=p.alternateDocVersions[e.name]??$e(e);return{label:e.label,to:`${t.path}${l}${u}`,isActive:()=>e===p.activeVersion,onClick:()=>b(e.name)}})),...a],m=(0,ze.Vd)(n)[0],g=t&&h.length>1?(0,c.T)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):m.label,v=t&&h.length>1?void 0:$e(m).path;return h.length<=1?(0,d.jsx)(ae,{...r,mobile:t,label:g,to:v,isActive:s?()=>!1:void 0}):(0,d.jsx)(fe,{...r,mobile:t,label:g,to:v,items:h,isActive:s?()=>!1:void 0})}};function Ve(e){let{type:t,...n}=e;const s=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=He[s];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,d.jsx)(o,{...n})}function Ue(){const e=(0,L.M)(),t=(0,k.p)().navbar.items;return(0,d.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,s.createElement)(Ve,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function qe(e){return(0,d.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,d.jsx)(c.A,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function Ge(){const e=0===(0,k.p)().navbar.items.length,t=O();return(0,d.jsxs)(d.Fragment,{children:[!e&&(0,d.jsx)(qe,{onClick:()=>t.hide()}),t.content]})}function Ke(){const e=(0,L.M)();var t;return void 0===(t=e.shown)&&(t=!0),(0,s.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,d.jsx)(D,{header:(0,d.jsx)(Y,{}),primaryMenu:(0,d.jsx)(Ue,{}),secondaryMenu:(0,d.jsx)(Ge,{})}):null}const Ye={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Qe(e){return(0,d.jsx)("div",{role:"presentation",...e,className:(0,o.A)("navbar-sidebar__backdrop",e.className)})}function Xe(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:a}}=(0,k.p)(),r=(0,L.M)(),{navbarRef:i,isNavbarVisible:u}=function(e){const[t,n]=(0,s.useState)(e),o=(0,s.useRef)(!1),a=(0,s.useRef)(0),r=(0,s.useCallback)((e=>{null!==e&&(a.current=e.getBoundingClientRect().height)}),[]);return(0,A.Mq)(((t,s)=>{let{scrollY:r}=t;if(!e)return;if(r<a.current)return void n(!0);if(o.current)return void(o.current=!1);const i=s?.scrollY,c=document.documentElement.scrollHeight-a.current,l=window.innerHeight;i&&r>=i?n(!1):r+l<c&&n(!0)})),(0,l.$)((t=>{if(!e)return;const s=t.location.hash;if(s?document.getElementById(s.substring(1)):void 0)return o.current=!0,void n(!1);n(!0)})),{navbarRef:r,isNavbarVisible:t}}(n);return(0,d.jsxs)("nav",{ref:i,"aria-label":(0,c.T)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,o.A)("navbar","navbar--fixed-top",n&&[Ye.navbarHideable,!u&&Ye.navbarHidden],{"navbar--dark":"dark"===a,"navbar--primary":"primary"===a,"navbar-sidebar--show":r.shown}),children:[t,(0,d.jsx)(Qe,{onClick:r.toggle}),(0,d.jsx)(Ke,{})]})}var Je=n(70440);const et={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};function tt(e){return(0,d.jsx)("button",{type:"button",...e,children:(0,d.jsx)(c.A,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function nt(e){let{error:t}=e;const n=(0,Je.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,d.jsx)("p",{className:et.errorBoundaryError,children:n})}class st extends s.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const ot="right";function at(e){let{width:t=30,height:n=30,className:s,...o}=e;return(0,d.jsx)("svg",{className:s,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...o,children:(0,d.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function rt(){const{toggle:e,shown:t}=(0,L.M)();return(0,d.jsx)("button",{onClick:e,"aria-label":(0,c.T)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,d.jsx)(at,{})})}const it={colorModeToggle:"colorModeToggle_DEke"};function ct(e){let{items:t}=e;return(0,d.jsx)(d.Fragment,{children:t.map(((e,t)=>(0,d.jsx)(st,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,d.jsx)(Ve,{...e})},t)))})}function lt(e){let{left:t,right:n}=e;return(0,d.jsxs)("div",{className:"navbar__inner",children:[(0,d.jsx)("div",{className:"navbar__items",children:t}),(0,d.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function dt(){const e=(0,L.M)(),t=(0,k.p)().navbar.items,[n,s]=function(e){function t(e){return"left"===(e.position??ot)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return(0,d.jsx)(lt,{left:(0,d.jsxs)(d.Fragment,{children:[!e.disabled&&(0,d.jsx)(rt,{}),(0,d.jsx)(G,{}),(0,d.jsx)(ct,{items:n})]}),right:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(ct,{items:s}),(0,d.jsx)(U,{className:it.colorModeToggle}),!o&&(0,d.jsx)(Ie,{children:(0,d.jsx)(De,{})})]})})}function ut(){return(0,d.jsx)(Xe,{children:(0,d.jsx)(dt,{})})}var pt=n(25552);function ft(){const{footer:e}=(0,k.p)();return(0,d.jsx)(pt.wi,{footer:e})}const bt=s.memo(ft),ht=(0,T.fM)([B.a,x.oq,A.Tv,We.VQ,r.Jx,function(e){let{children:t}=e;return(0,d.jsx)(P.y_,{children:(0,d.jsx)(L.e,{children:(0,d.jsx)(N,{children:t})})})}]);function mt(e){let{children:t}=e;return(0,d.jsx)(ht,{children:t})}var gt=n(51107);function vt(e){let{error:t,tryAgain:n}=e;return(0,d.jsx)("main",{className:"container margin-vert--xl",children:(0,d.jsx)("div",{className:"row",children:(0,d.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,d.jsx)(gt.A,{as:"h1",className:"hero__title",children:(0,d.jsx)(c.A,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,d.jsx)("div",{className:"margin-vert--lg",children:(0,d.jsx)(tt,{onClick:n,className:"button button--primary shadow--lw"})}),(0,d.jsx)("hr",{}),(0,d.jsx)("div",{className:"margin-vert--md",children:(0,d.jsx)(nt,{error:t})})]})})})}const yt={mainWrapper:"mainWrapper_z2l0"};function kt(e){const{children:t,noFooter:n,wrapperClassName:s,title:i,description:c}=e;return(0,g.J)(),(0,d.jsxs)(mt,{children:[(0,d.jsx)(r.be,{title:i,description:c}),(0,d.jsx)(y,{}),(0,d.jsx)(E,{}),(0,d.jsx)(ut,{}),(0,d.jsx)("div",{id:u,className:(0,o.A)(m.G.wrapper.main,yt.mainWrapper,s),children:(0,d.jsx)(a.A,{fallback:e=>(0,d.jsx)(vt,{...e}),children:t})}),!n&&(0,d.jsx)(bt,{})]})}},39529:(e,t,n)=>{"use strict";n.d(t,{A:()=>m});var s=n(96540),o=n(28774),a=n(86025),r=n(44586),i=n(6342),c=n(34164),l=n(92303),d=n(95293);const u={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var p=n(74848);function f(e){let{className:t,children:n}=e;const o=(0,l.A)(),{colorMode:a}=(0,d.G)();return(0,p.jsx)(p.Fragment,{children:(o?"dark"===a?["dark"]:["light"]:["light","dark"]).map((e=>{const o=n({theme:e,className:(0,c.A)(t,u.themedComponent,u[`themedComponent--${e}`])});return(0,p.jsx)(s.Fragment,{children:o},e)}))})}function b(e){const{sources:t,className:n,alt:s,...o}=e;return(0,p.jsx)(f,{className:n,children:e=>{let{theme:n,className:a}=e;return(0,p.jsx)("img",{src:t[n],alt:s,className:a,...o})}})}function h(e){let{logo:t,alt:n,imageClassName:s}=e;const o={light:(0,a.A)(t.src),dark:(0,a.A)(t.srcDark||t.src)},r=(0,p.jsx)(b,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return s?(0,p.jsx)("div",{className:s,children:r}):r}function m(e){const{siteConfig:{title:t}}=(0,r.A)(),{navbar:{title:n,logo:s}}=(0,i.p)(),{imageClassName:c,titleClassName:l,...d}=e,u=(0,a.A)(s?.href||"/"),f=n?"":t,b=s?.alt??f;return(0,p.jsxs)(o.A,{to:u,...d,...s?.target&&{target:s.target},children:[s&&(0,p.jsx)(h,{logo:s,alt:b,imageClassName:c}),null!=n&&(0,p.jsx)("b",{className:l,children:n})]})}},41463:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(96540);var s=n(5260),o=n(74848);function a(e){let{locale:t,version:n,tag:a}=e;const r=t;return(0,o.jsxs)(s.A,{children:[t&&(0,o.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,o.jsx)("meta",{name:"docusaurus_version",content:n}),a&&(0,o.jsx)("meta",{name:"docusaurus_tag",content:a}),r&&(0,o.jsx)("meta",{name:"docsearch:language",content:r}),n&&(0,o.jsx)("meta",{name:"docsearch:version",content:n}),a&&(0,o.jsx)("meta",{name:"docsearch:docusaurus_tag",content:a})]})}},41422:(e,t,n)=>{"use strict";n.d(t,{N:()=>g,u:()=>l});var s=n(96540),o=n(38193),a=n(205),r=n(53109),i=n(74848);const c="ease-in-out";function l(e){let{initialState:t}=e;const[n,o]=(0,s.useState)(t??!1),a=(0,s.useCallback)((()=>{o((e=>!e))}),[]);return{collapsed:n,setCollapsed:o,toggleCollapsed:a}}const d={display:"none",overflow:"hidden",height:"0px"},u={display:"block",overflow:"visible",height:"auto"};function p(e,t){const n=t?d:u;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{collapsibleRef:t,collapsed:n,animation:o}=e;const a=(0,s.useRef)(!1);(0,s.useEffect)((()=>{const e=t.current;function s(){const t=e.scrollHeight,n=o?.duration??function(e){if((0,r.O)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${o?.easing??c}`,height:`${t}px`}}function i(){const t=s();e.style.transition=t.transition,e.style.height=t.height}if(!a.current)return p(e,n),void(a.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(i(),requestAnimationFrame((()=>{e.style.height=d.height,e.style.overflow=d.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{i()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,o])}function b(e){if(!o.A.canUseDOM)return e?d:u}function h(e){let{as:t="div",collapsed:n,children:o,animation:a,onCollapseTransitionEnd:r,className:c,disableSSRStyle:l}=e;const d=(0,s.useRef)(null);return f({collapsibleRef:d,collapsed:n,animation:a}),(0,i.jsx)(t,{ref:d,style:l?void 0:b(n),onTransitionEnd:e=>{"height"===e.propertyName&&(p(d.current,n),r?.(n))},className:c,children:o})}function m(e){let{collapsed:t,...n}=e;const[o,r]=(0,s.useState)(!t),[c,l]=(0,s.useState)(t);return(0,a.A)((()=>{t||r(!0)}),[t]),(0,a.A)((()=>{o&&l(t)}),[o,t]),o?(0,i.jsx)(h,{...n,collapsed:c}):null}function g(e){let{lazy:t,...n}=e;const s=t?m:h;return(0,i.jsx)(s,{...n})}},65041:(e,t,n)=>{"use strict";n.d(t,{Mj:()=>h,oq:()=>b});var s=n(96540),o=n(92303),a=n(89466),r=n(89532),i=n(6342),c=n(74848);const l=(0,a.Wf)("docusaurus.announcement.dismiss"),d=(0,a.Wf)("docusaurus.announcement.id"),u=()=>"true"===l.get(),p=e=>l.set(String(e)),f=s.createContext(null);function b(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,i.p)(),t=(0,o.A)(),[n,a]=(0,s.useState)((()=>!!t&&u()));(0,s.useEffect)((()=>{a(u())}),[]);const r=(0,s.useCallback)((()=>{p(!0),a(!0)}),[]);return(0,s.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=d.get();"annoucement-bar"===n&&(n="announcement-bar");const s=t!==n;d.set(t),s&&p(!1),!s&&u()||a(!1)}),[e]),(0,s.useMemo)((()=>({isActive:!!e&&!n,close:r})),[e,n,r])}();return(0,c.jsx)(f.Provider,{value:n,children:t})}function h(){const e=(0,s.useContext)(f);if(!e)throw new r.dV("AnnouncementBarProvider");return e}},95293:(e,t,n)=>{"use strict";n.d(t,{G:()=>g,a:()=>m});var s=n(96540),o=n(38193),a=n(89532),r=n(89466),i=n(6342),c=n(74848);const l=s.createContext(void 0),d="theme",u=(0,r.Wf)(d),p={light:"light",dark:"dark"},f=e=>e===p.dark?p.dark:p.light,b=e=>o.A.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),h=e=>{u.set(f(e))};function m(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,i.p)(),[o,a]=(0,s.useState)(b(e));(0,s.useEffect)((()=>{t&&u.del()}),[t]);const r=(0,s.useCallback)((function(t,s){void 0===s&&(s={});const{persist:o=!0}=s;t?(a(t),o&&h(t)):(a(n?window.matchMedia("(prefers-color-scheme: dark)").matches?p.dark:p.light:e),u.del())}),[n,e]);(0,s.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(o))}),[o]),(0,s.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==d)return;const t=u.get();null!==t&&r(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,r]);const c=(0,s.useRef)(!1);return(0,s.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),s=()=>{window.matchMedia("print").matches||c.current?c.current=window.matchMedia("print").matches:r(null)};return e.addListener(s),()=>e.removeListener(s)}),[r,t,n]),(0,s.useMemo)((()=>({colorMode:o,setColorMode:r,get isDarkTheme(){return o===p.dark},setLightTheme(){r(p.light)},setDarkTheme(){r(p.dark)}})),[o,r])}();return(0,c.jsx)(l.Provider,{value:n,children:t})}function g(){const e=(0,s.useContext)(l);if(null==e)throw new a.dV("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},55597:(e,t,n)=>{"use strict";n.d(t,{VQ:()=>g,XK:()=>k,g1:()=>y});var s=n(96540),o=n(44070),a=n(17065),r=n(6342),i=n(81754),c=n(89532),l=n(89466),d=n(74848);const u=e=>`docs-preferred-version-${e}`,p={save:(e,t,n)=>{(0,l.Wf)(u(e),{persistence:t}).set(n)},read:(e,t)=>(0,l.Wf)(u(e),{persistence:t}).get(),clear:(e,t)=>{(0,l.Wf)(u(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const b=s.createContext(null);function h(){const e=(0,o.Gy)(),t=(0,r.p)().docs.versionPersistence,n=(0,s.useMemo)((()=>Object.keys(e)),[e]),[a,i]=(0,s.useState)((()=>f(n)));(0,s.useEffect)((()=>{i(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:s}=e;function o(e){const t=p.read(e,n);return s[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(p.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,o(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[a,(0,s.useMemo)((()=>({savePreferredVersion:function(e,n){p.save(e,t,n),i((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function m(e){let{children:t}=e;const n=h();return(0,d.jsx)(b.Provider,{value:n,children:t})}function g(e){let{children:t}=e;return i.C5?(0,d.jsx)(m,{children:t}):(0,d.jsx)(d.Fragment,{children:t})}function v(){const e=(0,s.useContext)(b);if(!e)throw new c.dV("DocsPreferredVersionContextProvider");return e}function y(e){void 0===e&&(e=a.W);const t=(0,o.ht)(e),[n,r]=v(),{preferredVersionName:i}=n[e];return{preferredVersion:t.versions.find((e=>e.name===i))??null,savePreferredVersionName:(0,s.useCallback)((t=>{r.savePreferredVersion(e,t)}),[r,e])}}function k(){const e=(0,o.Gy)(),[t]=v();function n(n){const s=e[n],{preferredVersionName:o}=t[n];return s.versions.find((e=>e.name===o))??null}const s=Object.keys(e);return Object.fromEntries(s.map((e=>[e,n(e)])))}},26588:(e,t,n)=>{"use strict";n.d(t,{V:()=>c,t:()=>l});var s=n(96540),o=n(89532),a=n(74848);const r=Symbol("EmptyContext"),i=s.createContext(r);function c(e){let{children:t,name:n,items:o}=e;const r=(0,s.useMemo)((()=>n&&o?{name:n,items:o}:null),[n,o]);return(0,a.jsx)(i.Provider,{value:r,children:t})}function l(){const e=(0,s.useContext)(i);if(e===r)throw new o.dV("DocsSidebarProvider");return e}},32252:(e,t,n)=>{"use strict";n.d(t,{n:()=>i,r:()=>c});var s=n(96540),o=n(89532),a=n(74848);const r=s.createContext(null);function i(e){let{children:t,version:n}=e;return(0,a.jsx)(r.Provider,{value:n,children:t})}function c(){const e=(0,s.useContext)(r);if(null===e)throw new o.dV("DocsVersionProvider");return e}},22069:(e,t,n)=>{"use strict";n.d(t,{M:()=>f,e:()=>p});var s=n(96540),o=n(75600),a=n(24581),r=n(57485),i=n(6342),c=n(89532),l=n(74848);const d=s.createContext(void 0);function u(){const e=function(){const e=(0,o.YL)(),{items:t}=(0,i.p)().navbar;return 0===t.length&&!e.component}(),t=(0,a.l)(),n=!e&&"mobile"===t,[c,l]=(0,s.useState)(!1);(0,r.$Z)((()=>{if(c)return l(!1),!1}));const d=(0,s.useCallback)((()=>{l((e=>!e))}),[]);return(0,s.useEffect)((()=>{"desktop"===t&&l(!1)}),[t]),(0,s.useMemo)((()=>({disabled:e,shouldRender:n,toggle:d,shown:c})),[e,n,d,c])}function p(e){let{children:t}=e;const n=u();return(0,l.jsx)(d.Provider,{value:n,children:t})}function f(){const e=s.useContext(d);if(void 0===e)throw new c.dV("NavbarMobileSidebarProvider");return e}},75600:(e,t,n)=>{"use strict";n.d(t,{GX:()=>l,YL:()=>c,y_:()=>i});var s=n(96540),o=n(89532),a=n(74848);const r=s.createContext(null);function i(e){let{children:t}=e;const n=(0,s.useState)({component:null,props:null});return(0,a.jsx)(r.Provider,{value:n,children:t})}function c(){const e=(0,s.useContext)(r);if(!e)throw new o.dV("NavbarSecondaryMenuContentProvider");return e[0]}function l(e){let{component:t,props:n}=e;const a=(0,s.useContext)(r);if(!a)throw new o.dV("NavbarSecondaryMenuContentProvider");const[,i]=a,c=(0,o.Be)(n);return(0,s.useEffect)((()=>{i({component:t,props:c})}),[i,t,c]),(0,s.useEffect)((()=>()=>i({component:null,props:null})),[i]),null}},14090:(e,t,n)=>{"use strict";n.d(t,{w:()=>o,J:()=>a});var s=n(96540);const o="navigation-with-keyboard";function a(){(0,s.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(o),"mousedown"===e.type&&document.body.classList.remove(o)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(o),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},24255:(e,t,n)=>{"use strict";n.d(t,{b:()=>i,w:()=>c});var s=n(96540),o=n(44586),a=n(57485);const r="q";function i(){return(0,a.l)(r)}function c(){const{siteConfig:{baseUrl:e,themeConfig:t}}=(0,o.A)(),{algolia:{searchPagePath:n}}=t;return(0,s.useCallback)((t=>`${e}${n}?${r}=${encodeURIComponent(t)}`),[e,n])}},24581:(e,t,n)=>{"use strict";n.d(t,{l:()=>i});var s=n(96540),o=n(38193);const a={desktop:"desktop",mobile:"mobile",ssr:"ssr"},r=996;function i(e){let{desktopBreakpoint:t=r}=void 0===e?{}:e;const[n,i]=(0,s.useState)((()=>"ssr"));return(0,s.useEffect)((()=>{function e(){i(function(e){if(!o.A.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?a.desktop:a.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},17559:(e,t,n)=>{"use strict";n.d(t,{G:()=>s});const s={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{blogFooterTagsRow:"theme-blog-footer-tags-row",blogFooterEditMetaRow:"theme-blog-footer-edit-meta-row"},pages:{pageFooterEditMetaRow:"theme-pages-footer-edit-meta-row"}}},53109:(e,t,n)=>{"use strict";function s(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{O:()=>s})},81754:(e,t,n)=>{"use strict";n.d(t,{Nr:()=>f,w8:()=>m,C5:()=>p,B5:()=>j,Vd:()=>x,QB:()=>_,fW:()=>w,OF:()=>k,Y:()=>v});var s=n(96540),o=n(56347),a=n(22831),r=n(44070),i=n(55597),c=n(32252),l=n(26588);function d(e){return Array.from(new Set(e))}var u=n(99169);const p=!!r.Gy;function f(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=f(t);if(e)return e}}(e):void 0:e.href}const b=(e,t)=>void 0!==e&&(0,u.ys)(e,t),h=(e,t)=>e.some((e=>m(e,t)));function m(e,t){return"link"===e.type?b(e.href,t):"category"===e.type&&(b(e.href,t)||h(e.items,t))}function g(e,t){switch(e.type){case"category":return m(e,t)||e.items.some((e=>g(e,t)));case"link":return!e.unlisted||m(e,t);default:return!0}}function v(e,t){return(0,s.useMemo)((()=>e.filter((e=>g(e,t)))),[e,t])}function y(e){let{sidebarItems:t,pathname:n,onlyCategories:s=!1}=e;const o=[];return function e(t){for(const a of t)if("category"===a.type&&((0,u.ys)(a.href,n)||e(a.items))||"link"===a.type&&(0,u.ys)(a.href,n)){return s&&"category"!==a.type||o.unshift(a),!0}return!1}(t),o}function k(){const e=(0,l.t)(),{pathname:t}=(0,o.zy)(),n=(0,r.vT)()?.pluginData.breadcrumbs;return!1!==n&&e?y({sidebarItems:e.items,pathname:t}):null}function x(e){const{activeVersion:t}=(0,r.zK)(e),{preferredVersion:n}=(0,i.g1)(e),o=(0,r.r7)(e);return(0,s.useMemo)((()=>d([t,n,o].filter(Boolean))),[t,n,o])}function w(e,t){const n=x(t);return(0,s.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),s=t.find((t=>t[0]===e));if(!s)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return s[1]}),[e,n])}function _(e,t){const n=x(t);return(0,s.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),s=t.find((t=>t.id===e));if(!s){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${d(t.map((e=>e.id))).join("\n- ")}`)}return s}),[e,n])}function j(e){let{route:t}=e;const n=(0,o.zy)(),s=(0,c.r)(),r=t.routes,i=r.find((e=>(0,o.B6)(n.pathname,e)));if(!i)return null;const l=i.sidebar,d=l?s.docsSidebars[l]:void 0;return{docElement:(0,a.v)(r),sidebarName:l,sidebarItems:d}}},20481:(e,t,n)=>{"use strict";n.d(t,{s:()=>o});var s=n(44586);function o(e){const{siteConfig:t}=(0,s.A)(),{title:n,titleDelimiter:o}=t;return e?.trim().length?`${e.trim()} ${o} ${n}`:n}},57485:(e,t,n)=>{"use strict";n.d(t,{$Z:()=>r,l:()=>c});var s=n(96540),o=n(56347),a=n(89532);function r(e){!function(e){const t=(0,o.W6)(),n=(0,a._q)(e);(0,s.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}function i(e){const t=(0,o.W6)();return(0,s.useSyncExternalStore)(t.listen,(()=>e(t)),(()=>e(t)))}function c(e){const t=function(e){return i((t=>null===e?null:new URLSearchParams(t.location.search).get(e)))}(e)??"",n=function(e){const t=(0,o.W6)();return(0,s.useCallback)(((n,s)=>{const o=new URLSearchParams(t.location.search);n?o.set(e,n):o.delete(e),(s?.push?t.push:t.replace)({search:o.toString()})}),[e,t])}(e);return[t,n]}},45500:(e,t,n)=>{"use strict";n.d(t,{Jx:()=>f,be:()=>d,e3:()=>p});var s=n(96540),o=n(34164),a=n(5260),r=n(36803),i=n(86025),c=n(20481),l=n(74848);function d(e){let{title:t,description:n,keywords:s,image:o,children:r}=e;const d=(0,c.s)(t),{withBaseUrl:u}=(0,i.h)(),p=o?u(o,{absolute:!0}):void 0;return(0,l.jsxs)(a.A,{children:[t&&(0,l.jsx)("title",{children:d}),t&&(0,l.jsx)("meta",{property:"og:title",content:d}),n&&(0,l.jsx)("meta",{name:"description",content:n}),n&&(0,l.jsx)("meta",{property:"og:description",content:n}),s&&(0,l.jsx)("meta",{name:"keywords",content:Array.isArray(s)?s.join(","):s}),p&&(0,l.jsx)("meta",{property:"og:image",content:p}),p&&(0,l.jsx)("meta",{name:"twitter:image",content:p}),r]})}const u=s.createContext(void 0);function p(e){let{className:t,children:n}=e;const r=s.useContext(u),i=(0,o.A)(r,t);return(0,l.jsxs)(u.Provider,{value:i,children:[(0,l.jsx)(a.A,{children:(0,l.jsx)("html",{className:i})}),n]})}function f(e){let{children:t}=e;const n=(0,r.A)(),s=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const a=`plugin-id-${n.plugin.id}`;return(0,l.jsx)(p,{className:(0,o.A)(s,a),children:t})}},89532:(e,t,n)=>{"use strict";n.d(t,{Be:()=>l,ZC:()=>i,_q:()=>r,dV:()=>c,fM:()=>d});var s=n(96540),o=n(205),a=n(74848);function r(e){const t=(0,s.useRef)(e);return(0,o.A)((()=>{t.current=e}),[e]),(0,s.useCallback)((function(){return t.current(...arguments)}),[])}function i(e){const t=(0,s.useRef)();return(0,o.A)((()=>{t.current=e})),t.current}class c extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?<name>\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function l(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,s.useMemo)((()=>e),t.flat())}function d(e){return t=>{let{children:n}=t;return(0,a.jsx)(a.Fragment,{children:e.reduceRight(((e,t)=>(0,a.jsx)(t,{children:e})),n)})}}},91252:(e,t,n)=>{"use strict";function s(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}n.d(t,{G:()=>s})},99169:(e,t,n)=>{"use strict";n.d(t,{Dt:()=>i,ys:()=>r});var s=n(96540),o=n(35947),a=n(44586);function r(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function i(){const{baseUrl:e}=(0,a.A)().siteConfig;return(0,s.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function s(e){return e.path===t&&!0===e.exact}function o(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(s)||e(t.filter(o).flatMap((e=>e.routes??[])))}(n)}({routes:o.A,baseUrl:e})),[e])}},23104:(e,t,n)=>{"use strict";n.d(t,{Mq:()=>p,Tv:()=>l,gk:()=>f});var s=n(96540),o=n(38193),a=n(92303),r=(n(205),n(89532)),i=n(74848);const c=s.createContext(void 0);function l(e){let{children:t}=e;const n=function(){const e=(0,s.useRef)(!0);return(0,s.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,i.jsx)(c.Provider,{value:n,children:t})}function d(){const e=(0,s.useContext)(c);if(null==e)throw new r.dV("ScrollControllerProvider");return e}const u=()=>o.A.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function p(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=d(),o=(0,s.useRef)(u()),a=(0,r._q)(e);(0,s.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=u();a(e,o.current),o.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[a,n,...t])}function f(){const e=(0,s.useRef)(null),t=(0,a.A)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function s(){const o=document.documentElement.scrollTop;(n&&o>e||!n&&o<e)&&(t=requestAnimationFrame(s),window.scrollTo(0,Math.floor(.85*(o-e))+e))}(),()=>t&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},2967:(e,t,n)=>{"use strict";n.d(t,{Cy:()=>r,af:()=>c,tU:()=>i});var s=n(44070),o=n(44586),a=n(55597);const r="default";function i(e,t){return`docs-${e}-${t}`}function c(){const{i18n:e}=(0,o.A)(),t=(0,s.Gy)(),n=(0,s.gk)(),c=(0,a.XK)();const l=[r,...Object.keys(t).map((function(e){const s=n?.activePlugin.pluginId===e?n.activeVersion:void 0,o=c[e],a=t[e].versions.find((e=>e.isLast));return i(e,(s??o??a).name)}))];return{locale:e.currentLocale,tags:l}}},89466:(e,t,n)=>{"use strict";n.d(t,{Wf:()=>c});n(96540);const s="localStorage";function o(e){let{key:t,oldValue:n,newValue:s,storage:o}=e;if(n===s)return;const a=document.createEvent("StorageEvent");a.initStorageEvent("storage",!1,!1,t,n,s,window.location.href,o),window.dispatchEvent(a)}function a(e){if(void 0===e&&(e=s),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,r||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),r=!0),null}var t}let r=!1;const i={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function c(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=a(t?.persistence);return null===n?i:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const s=n.getItem(e);n.setItem(e,t),o({key:e,oldValue:s,newValue:t,storage:n})}catch(s){console.error(`Docusaurus storage error, can't set ${e}=${t}`,s)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),o({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const s=s=>{s.storageArea===n&&s.key===e&&t(s)};return window.addEventListener("storage",s),()=>window.removeEventListener("storage",s)}catch(s){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,s),()=>{}}}}}},32131:(e,t,n)=>{"use strict";n.d(t,{o:()=>r});var s=n(44586),o=n(56347),a=n(70440);function r(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:r,currentLocale:i}}=(0,s.A)(),{pathname:c}=(0,o.zy)(),l=(0,a.applyTrailingSlash)(c,{trailingSlash:n,baseUrl:e}),d=i===r?e:e.replace(`/${i}/`,"/"),u=l.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:s}=e;return`${s?t:""}${function(e){return e===r?`${d}`:`${d}${e}/`}(n)}${u}`}}}},75062:(e,t,n)=>{"use strict";n.d(t,{$:()=>r});var s=n(96540),o=n(56347),a=n(89532);function r(e){const t=(0,o.zy)(),n=(0,a.ZC)(t),r=(0,a._q)(e);(0,s.useEffect)((()=>{n&&t!==n&&r({location:t,previousLocation:n})}),[r,t,n])}},6342:(e,t,n)=>{"use strict";n.d(t,{p:()=>o});var s=n(44586);function o(){return(0,s.A)().siteConfig.themeConfig}},38126:(e,t,n)=>{"use strict";n.d(t,{c:()=>o});var s=n(44586);function o(){const{siteConfig:{themeConfig:e}}=(0,s.A)();return e}},51062:(e,t,n)=>{"use strict";n.d(t,{C:()=>i});var s=n(96540),o=n(91252),a=n(86025),r=n(38126);function i(){const{withBaseUrl:e}=(0,a.h)(),{algolia:{externalUrlRegex:t,replaceSearchResultPathname:n}}=(0,r.c)();return(0,s.useCallback)((s=>{const a=new URL(s);if((0,o.G)(t,a.href))return s;const r=`${a.pathname+a.hash}`;return e(function(e,t){return t?e.replaceAll(new RegExp(t.from,"g"),t.to):e}(r,n))}),[e,t,n])}},12983:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removeTrailingSlash=t.addLeadingSlash=t.addTrailingSlash=void 0;const s=n(42566);function o(e){return e.endsWith("/")?e:`${e}/`}function a(e){return(0,s.removeSuffix)(e,"/")}t.addTrailingSlash=o,t.default=function(e,t){const{trailingSlash:n,baseUrl:s}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[r]=e.split(/[#?]/),i="/"===r||r===s?r:(c=r,n?o(c):a(c));var c;return e.replace(r,i)},t.addLeadingSlash=function(e){return(0,s.addPrefix)(e,"/")},t.removeTrailingSlash=a},80253:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},70440:function(e,t,n){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.removePrefix=t.addSuffix=t.removeSuffix=t.addPrefix=t.removeTrailingSlash=t.addLeadingSlash=t.addTrailingSlash=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var o=n(12983);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return s(o).default}}),Object.defineProperty(t,"addTrailingSlash",{enumerable:!0,get:function(){return o.addTrailingSlash}}),Object.defineProperty(t,"addLeadingSlash",{enumerable:!0,get:function(){return o.addLeadingSlash}}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return o.removeTrailingSlash}});var a=n(42566);Object.defineProperty(t,"addPrefix",{enumerable:!0,get:function(){return a.addPrefix}}),Object.defineProperty(t,"removeSuffix",{enumerable:!0,get:function(){return a.removeSuffix}}),Object.defineProperty(t,"addSuffix",{enumerable:!0,get:function(){return a.addSuffix}}),Object.defineProperty(t,"removePrefix",{enumerable:!0,get:function(){return a.removePrefix}});var r=n(80253);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return r.getErrorCausalChain}})},42566:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removePrefix=t.addSuffix=t.removeSuffix=t.addPrefix=void 0,t.addPrefix=function(e,t){return e.startsWith(t)?e:`${t}${e}`},t.removeSuffix=function(e,t){return""===t?e:e.endsWith(t)?e.slice(0,-t.length):e},t.addSuffix=function(e,t){return e.endsWith(t)?e:`${e}${t}`},t.removePrefix=function(e,t){return e.startsWith(t)?e.slice(t.length):e}},31513:(e,t,n)=>{"use strict";n.d(t,{zR:()=>k,TM:()=>S,yJ:()=>f,sC:()=>E,AO:()=>p});var s=n(58168);function o(e){return"/"===e.charAt(0)}function a(e,t){for(var n=t,s=n+1,o=e.length;s<o;n+=1,s+=1)e[n]=e[s];e.pop()}const r=function(e,t){void 0===t&&(t="");var n,s=e&&e.split("/")||[],r=t&&t.split("/")||[],i=e&&o(e),c=t&&o(t),l=i||c;if(e&&o(e)?r=s:s.length&&(r.pop(),r=r.concat(s)),!r.length)return"/";if(r.length){var d=r[r.length-1];n="."===d||".."===d||""===d}else n=!1;for(var u=0,p=r.length;p>=0;p--){var f=r[p];"."===f?a(r,p):".."===f?(a(r,p),u++):u&&(a(r,p),u--)}if(!l)for(;u--;u)r.unshift("..");!l||""===r[0]||r[0]&&o(r[0])||r.unshift("");var b=r.join("/");return n&&"/"!==b.substr(-1)&&(b+="/"),b};var i=n(11561);function c(e){return"/"===e.charAt(0)?e:"/"+e}function l(e){return"/"===e.charAt(0)?e.substr(1):e}function d(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function u(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function p(e){var t=e.pathname,n=e.search,s=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),s&&"#"!==s&&(o+="#"===s.charAt(0)?s:"#"+s),o}function f(e,t,n,o){var a;"string"==typeof e?(a=function(e){var t=e||"/",n="",s="",o=t.indexOf("#");-1!==o&&(s=t.substr(o),t=t.substr(0,o));var a=t.indexOf("?");return-1!==a&&(n=t.substr(a),t=t.substr(0,a)),{pathname:t,search:"?"===n?"":n,hash:"#"===s?"":s}}(e),a.state=t):(void 0===(a=(0,s.A)({},e)).pathname&&(a.pathname=""),a.search?"?"!==a.search.charAt(0)&&(a.search="?"+a.search):a.search="",a.hash?"#"!==a.hash.charAt(0)&&(a.hash="#"+a.hash):a.hash="",void 0!==t&&void 0===a.state&&(a.state=t));try{a.pathname=decodeURI(a.pathname)}catch(i){throw i instanceof URIError?new URIError('Pathname "'+a.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):i}return n&&(a.key=n),o?a.pathname?"/"!==a.pathname.charAt(0)&&(a.pathname=r(a.pathname,o.pathname)):a.pathname=o.pathname:a.pathname||(a.pathname="/"),a}function b(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,s,o){if(null!=e){var a="function"==typeof e?e(t,n):e;"string"==typeof a?"function"==typeof s?s(a,o):o(!0):o(!1!==a)}else o(!0)},appendListener:function(e){var n=!0;function s(){n&&e.apply(void 0,arguments)}return t.push(s),function(){n=!1,t=t.filter((function(e){return e!==s}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),s=0;s<e;s++)n[s]=arguments[s];t.forEach((function(e){return e.apply(void 0,n)}))}}}var h=!("undefined"==typeof window||!window.document||!window.document.createElement);function m(e,t){t(window.confirm(e))}var g="popstate",v="hashchange";function y(){try{return window.history.state||{}}catch(e){return{}}}function k(e){void 0===e&&(e={}),h||(0,i.A)(!1);var t,n=window.history,o=(-1===(t=window.navigator.userAgent).indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,a=!(-1===window.navigator.userAgent.indexOf("Trident")),r=e,l=r.forceRefresh,k=void 0!==l&&l,x=r.getUserConfirmation,w=void 0===x?m:x,_=r.keyLength,j=void 0===_?6:_,C=e.basename?u(c(e.basename)):"";function S(e){var t=e||{},n=t.key,s=t.state,o=window.location,a=o.pathname+o.search+o.hash;return C&&(a=d(a,C)),f(a,s,n)}function M(){return Math.random().toString(36).substr(2,j)}var E=b();function L(e){(0,s.A)(z,e),z.length=n.length,E.notifyListeners(z.location,z.action)}function A(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||R(S(e.state))}function T(){R(S(y()))}var P=!1;function R(e){if(P)P=!1,L();else{E.confirmTransitionTo(e,"POP",w,(function(t){t?L({action:"POP",location:e}):function(e){var t=z.location,n=Z.indexOf(t.key);-1===n&&(n=0);var s=Z.indexOf(e.key);-1===s&&(s=0);var o=n-s;o&&(P=!0,D(o))}(e)}))}}var N=S(y()),Z=[N.key];function O(e){return C+p(e)}function D(e){n.go(e)}var B=0;function I(e){1===(B+=e)&&1===e?(window.addEventListener(g,A),a&&window.addEventListener(v,T)):0===B&&(window.removeEventListener(g,A),a&&window.removeEventListener(v,T))}var F=!1;var z={length:n.length,action:"POP",location:N,createHref:O,push:function(e,t){var s="PUSH",a=f(e,t,M(),z.location);E.confirmTransitionTo(a,s,w,(function(e){if(e){var t=O(a),r=a.key,i=a.state;if(o)if(n.pushState({key:r,state:i},null,t),k)window.location.href=t;else{var c=Z.indexOf(z.location.key),l=Z.slice(0,c+1);l.push(a.key),Z=l,L({action:s,location:a})}else window.location.href=t}}))},replace:function(e,t){var s="REPLACE",a=f(e,t,M(),z.location);E.confirmTransitionTo(a,s,w,(function(e){if(e){var t=O(a),r=a.key,i=a.state;if(o)if(n.replaceState({key:r,state:i},null,t),k)window.location.replace(t);else{var c=Z.indexOf(z.location.key);-1!==c&&(Z[c]=a.key),L({action:s,location:a})}else window.location.replace(t)}}))},go:D,goBack:function(){D(-1)},goForward:function(){D(1)},block:function(e){void 0===e&&(e=!1);var t=E.setPrompt(e);return F||(I(1),F=!0),function(){return F&&(F=!1,I(-1)),t()}},listen:function(e){var t=E.appendListener(e);return I(1),function(){I(-1),t()}}};return z}var x="hashchange",w={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+l(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:l,decodePath:c},slash:{encodePath:c,decodePath:c}};function _(e){var t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function j(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function C(e){window.location.replace(_(window.location.href)+"#"+e)}function S(e){void 0===e&&(e={}),h||(0,i.A)(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),o=n.getUserConfirmation,a=void 0===o?m:o,r=n.hashType,l=void 0===r?"slash":r,g=e.basename?u(c(e.basename)):"",v=w[l],y=v.encodePath,k=v.decodePath;function S(){var e=k(j());return g&&(e=d(e,g)),f(e)}var M=b();function E(e){(0,s.A)(F,e),F.length=t.length,M.notifyListeners(F.location,F.action)}var L=!1,A=null;function T(){var e,t,n=j(),s=y(n);if(n!==s)C(s);else{var o=S(),r=F.location;if(!L&&(t=o,(e=r).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(A===p(o))return;A=null,function(e){if(L)L=!1,E();else{var t="POP";M.confirmTransitionTo(e,t,a,(function(n){n?E({action:t,location:e}):function(e){var t=F.location,n=Z.lastIndexOf(p(t));-1===n&&(n=0);var s=Z.lastIndexOf(p(e));-1===s&&(s=0);var o=n-s;o&&(L=!0,O(o))}(e)}))}}(o)}}var P=j(),R=y(P);P!==R&&C(R);var N=S(),Z=[p(N)];function O(e){t.go(e)}var D=0;function B(e){1===(D+=e)&&1===e?window.addEventListener(x,T):0===D&&window.removeEventListener(x,T)}var I=!1;var F={length:t.length,action:"POP",location:N,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=_(window.location.href)),n+"#"+y(g+p(e))},push:function(e,t){var n="PUSH",s=f(e,void 0,void 0,F.location);M.confirmTransitionTo(s,n,a,(function(e){if(e){var t=p(s),o=y(g+t);if(j()!==o){A=t,function(e){window.location.hash=e}(o);var a=Z.lastIndexOf(p(F.location)),r=Z.slice(0,a+1);r.push(t),Z=r,E({action:n,location:s})}else E()}}))},replace:function(e,t){var n="REPLACE",s=f(e,void 0,void 0,F.location);M.confirmTransitionTo(s,n,a,(function(e){if(e){var t=p(s),o=y(g+t);j()!==o&&(A=t,C(o));var a=Z.indexOf(p(F.location));-1!==a&&(Z[a]=t),E({action:n,location:s})}}))},go:O,goBack:function(){O(-1)},goForward:function(){O(1)},block:function(e){void 0===e&&(e=!1);var t=M.setPrompt(e);return I||(B(1),I=!0),function(){return I&&(I=!1,B(-1)),t()}},listen:function(e){var t=M.appendListener(e);return B(1),function(){B(-1),t()}}};return F}function M(e,t,n){return Math.min(Math.max(e,t),n)}function E(e){void 0===e&&(e={});var t=e,n=t.getUserConfirmation,o=t.initialEntries,a=void 0===o?["/"]:o,r=t.initialIndex,i=void 0===r?0:r,c=t.keyLength,l=void 0===c?6:c,d=b();function u(e){(0,s.A)(k,e),k.length=k.entries.length,d.notifyListeners(k.location,k.action)}function h(){return Math.random().toString(36).substr(2,l)}var m=M(i,0,a.length-1),g=a.map((function(e){return f(e,void 0,"string"==typeof e?h():e.key||h())})),v=p;function y(e){var t=M(k.index+e,0,k.entries.length-1),s=k.entries[t];d.confirmTransitionTo(s,"POP",n,(function(e){e?u({action:"POP",location:s,index:t}):u()}))}var k={length:g.length,action:"POP",location:g[m],index:m,entries:g,createHref:v,push:function(e,t){var s="PUSH",o=f(e,t,h(),k.location);d.confirmTransitionTo(o,s,n,(function(e){if(e){var t=k.index+1,n=k.entries.slice(0);n.length>t?n.splice(t,n.length-t,o):n.push(o),u({action:s,location:o,index:t,entries:n})}}))},replace:function(e,t){var s="REPLACE",o=f(e,t,h(),k.location);d.confirmTransitionTo(o,s,n,(function(e){e&&(k.entries[k.index]=o,u({action:s,location:o}))}))},go:y,goBack:function(){y(-1)},goForward:function(){y(1)},canGo:function(e){var t=k.index+e;return t>=0&&t<k.entries.length},block:function(e){return void 0===e&&(e=!1),d.setPrompt(e)},listen:function(e){return d.appendListener(e)}};return k}},4146:(e,t,n)=>{"use strict";var s=n(44363),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},r={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},i={};function c(e){return s.isMemo(e)?r:i[e.$$typeof]||o}i[s.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},i[s.Memo]=r;var l=Object.defineProperty,d=Object.getOwnPropertyNames,u=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,b=Object.prototype;e.exports=function e(t,n,s){if("string"!=typeof n){if(b){var o=f(n);o&&o!==b&&e(t,o,s)}var r=d(n);u&&(r=r.concat(u(n)));for(var i=c(t),h=c(n),m=0;m<r.length;++m){var g=r[m];if(!(a[g]||s&&s[g]||h&&h[g]||i&&i[g])){var v=p(n,g);try{l(t,g,v)}catch(y){}}}}return t}},20311:e=>{"use strict";e.exports=function(e,t,n,s,o,a,r,i){if(!e){var c;if(void 0===t)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[n,s,o,a,r,i],d=0;(c=new Error(t.replace(/%s/g,(function(){return l[d++]})))).name="Invariant Violation"}throw c.framesToPop=1,c}}},64634:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},91218:(e,t,n)=>{"use strict";n.r(t)},10119:(e,t,n)=>{"use strict";n.r(t)},82710:(e,t,n)=>{"use strict";n.r(t)},5947:function(e,t,n){var s,o;s=function(){var e,t,n={version:"0.2.0"},s=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};function o(e,t,n){return e<t?t:e>n?n:e}function a(e){return 100*(-1+e)}function r(e,t,n){var o;return(o="translate3d"===s.positionUsing?{transform:"translate3d("+a(e)+"%,0,0)"}:"translate"===s.positionUsing?{transform:"translate("+a(e)+"%,0)"}:{"margin-left":a(e)+"%"}).transition="all "+t+"ms "+n,o}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(s[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=o(e,s.minimum,1),n.status=1===e?null:e;var a=n.render(!t),l=a.querySelector(s.barSelector),d=s.speed,u=s.easing;return a.offsetWidth,i((function(t){""===s.positionUsing&&(s.positionUsing=n.getPositioningCSS()),c(l,r(e,d,u)),1===e?(c(a,{transition:"none",opacity:1}),a.offsetWidth,setTimeout((function(){c(a,{transition:"all "+d+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),d)}),d)):setTimeout(t,d)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),s.trickleSpeed)};return s.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*s.trickleRate)},e=0,t=0,n.promise=function(s){return s&&"resolved"!==s.state()?(0===t&&n.start(),e++,t++,s.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");d(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=s.template;var o,r=t.querySelector(s.barSelector),i=e?"-100":a(n.status||0),l=document.querySelector(s.parent);return c(r,{transition:"all 0 linear",transform:"translate3d("+i+"%,0,0)"}),s.showSpinner||(o=t.querySelector(s.spinnerSelector))&&f(o),l!=document.body&&d(l,"nprogress-custom-parent"),l.appendChild(t),t},n.remove=function(){u(document.documentElement,"nprogress-busy"),u(document.querySelector(s.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var i=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),c=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function s(t){var n=document.body.style;if(t in n)return t;for(var s,o=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((s=e[o]+a)in n)return s;return t}function o(e){return e=n(e),t[e]||(t[e]=s(e))}function a(e,t,n){t=o(t),e.style[t]=n}return function(e,t){var n,s,o=arguments;if(2==o.length)for(n in t)void 0!==(s=t[n])&&t.hasOwnProperty(n)&&a(e,n,s);else a(e,o[1],o[2])}}();function l(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function d(e,t){var n=p(e),s=n+t;l(n,t)||(e.className=s.substring(1))}function u(e,t){var n,s=p(e);l(e,t)&&(n=s.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(o="function"==typeof s?s.call(t,n,t,e):s)||(e.exports=o)},35302:(e,t,n)=>{var s=n(64634);e.exports=f,e.exports.parse=a,e.exports.compile=function(e,t){return i(a(e,t),t)},e.exports.tokensToFunction=i,e.exports.tokensToRegExp=p;var o=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function a(e,t){for(var n,s=[],a=0,r=0,i="",d=t&&t.delimiter||"/";null!=(n=o.exec(e));){var u=n[0],p=n[1],f=n.index;if(i+=e.slice(r,f),r=f+u.length,p)i+=p[1];else{var b=e[r],h=n[2],m=n[3],g=n[4],v=n[5],y=n[6],k=n[7];i&&(s.push(i),i="");var x=null!=h&&null!=b&&b!==h,w="+"===y||"*"===y,_="?"===y||"*"===y,j=n[2]||d,C=g||v;s.push({name:m||a++,prefix:h||"",delimiter:j,optional:_,repeat:w,partial:x,asterisk:!!k,pattern:C?l(C):k?".*":"[^"+c(j)+"]+?"})}}return r<e.length&&(i+=e.substr(r)),i&&s.push(i),s}function r(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function i(e,t){for(var n=new Array(e.length),o=0;o<e.length;o++)"object"==typeof e[o]&&(n[o]=new RegExp("^(?:"+e[o].pattern+")$",u(t)));return function(t,o){for(var a="",i=t||{},c=(o||{}).pretty?r:encodeURIComponent,l=0;l<e.length;l++){var d=e[l];if("string"!=typeof d){var u,p=i[d.name];if(null==p){if(d.optional){d.partial&&(a+=d.prefix);continue}throw new TypeError('Expected "'+d.name+'" to be defined')}if(s(p)){if(!d.repeat)throw new TypeError('Expected "'+d.name+'" to not repeat, but received `'+JSON.stringify(p)+"`");if(0===p.length){if(d.optional)continue;throw new TypeError('Expected "'+d.name+'" to not be empty')}for(var f=0;f<p.length;f++){if(u=c(p[f]),!n[l].test(u))throw new TypeError('Expected all "'+d.name+'" to match "'+d.pattern+'", but received `'+JSON.stringify(u)+"`");a+=(0===f?d.prefix:d.delimiter)+u}}else{if(u=d.asterisk?encodeURI(p).replace(/[?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})):c(p),!n[l].test(u))throw new TypeError('Expected "'+d.name+'" to match "'+d.pattern+'", but received "'+u+'"');a+=d.prefix+u}}else a+=d}return a}}function c(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function l(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function d(e,t){return e.keys=t,e}function u(e){return e&&e.sensitive?"":"i"}function p(e,t,n){s(t)||(n=t||n,t=[]);for(var o=(n=n||{}).strict,a=!1!==n.end,r="",i=0;i<e.length;i++){var l=e[i];if("string"==typeof l)r+=c(l);else{var p=c(l.prefix),f="(?:"+l.pattern+")";t.push(l),l.repeat&&(f+="(?:"+p+f+")*"),r+=f=l.optional?l.partial?p+"("+f+")?":"(?:"+p+"("+f+"))?":p+"("+f+")"}}var b=c(n.delimiter||"/"),h=r.slice(-b.length)===b;return o||(r=(h?r.slice(0,-b.length):r)+"(?:"+b+"(?=$))?"),r+=a?"$":o&&h?"":"(?="+b+"|$)",d(new RegExp("^"+r,u(n)),t)}function f(e,t,n){return s(t)||(n=t||n,t=[]),n=n||{},e instanceof RegExp?function(e,t){var n=e.source.match(/\((?!\?)/g);if(n)for(var s=0;s<n.length;s++)t.push({name:s,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return d(e,t)}(e,t):s(e)?function(e,t,n){for(var s=[],o=0;o<e.length;o++)s.push(f(e[o],t,n).source);return d(new RegExp("(?:"+s.join("|")+")",u(n)),t)}(e,t,n):function(e,t,n){return p(a(e,n),t,n)}(e,t,n)}},91113:()=>{!function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(Prism)},19700:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,s,o,a){if(n.language===s){var r=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof a&&!a(e))return e;for(var o,i=r.length;-1!==n.code.indexOf(o=t(s,i));)++i;return r[i]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,s){if(n.language===s&&n.tokenStack){n.grammar=e.languages[s];var o=0,a=Object.keys(n.tokenStack);!function r(i){for(var c=0;c<i.length&&!(o>=a.length);c++){var l=i[c];if("string"==typeof l||l.content&&"string"==typeof l.content){var d=a[o],u=n.tokenStack[d],p="string"==typeof l?l:l.content,f=t(s,d),b=p.indexOf(f);if(b>-1){++o;var h=p.substring(0,b),m=new e.Token(s,e.tokenize(u,n.grammar),"language-"+s,u),g=p.substring(b+f.length),v=[];h&&v.push.apply(v,r([h])),v.push(m),g&&v.push.apply(v,r([g])),"string"==typeof l?i.splice.apply(i,[c,1].concat(v)):l.content=v}}else l.content&&r(l.content)}return i}(n.tokens)}}}})}(Prism)},43554:()=>{!function(e){var t=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,n=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],s=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,o=/<?=>|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,a=/[{}\[\](),:;]/;e.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:t,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:s,operator:o,punctuation:a};var r={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:e.languages.php},i=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:r}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:r}}];e.languages.insertBefore("php","variable",{string:i,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:t,string:i,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,number:s,operator:o,punctuation:a}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),e.hooks.add("before-tokenize",(function(t){if(/<\?/.test(t.code)){e.languages["markup-templating"].buildPlaceholders(t,"php",/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g)}})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"php")}))}(Prism)},94604:()=>{Prism.languages.scss=Prism.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),Prism.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),Prism.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),Prism.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),Prism.languages.scss.atrule.inside.rest=Prism.languages.scss},18209:(e,t,n)=>{var s={"./prism-css":91113,"./prism-php":43554,"./prism-scss":94604};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(s,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return s[e]}o.keys=function(){return Object.keys(s)},o.resolve=a,e.exports=o,o.id=18209},2694:(e,t,n)=>{"use strict";var s=n(6925);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,r){if(r!==s){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},5556:(e,t,n)=>{e.exports=n(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},22551:(e,t,n)=>{"use strict";var s=n(96540),o=n(69982);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var r=new Set,i={};function c(e,t){l(e,t),l(e+"Capture",t)}function l(e,t){for(i[e]=t,e=0;e<t.length;e++)r.add(t[e])}var d=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),u=Object.prototype.hasOwnProperty,p=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,f={},b={};function h(e,t,n,s,o,a,r){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=s,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=r}var m={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){m[e]=new h(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];m[t]=new h(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){m[e]=new h(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){m[e]=new h(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){m[e]=new h(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){m[e]=new h(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){m[e]=new h(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){m[e]=new h(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){m[e]=new h(e,5,!1,e.toLowerCase(),null,!1,!1)}));var g=/[\-:]([a-z])/g;function v(e){return e[1].toUpperCase()}function y(e,t,n,s){var o=m.hasOwnProperty(t)?m[t]:null;(null!==o?0!==o.type:s||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,s){if(null==t||function(e,t,n,s){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!s&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,s))return!0;if(s)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,o,s)&&(n=null),s||null===o?function(e){return!!u.call(b,e)||!u.call(f,e)&&(p.test(e)?b[e]=!0:(f[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):o.mustUseProperty?e[o.propertyName]=null===n?3!==o.type&&"":n:(t=o.attributeName,s=o.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(o=o.type)||4===o&&!0===n?"":""+n,s?e.setAttributeNS(s,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(g,v);m[t]=new h(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(g,v);m[t]=new h(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(g,v);m[t]=new h(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){m[e]=new h(e,1,!1,e.toLowerCase(),null,!1,!1)})),m.xlinkHref=new h("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){m[e]=new h(e,1,!1,e.toLowerCase(),null,!0,!0)}));var k=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,x=Symbol.for("react.element"),w=Symbol.for("react.portal"),_=Symbol.for("react.fragment"),j=Symbol.for("react.strict_mode"),C=Symbol.for("react.profiler"),S=Symbol.for("react.provider"),M=Symbol.for("react.context"),E=Symbol.for("react.forward_ref"),L=Symbol.for("react.suspense"),A=Symbol.for("react.suspense_list"),T=Symbol.for("react.memo"),P=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var R=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var N=Symbol.iterator;function Z(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=N&&e[N]||e["@@iterator"])?e:null}var O,D=Object.assign;function B(e){if(void 0===O)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);O=t&&t[1]||""}return"\n"+O+e}var I=!1;function F(e,t){if(!e||I)return"";I=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(l){var s=l}Reflect.construct(e,[],t)}else{try{t.call()}catch(l){s=l}e.call(t.prototype)}else{try{throw Error()}catch(l){s=l}e()}}catch(l){if(l&&s&&"string"==typeof l.stack){for(var o=l.stack.split("\n"),a=s.stack.split("\n"),r=o.length-1,i=a.length-1;1<=r&&0<=i&&o[r]!==a[i];)i--;for(;1<=r&&0<=i;r--,i--)if(o[r]!==a[i]){if(1!==r||1!==i)do{if(r--,0>--i||o[r]!==a[i]){var c="\n"+o[r].replace(" at new "," at ");return e.displayName&&c.includes("<anonymous>")&&(c=c.replace("<anonymous>",e.displayName)),c}}while(1<=r&&0<=i);break}}}finally{I=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?B(e):""}function z(e){switch(e.tag){case 5:return B(e.type);case 16:return B("Lazy");case 13:return B("Suspense");case 19:return B("SuspenseList");case 0:case 2:case 15:return e=F(e.type,!1);case 11:return e=F(e.type.render,!1);case 1:return e=F(e.type,!0);default:return""}}function W(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case _:return"Fragment";case w:return"Portal";case C:return"Profiler";case j:return"StrictMode";case L:return"Suspense";case A:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case M:return(e.displayName||"Context")+".Consumer";case S:return(e._context.displayName||"Context")+".Provider";case E:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case T:return null!==(t=e.displayName||null)?t:W(e.type)||"Memo";case P:t=e._payload,e=e._init;try{return W(e(t))}catch(n){}}return null}function $(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return W(t);case 8:return t===j?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function H(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function V(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function U(e){e._valueTracker||(e._valueTracker=function(e){var t=V(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),s=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var o=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(e){s=""+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return s},setValue:function(e){s=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function q(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),s="";return e&&(s=V(e)?e.checked?"true":"false":e.value),(e=s)!==n&&(t.setValue(e),!0)}function G(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function K(e,t){var n=t.checked;return D({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function Y(e,t){var n=null==t.defaultValue?"":t.defaultValue,s=null!=t.checked?t.checked:t.defaultChecked;n=H(null!=t.value?t.value:n),e._wrapperState={initialChecked:s,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function Q(e,t){null!=(t=t.checked)&&y(e,"checked",t,!1)}function X(e,t){Q(e,t);var n=H(t.value),s=t.type;if(null!=n)"number"===s?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===s||"reset"===s)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,n):t.hasOwnProperty("defaultValue")&&ee(e,t.type,H(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function J(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var s=t.type;if(!("submit"!==s&&"reset"!==s||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ee(e,t,n){"number"===t&&G(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var te=Array.isArray;function ne(e,t,n,s){if(e=e.options,t){t={};for(var o=0;o<n.length;o++)t["$"+n[o]]=!0;for(n=0;n<e.length;n++)o=t.hasOwnProperty("$"+e[n].value),e[n].selected!==o&&(e[n].selected=o),o&&s&&(e[n].defaultSelected=!0)}else{for(n=""+H(n),t=null,o=0;o<e.length;o++){if(e[o].value===n)return e[o].selected=!0,void(s&&(e[o].defaultSelected=!0));null!==t||e[o].disabled||(t=e[o])}null!==t&&(t.selected=!0)}}function se(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(a(91));return D({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function oe(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(a(92));if(te(n)){if(1<n.length)throw Error(a(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:H(n)}}function ae(e,t){var n=H(t.value),s=H(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=s&&(e.defaultValue=""+s)}function re(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function ie(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function ce(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?ie(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var le,de,ue=(de=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((le=le||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=le.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,s){MSApp.execUnsafeLocalFunction((function(){return de(e,t)}))}:de);function pe(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var fe={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},be=["Webkit","ms","Moz","O"];function he(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||fe.hasOwnProperty(e)&&fe[e]?(""+t).trim():t+"px"}function me(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var s=0===n.indexOf("--"),o=he(n,t[n],s);"float"===n&&(n="cssFloat"),s?e.setProperty(n,o):e[n]=o}}Object.keys(fe).forEach((function(e){be.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),fe[t]=fe[e]}))}));var ge=D({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ve(e,t){if(t){if(ge[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(a(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(a(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(a(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(a(62))}}function ye(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ke=null;function xe(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var we=null,_e=null,je=null;function Ce(e){if(e=ko(e)){if("function"!=typeof we)throw Error(a(280));var t=e.stateNode;t&&(t=wo(t),we(e.stateNode,e.type,t))}}function Se(e){_e?je?je.push(e):je=[e]:_e=e}function Me(){if(_e){var e=_e,t=je;if(je=_e=null,Ce(e),t)for(e=0;e<t.length;e++)Ce(t[e])}}function Ee(e,t){return e(t)}function Le(){}var Ae=!1;function Te(e,t,n){if(Ae)return e(t,n);Ae=!0;try{return Ee(e,t,n)}finally{Ae=!1,(null!==_e||null!==je)&&(Le(),Me())}}function Pe(e,t){var n=e.stateNode;if(null===n)return null;var s=wo(n);if(null===s)return null;n=s[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(s=!s.disabled)||(s=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!s;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(a(231,t,typeof n));return n}var Re=!1;if(d)try{var Ne={};Object.defineProperty(Ne,"passive",{get:function(){Re=!0}}),window.addEventListener("test",Ne,Ne),window.removeEventListener("test",Ne,Ne)}catch(de){Re=!1}function Ze(e,t,n,s,o,a,r,i,c){var l=Array.prototype.slice.call(arguments,3);try{t.apply(n,l)}catch(d){this.onError(d)}}var Oe=!1,De=null,Be=!1,Ie=null,Fe={onError:function(e){Oe=!0,De=e}};function ze(e,t,n,s,o,a,r,i,c){Oe=!1,De=null,Ze.apply(Fe,arguments)}function We(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{!!(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function $e(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function He(e){if(We(e)!==e)throw Error(a(188))}function Ve(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=We(e)))throw Error(a(188));return t!==e?null:e}for(var n=e,s=t;;){var o=n.return;if(null===o)break;var r=o.alternate;if(null===r){if(null!==(s=o.return)){n=s;continue}break}if(o.child===r.child){for(r=o.child;r;){if(r===n)return He(o),e;if(r===s)return He(o),t;r=r.sibling}throw Error(a(188))}if(n.return!==s.return)n=o,s=r;else{for(var i=!1,c=o.child;c;){if(c===n){i=!0,n=o,s=r;break}if(c===s){i=!0,s=o,n=r;break}c=c.sibling}if(!i){for(c=r.child;c;){if(c===n){i=!0,n=r,s=o;break}if(c===s){i=!0,s=r,n=o;break}c=c.sibling}if(!i)throw Error(a(189))}}if(n.alternate!==s)throw Error(a(190))}if(3!==n.tag)throw Error(a(188));return n.stateNode.current===n?e:t}(e))?Ue(e):null}function Ue(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=Ue(e);if(null!==t)return t;e=e.sibling}return null}var qe=o.unstable_scheduleCallback,Ge=o.unstable_cancelCallback,Ke=o.unstable_shouldYield,Ye=o.unstable_requestPaint,Qe=o.unstable_now,Xe=o.unstable_getCurrentPriorityLevel,Je=o.unstable_ImmediatePriority,et=o.unstable_UserBlockingPriority,tt=o.unstable_NormalPriority,nt=o.unstable_LowPriority,st=o.unstable_IdlePriority,ot=null,at=null;var rt=Math.clz32?Math.clz32:function(e){return e>>>=0,0===e?32:31-(it(e)/ct|0)|0},it=Math.log,ct=Math.LN2;var lt=64,dt=4194304;function ut(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function pt(e,t){var n=e.pendingLanes;if(0===n)return 0;var s=0,o=e.suspendedLanes,a=e.pingedLanes,r=268435455&n;if(0!==r){var i=r&~o;0!==i?s=ut(i):0!==(a&=r)&&(s=ut(a))}else 0!==(r=n&~o)?s=ut(r):0!==a&&(s=ut(a));if(0===s)return 0;if(0!==t&&t!==s&&!(t&o)&&((o=s&-s)>=(a=t&-t)||16===o&&4194240&a))return t;if(4&s&&(s|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=s;0<t;)o=1<<(n=31-rt(t)),s|=e[n],t&=~o;return s}function ft(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function bt(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function ht(){var e=lt;return!(4194240&(lt<<=1))&&(lt=64),e}function mt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function gt(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-rt(t)]=n}function vt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var s=31-rt(n),o=1<<s;o&t|e[s]&t&&(e[s]|=t),n&=~o}}var yt=0;function kt(e){return 1<(e&=-e)?4<e?268435455&e?16:536870912:4:1}var xt,wt,_t,jt,Ct,St=!1,Mt=[],Et=null,Lt=null,At=null,Tt=new Map,Pt=new Map,Rt=[],Nt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Zt(e,t){switch(e){case"focusin":case"focusout":Et=null;break;case"dragenter":case"dragleave":Lt=null;break;case"mouseover":case"mouseout":At=null;break;case"pointerover":case"pointerout":Tt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Pt.delete(t.pointerId)}}function Ot(e,t,n,s,o,a){return null===e||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:s,nativeEvent:a,targetContainers:[o]},null!==t&&(null!==(t=ko(t))&&wt(t)),e):(e.eventSystemFlags|=s,t=e.targetContainers,null!==o&&-1===t.indexOf(o)&&t.push(o),e)}function Dt(e){var t=yo(e.target);if(null!==t){var n=We(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=$e(n)))return e.blockedOn=t,void Ct(e.priority,(function(){_t(n)}))}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Bt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Kt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=ko(n))&&wt(t),e.blockedOn=n,!1;var s=new(n=e.nativeEvent).constructor(n.type,n);ke=s,n.target.dispatchEvent(s),ke=null,t.shift()}return!0}function It(e,t,n){Bt(e)&&n.delete(t)}function Ft(){St=!1,null!==Et&&Bt(Et)&&(Et=null),null!==Lt&&Bt(Lt)&&(Lt=null),null!==At&&Bt(At)&&(At=null),Tt.forEach(It),Pt.forEach(It)}function zt(e,t){e.blockedOn===t&&(e.blockedOn=null,St||(St=!0,o.unstable_scheduleCallback(o.unstable_NormalPriority,Ft)))}function Wt(e){function t(t){return zt(t,e)}if(0<Mt.length){zt(Mt[0],e);for(var n=1;n<Mt.length;n++){var s=Mt[n];s.blockedOn===e&&(s.blockedOn=null)}}for(null!==Et&&zt(Et,e),null!==Lt&&zt(Lt,e),null!==At&&zt(At,e),Tt.forEach(t),Pt.forEach(t),n=0;n<Rt.length;n++)(s=Rt[n]).blockedOn===e&&(s.blockedOn=null);for(;0<Rt.length&&null===(n=Rt[0]).blockedOn;)Dt(n),null===n.blockedOn&&Rt.shift()}var $t=k.ReactCurrentBatchConfig,Ht=!0;function Vt(e,t,n,s){var o=yt,a=$t.transition;$t.transition=null;try{yt=1,qt(e,t,n,s)}finally{yt=o,$t.transition=a}}function Ut(e,t,n,s){var o=yt,a=$t.transition;$t.transition=null;try{yt=4,qt(e,t,n,s)}finally{yt=o,$t.transition=a}}function qt(e,t,n,s){if(Ht){var o=Kt(e,t,n,s);if(null===o)Hs(e,t,s,Gt,n),Zt(e,s);else if(function(e,t,n,s,o){switch(t){case"focusin":return Et=Ot(Et,e,t,n,s,o),!0;case"dragenter":return Lt=Ot(Lt,e,t,n,s,o),!0;case"mouseover":return At=Ot(At,e,t,n,s,o),!0;case"pointerover":var a=o.pointerId;return Tt.set(a,Ot(Tt.get(a)||null,e,t,n,s,o)),!0;case"gotpointercapture":return a=o.pointerId,Pt.set(a,Ot(Pt.get(a)||null,e,t,n,s,o)),!0}return!1}(o,e,t,n,s))s.stopPropagation();else if(Zt(e,s),4&t&&-1<Nt.indexOf(e)){for(;null!==o;){var a=ko(o);if(null!==a&&xt(a),null===(a=Kt(e,t,n,s))&&Hs(e,t,s,Gt,n),a===o)break;o=a}null!==o&&s.stopPropagation()}else Hs(e,t,s,null,n)}}var Gt=null;function Kt(e,t,n,s){if(Gt=null,null!==(e=yo(e=xe(s))))if(null===(t=We(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=$e(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Gt=e,null}function Yt(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Xe()){case Je:return 1;case et:return 4;case tt:case nt:return 16;case st:return 536870912;default:return 16}default:return 16}}var Qt=null,Xt=null,Jt=null;function en(){if(Jt)return Jt;var e,t,n=Xt,s=n.length,o="value"in Qt?Qt.value:Qt.textContent,a=o.length;for(e=0;e<s&&n[e]===o[e];e++);var r=s-e;for(t=1;t<=r&&n[s-t]===o[a-t];t++);return Jt=o.slice(e,1<t?1-t:void 0)}function tn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function nn(){return!0}function sn(){return!1}function on(e){function t(t,n,s,o,a){for(var r in this._reactName=t,this._targetInst=s,this.type=n,this.nativeEvent=o,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(r)&&(t=e[r],this[r]=t?t(o):o[r]);return this.isDefaultPrevented=(null!=o.defaultPrevented?o.defaultPrevented:!1===o.returnValue)?nn:sn,this.isPropagationStopped=sn,this}return D(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=nn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=nn)},persist:function(){},isPersistent:nn}),t}var an,rn,cn,ln={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},dn=on(ln),un=D({},ln,{view:0,detail:0}),pn=on(un),fn=D({},un,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Cn,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==cn&&(cn&&"mousemove"===e.type?(an=e.screenX-cn.screenX,rn=e.screenY-cn.screenY):rn=an=0,cn=e),an)},movementY:function(e){return"movementY"in e?e.movementY:rn}}),bn=on(fn),hn=on(D({},fn,{dataTransfer:0})),mn=on(D({},un,{relatedTarget:0})),gn=on(D({},ln,{animationName:0,elapsedTime:0,pseudoElement:0})),vn=D({},ln,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),yn=on(vn),kn=on(D({},ln,{data:0})),xn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},wn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},_n={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function jn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=_n[e])&&!!t[e]}function Cn(){return jn}var Sn=D({},un,{key:function(e){if(e.key){var t=xn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?wn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Cn,charCode:function(e){return"keypress"===e.type?tn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),Mn=on(Sn),En=on(D({},fn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Ln=on(D({},un,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Cn})),An=on(D({},ln,{propertyName:0,elapsedTime:0,pseudoElement:0})),Tn=D({},fn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Pn=on(Tn),Rn=[9,13,27,32],Nn=d&&"CompositionEvent"in window,Zn=null;d&&"documentMode"in document&&(Zn=document.documentMode);var On=d&&"TextEvent"in window&&!Zn,Dn=d&&(!Nn||Zn&&8<Zn&&11>=Zn),Bn=String.fromCharCode(32),In=!1;function Fn(e,t){switch(e){case"keyup":return-1!==Rn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function zn(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Wn=!1;var $n={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Hn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!$n[e.type]:"textarea"===t}function Vn(e,t,n,s){Se(s),0<(t=Us(t,"onChange")).length&&(n=new dn("onChange","change",null,n,s),e.push({event:n,listeners:t}))}var Un=null,qn=null;function Gn(e){Bs(e,0)}function Kn(e){if(q(xo(e)))return e}function Yn(e,t){if("change"===e)return t}var Qn=!1;if(d){var Xn;if(d){var Jn="oninput"in document;if(!Jn){var es=document.createElement("div");es.setAttribute("oninput","return;"),Jn="function"==typeof es.oninput}Xn=Jn}else Xn=!1;Qn=Xn&&(!document.documentMode||9<document.documentMode)}function ts(){Un&&(Un.detachEvent("onpropertychange",ns),qn=Un=null)}function ns(e){if("value"===e.propertyName&&Kn(qn)){var t=[];Vn(t,qn,e,xe(e)),Te(Gn,t)}}function ss(e,t,n){"focusin"===e?(ts(),qn=n,(Un=t).attachEvent("onpropertychange",ns)):"focusout"===e&&ts()}function os(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Kn(qn)}function as(e,t){if("click"===e)return Kn(t)}function rs(e,t){if("input"===e||"change"===e)return Kn(t)}var is="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function cs(e,t){if(is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),s=Object.keys(t);if(n.length!==s.length)return!1;for(s=0;s<n.length;s++){var o=n[s];if(!u.call(t,o)||!is(e[o],t[o]))return!1}return!0}function ls(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ds(e,t){var n,s=ls(e);for(e=0;s;){if(3===s.nodeType){if(n=e+s.textContent.length,e<=t&&n>=t)return{node:s,offset:t-e};e=n}e:{for(;s;){if(s.nextSibling){s=s.nextSibling;break e}s=s.parentNode}s=void 0}s=ls(s)}}function us(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?us(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function ps(){for(var e=window,t=G();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(s){n=!1}if(!n)break;t=G((e=t.contentWindow).document)}return t}function fs(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function bs(e){var t=ps(),n=e.focusedElem,s=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&us(n.ownerDocument.documentElement,n)){if(null!==s&&fs(n))if(t=s.start,void 0===(e=s.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var o=n.textContent.length,a=Math.min(s.start,o);s=void 0===s.end?a:Math.min(s.end,o),!e.extend&&a>s&&(o=s,s=a,a=o),o=ds(n,a);var r=ds(n,s);o&&r&&(1!==e.rangeCount||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==r.node||e.focusOffset!==r.offset)&&((t=t.createRange()).setStart(o.node,o.offset),e.removeAllRanges(),a>s?(e.addRange(t),e.extend(r.node,r.offset)):(t.setEnd(r.node,r.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var hs=d&&"documentMode"in document&&11>=document.documentMode,ms=null,gs=null,vs=null,ys=!1;function ks(e,t,n){var s=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;ys||null==ms||ms!==G(s)||("selectionStart"in(s=ms)&&fs(s)?s={start:s.selectionStart,end:s.selectionEnd}:s={anchorNode:(s=(s.ownerDocument&&s.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:s.anchorOffset,focusNode:s.focusNode,focusOffset:s.focusOffset},vs&&cs(vs,s)||(vs=s,0<(s=Us(gs,"onSelect")).length&&(t=new dn("onSelect","select",null,t,n),e.push({event:t,listeners:s}),t.target=ms)))}function xs(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var ws={animationend:xs("Animation","AnimationEnd"),animationiteration:xs("Animation","AnimationIteration"),animationstart:xs("Animation","AnimationStart"),transitionend:xs("Transition","TransitionEnd")},_s={},js={};function Cs(e){if(_s[e])return _s[e];if(!ws[e])return e;var t,n=ws[e];for(t in n)if(n.hasOwnProperty(t)&&t in js)return _s[e]=n[t];return e}d&&(js=document.createElement("div").style,"AnimationEvent"in window||(delete ws.animationend.animation,delete ws.animationiteration.animation,delete ws.animationstart.animation),"TransitionEvent"in window||delete ws.transitionend.transition);var Ss=Cs("animationend"),Ms=Cs("animationiteration"),Es=Cs("animationstart"),Ls=Cs("transitionend"),As=new Map,Ts="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Ps(e,t){As.set(e,t),c(t,[e])}for(var Rs=0;Rs<Ts.length;Rs++){var Ns=Ts[Rs];Ps(Ns.toLowerCase(),"on"+(Ns[0].toUpperCase()+Ns.slice(1)))}Ps(Ss,"onAnimationEnd"),Ps(Ms,"onAnimationIteration"),Ps(Es,"onAnimationStart"),Ps("dblclick","onDoubleClick"),Ps("focusin","onFocus"),Ps("focusout","onBlur"),Ps(Ls,"onTransitionEnd"),l("onMouseEnter",["mouseout","mouseover"]),l("onMouseLeave",["mouseout","mouseover"]),l("onPointerEnter",["pointerout","pointerover"]),l("onPointerLeave",["pointerout","pointerover"]),c("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),c("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),c("onBeforeInput",["compositionend","keypress","textInput","paste"]),c("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Zs="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Os=new Set("cancel close invalid load scroll toggle".split(" ").concat(Zs));function Ds(e,t,n){var s=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,s,o,r,i,c,l){if(ze.apply(this,arguments),Oe){if(!Oe)throw Error(a(198));var d=De;Oe=!1,De=null,Be||(Be=!0,Ie=d)}}(s,t,void 0,e),e.currentTarget=null}function Bs(e,t){t=!!(4&t);for(var n=0;n<e.length;n++){var s=e[n],o=s.event;s=s.listeners;e:{var a=void 0;if(t)for(var r=s.length-1;0<=r;r--){var i=s[r],c=i.instance,l=i.currentTarget;if(i=i.listener,c!==a&&o.isPropagationStopped())break e;Ds(o,i,l),a=c}else for(r=0;r<s.length;r++){if(c=(i=s[r]).instance,l=i.currentTarget,i=i.listener,c!==a&&o.isPropagationStopped())break e;Ds(o,i,l),a=c}}}if(Be)throw e=Ie,Be=!1,Ie=null,e}function Is(e,t){var n=t[mo];void 0===n&&(n=t[mo]=new Set);var s=e+"__bubble";n.has(s)||($s(t,e,2,!1),n.add(s))}function Fs(e,t,n){var s=0;t&&(s|=4),$s(n,e,s,t)}var zs="_reactListening"+Math.random().toString(36).slice(2);function Ws(e){if(!e[zs]){e[zs]=!0,r.forEach((function(t){"selectionchange"!==t&&(Os.has(t)||Fs(t,!1,e),Fs(t,!0,e))}));var t=9===e.nodeType?e:e.ownerDocument;null===t||t[zs]||(t[zs]=!0,Fs("selectionchange",!1,t))}}function $s(e,t,n,s){switch(Yt(t)){case 1:var o=Vt;break;case 4:o=Ut;break;default:o=qt}n=o.bind(null,t,n,e),o=void 0,!Re||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(o=!0),s?void 0!==o?e.addEventListener(t,n,{capture:!0,passive:o}):e.addEventListener(t,n,!0):void 0!==o?e.addEventListener(t,n,{passive:o}):e.addEventListener(t,n,!1)}function Hs(e,t,n,s,o){var a=s;if(!(1&t||2&t||null===s))e:for(;;){if(null===s)return;var r=s.tag;if(3===r||4===r){var i=s.stateNode.containerInfo;if(i===o||8===i.nodeType&&i.parentNode===o)break;if(4===r)for(r=s.return;null!==r;){var c=r.tag;if((3===c||4===c)&&((c=r.stateNode.containerInfo)===o||8===c.nodeType&&c.parentNode===o))return;r=r.return}for(;null!==i;){if(null===(r=yo(i)))return;if(5===(c=r.tag)||6===c){s=a=r;continue e}i=i.parentNode}}s=s.return}Te((function(){var s=a,o=xe(n),r=[];e:{var i=As.get(e);if(void 0!==i){var c=dn,l=e;switch(e){case"keypress":if(0===tn(n))break e;case"keydown":case"keyup":c=Mn;break;case"focusin":l="focus",c=mn;break;case"focusout":l="blur",c=mn;break;case"beforeblur":case"afterblur":c=mn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":c=bn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":c=hn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":c=Ln;break;case Ss:case Ms:case Es:c=gn;break;case Ls:c=An;break;case"scroll":c=pn;break;case"wheel":c=Pn;break;case"copy":case"cut":case"paste":c=yn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":c=En}var d=!!(4&t),u=!d&&"scroll"===e,p=d?null!==i?i+"Capture":null:i;d=[];for(var f,b=s;null!==b;){var h=(f=b).stateNode;if(5===f.tag&&null!==h&&(f=h,null!==p&&(null!=(h=Pe(b,p))&&d.push(Vs(b,h,f)))),u)break;b=b.return}0<d.length&&(i=new c(i,l,null,n,o),r.push({event:i,listeners:d}))}}if(!(7&t)){if(c="mouseout"===e||"pointerout"===e,(!(i="mouseover"===e||"pointerover"===e)||n===ke||!(l=n.relatedTarget||n.fromElement)||!yo(l)&&!l[ho])&&(c||i)&&(i=o.window===o?o:(i=o.ownerDocument)?i.defaultView||i.parentWindow:window,c?(c=s,null!==(l=(l=n.relatedTarget||n.toElement)?yo(l):null)&&(l!==(u=We(l))||5!==l.tag&&6!==l.tag)&&(l=null)):(c=null,l=s),c!==l)){if(d=bn,h="onMouseLeave",p="onMouseEnter",b="mouse","pointerout"!==e&&"pointerover"!==e||(d=En,h="onPointerLeave",p="onPointerEnter",b="pointer"),u=null==c?i:xo(c),f=null==l?i:xo(l),(i=new d(h,b+"leave",c,n,o)).target=u,i.relatedTarget=f,h=null,yo(o)===s&&((d=new d(p,b+"enter",l,n,o)).target=f,d.relatedTarget=u,h=d),u=h,c&&l)e:{for(p=l,b=0,f=d=c;f;f=qs(f))b++;for(f=0,h=p;h;h=qs(h))f++;for(;0<b-f;)d=qs(d),b--;for(;0<f-b;)p=qs(p),f--;for(;b--;){if(d===p||null!==p&&d===p.alternate)break e;d=qs(d),p=qs(p)}d=null}else d=null;null!==c&&Gs(r,i,c,d,!1),null!==l&&null!==u&&Gs(r,u,l,d,!0)}if("select"===(c=(i=s?xo(s):window).nodeName&&i.nodeName.toLowerCase())||"input"===c&&"file"===i.type)var m=Yn;else if(Hn(i))if(Qn)m=rs;else{m=os;var g=ss}else(c=i.nodeName)&&"input"===c.toLowerCase()&&("checkbox"===i.type||"radio"===i.type)&&(m=as);switch(m&&(m=m(e,s))?Vn(r,m,n,o):(g&&g(e,i,s),"focusout"===e&&(g=i._wrapperState)&&g.controlled&&"number"===i.type&&ee(i,"number",i.value)),g=s?xo(s):window,e){case"focusin":(Hn(g)||"true"===g.contentEditable)&&(ms=g,gs=s,vs=null);break;case"focusout":vs=gs=ms=null;break;case"mousedown":ys=!0;break;case"contextmenu":case"mouseup":case"dragend":ys=!1,ks(r,n,o);break;case"selectionchange":if(hs)break;case"keydown":case"keyup":ks(r,n,o)}var v;if(Nn)e:{switch(e){case"compositionstart":var y="onCompositionStart";break e;case"compositionend":y="onCompositionEnd";break e;case"compositionupdate":y="onCompositionUpdate";break e}y=void 0}else Wn?Fn(e,n)&&(y="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(y="onCompositionStart");y&&(Dn&&"ko"!==n.locale&&(Wn||"onCompositionStart"!==y?"onCompositionEnd"===y&&Wn&&(v=en()):(Xt="value"in(Qt=o)?Qt.value:Qt.textContent,Wn=!0)),0<(g=Us(s,y)).length&&(y=new kn(y,e,null,n,o),r.push({event:y,listeners:g}),v?y.data=v:null!==(v=zn(n))&&(y.data=v))),(v=On?function(e,t){switch(e){case"compositionend":return zn(t);case"keypress":return 32!==t.which?null:(In=!0,Bn);case"textInput":return(e=t.data)===Bn&&In?null:e;default:return null}}(e,n):function(e,t){if(Wn)return"compositionend"===e||!Nn&&Fn(e,t)?(e=en(),Jt=Xt=Qt=null,Wn=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Dn&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(s=Us(s,"onBeforeInput")).length&&(o=new kn("onBeforeInput","beforeinput",null,n,o),r.push({event:o,listeners:s}),o.data=v))}Bs(r,t)}))}function Vs(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Us(e,t){for(var n=t+"Capture",s=[];null!==e;){var o=e,a=o.stateNode;5===o.tag&&null!==a&&(o=a,null!=(a=Pe(e,n))&&s.unshift(Vs(e,a,o)),null!=(a=Pe(e,t))&&s.push(Vs(e,a,o))),e=e.return}return s}function qs(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Gs(e,t,n,s,o){for(var a=t._reactName,r=[];null!==n&&n!==s;){var i=n,c=i.alternate,l=i.stateNode;if(null!==c&&c===s)break;5===i.tag&&null!==l&&(i=l,o?null!=(c=Pe(n,a))&&r.unshift(Vs(n,c,i)):o||null!=(c=Pe(n,a))&&r.push(Vs(n,c,i))),n=n.return}0!==r.length&&e.push({event:t,listeners:r})}var Ks=/\r\n?/g,Ys=/\u0000|\uFFFD/g;function Qs(e){return("string"==typeof e?e:""+e).replace(Ks,"\n").replace(Ys,"")}function Xs(e,t,n){if(t=Qs(t),Qs(e)!==t&&n)throw Error(a(425))}function Js(){}var eo=null,to=null;function no(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var so="function"==typeof setTimeout?setTimeout:void 0,oo="function"==typeof clearTimeout?clearTimeout:void 0,ao="function"==typeof Promise?Promise:void 0,ro="function"==typeof queueMicrotask?queueMicrotask:void 0!==ao?function(e){return ao.resolve(null).then(e).catch(io)}:so;function io(e){setTimeout((function(){throw e}))}function co(e,t){var n=t,s=0;do{var o=n.nextSibling;if(e.removeChild(n),o&&8===o.nodeType)if("/$"===(n=o.data)){if(0===s)return e.removeChild(o),void Wt(t);s--}else"$"!==n&&"$?"!==n&&"$!"!==n||s++;n=o}while(n);Wt(t)}function lo(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function uo(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var po=Math.random().toString(36).slice(2),fo="__reactFiber$"+po,bo="__reactProps$"+po,ho="__reactContainer$"+po,mo="__reactEvents$"+po,go="__reactListeners$"+po,vo="__reactHandles$"+po;function yo(e){var t=e[fo];if(t)return t;for(var n=e.parentNode;n;){if(t=n[ho]||n[fo]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=uo(e);null!==e;){if(n=e[fo])return n;e=uo(e)}return t}n=(e=n).parentNode}return null}function ko(e){return!(e=e[fo]||e[ho])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function xo(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(a(33))}function wo(e){return e[bo]||null}var _o=[],jo=-1;function Co(e){return{current:e}}function So(e){0>jo||(e.current=_o[jo],_o[jo]=null,jo--)}function Mo(e,t){jo++,_o[jo]=e.current,e.current=t}var Eo={},Lo=Co(Eo),Ao=Co(!1),To=Eo;function Po(e,t){var n=e.type.contextTypes;if(!n)return Eo;var s=e.stateNode;if(s&&s.__reactInternalMemoizedUnmaskedChildContext===t)return s.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in n)a[o]=t[o];return s&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function Ro(e){return null!=(e=e.childContextTypes)}function No(){So(Ao),So(Lo)}function Zo(e,t,n){if(Lo.current!==Eo)throw Error(a(168));Mo(Lo,t),Mo(Ao,n)}function Oo(e,t,n){var s=e.stateNode;if(t=t.childContextTypes,"function"!=typeof s.getChildContext)return n;for(var o in s=s.getChildContext())if(!(o in t))throw Error(a(108,$(e)||"Unknown",o));return D({},n,s)}function Do(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Eo,To=Lo.current,Mo(Lo,e),Mo(Ao,Ao.current),!0}function Bo(e,t,n){var s=e.stateNode;if(!s)throw Error(a(169));n?(e=Oo(e,t,To),s.__reactInternalMemoizedMergedChildContext=e,So(Ao),So(Lo),Mo(Lo,e)):So(Ao),Mo(Ao,n)}var Io=null,Fo=!1,zo=!1;function Wo(e){null===Io?Io=[e]:Io.push(e)}function $o(){if(!zo&&null!==Io){zo=!0;var e=0,t=yt;try{var n=Io;for(yt=1;e<n.length;e++){var s=n[e];do{s=s(!0)}while(null!==s)}Io=null,Fo=!1}catch(o){throw null!==Io&&(Io=Io.slice(e+1)),qe(Je,$o),o}finally{yt=t,zo=!1}}return null}var Ho=[],Vo=0,Uo=null,qo=0,Go=[],Ko=0,Yo=null,Qo=1,Xo="";function Jo(e,t){Ho[Vo++]=qo,Ho[Vo++]=Uo,Uo=e,qo=t}function ea(e,t,n){Go[Ko++]=Qo,Go[Ko++]=Xo,Go[Ko++]=Yo,Yo=e;var s=Qo;e=Xo;var o=32-rt(s)-1;s&=~(1<<o),n+=1;var a=32-rt(t)+o;if(30<a){var r=o-o%5;a=(s&(1<<r)-1).toString(32),s>>=r,o-=r,Qo=1<<32-rt(t)+o|n<<o|s,Xo=a+e}else Qo=1<<a|n<<o|s,Xo=e}function ta(e){null!==e.return&&(Jo(e,1),ea(e,1,0))}function na(e){for(;e===Uo;)Uo=Ho[--Vo],Ho[Vo]=null,qo=Ho[--Vo],Ho[Vo]=null;for(;e===Yo;)Yo=Go[--Ko],Go[Ko]=null,Xo=Go[--Ko],Go[Ko]=null,Qo=Go[--Ko],Go[Ko]=null}var sa=null,oa=null,aa=!1,ra=null;function ia(e,t){var n=Tl(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function ca(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,sa=e,oa=lo(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,sa=e,oa=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==Yo?{id:Qo,overflow:Xo}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=Tl(18,null,null,0)).stateNode=t,n.return=e,e.child=n,sa=e,oa=null,!0);default:return!1}}function la(e){return!(!(1&e.mode)||128&e.flags)}function da(e){if(aa){var t=oa;if(t){var n=t;if(!ca(e,t)){if(la(e))throw Error(a(418));t=lo(n.nextSibling);var s=sa;t&&ca(e,t)?ia(s,n):(e.flags=-4097&e.flags|2,aa=!1,sa=e)}}else{if(la(e))throw Error(a(418));e.flags=-4097&e.flags|2,aa=!1,sa=e}}}function ua(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;sa=e}function pa(e){if(e!==sa)return!1;if(!aa)return ua(e),aa=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!no(e.type,e.memoizedProps)),t&&(t=oa)){if(la(e))throw fa(),Error(a(418));for(;t;)ia(e,t),t=lo(t.nextSibling)}if(ua(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(a(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){oa=lo(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}oa=null}}else oa=sa?lo(e.stateNode.nextSibling):null;return!0}function fa(){for(var e=oa;e;)e=lo(e.nextSibling)}function ba(){oa=sa=null,aa=!1}function ha(e){null===ra?ra=[e]:ra.push(e)}var ma=k.ReactCurrentBatchConfig;function ga(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(a(309));var s=n.stateNode}if(!s)throw Error(a(147,e));var o=s,r=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===r?t.ref:(t=function(e){var t=o.refs;null===e?delete t[r]:t[r]=e},t._stringRef=r,t)}if("string"!=typeof e)throw Error(a(284));if(!n._owner)throw Error(a(290,e))}return e}function va(e,t){throw e=Object.prototype.toString.call(t),Error(a(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function ya(e){return(0,e._init)(e._payload)}function ka(e){function t(t,n){if(e){var s=t.deletions;null===s?(t.deletions=[n],t.flags|=16):s.push(n)}}function n(n,s){if(!e)return null;for(;null!==s;)t(n,s),s=s.sibling;return null}function s(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function o(e,t){return(e=Rl(e,t)).index=0,e.sibling=null,e}function r(t,n,s){return t.index=s,e?null!==(s=t.alternate)?(s=s.index)<n?(t.flags|=2,n):s:(t.flags|=2,n):(t.flags|=1048576,n)}function i(t){return e&&null===t.alternate&&(t.flags|=2),t}function c(e,t,n,s){return null===t||6!==t.tag?((t=Dl(n,e.mode,s)).return=e,t):((t=o(t,n)).return=e,t)}function l(e,t,n,s){var a=n.type;return a===_?u(e,t,n.props.children,s,n.key):null!==t&&(t.elementType===a||"object"==typeof a&&null!==a&&a.$$typeof===P&&ya(a)===t.type)?((s=o(t,n.props)).ref=ga(e,t,n),s.return=e,s):((s=Nl(n.type,n.key,n.props,null,e.mode,s)).ref=ga(e,t,n),s.return=e,s)}function d(e,t,n,s){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Bl(n,e.mode,s)).return=e,t):((t=o(t,n.children||[])).return=e,t)}function u(e,t,n,s,a){return null===t||7!==t.tag?((t=Zl(n,e.mode,s,a)).return=e,t):((t=o(t,n)).return=e,t)}function p(e,t,n){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=Dl(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case x:return(n=Nl(t.type,t.key,t.props,null,e.mode,n)).ref=ga(e,null,t),n.return=e,n;case w:return(t=Bl(t,e.mode,n)).return=e,t;case P:return p(e,(0,t._init)(t._payload),n)}if(te(t)||Z(t))return(t=Zl(t,e.mode,n,null)).return=e,t;va(e,t)}return null}function f(e,t,n,s){var o=null!==t?t.key:null;if("string"==typeof n&&""!==n||"number"==typeof n)return null!==o?null:c(e,t,""+n,s);if("object"==typeof n&&null!==n){switch(n.$$typeof){case x:return n.key===o?l(e,t,n,s):null;case w:return n.key===o?d(e,t,n,s):null;case P:return f(e,t,(o=n._init)(n._payload),s)}if(te(n)||Z(n))return null!==o?null:u(e,t,n,s,null);va(e,n)}return null}function b(e,t,n,s,o){if("string"==typeof s&&""!==s||"number"==typeof s)return c(t,e=e.get(n)||null,""+s,o);if("object"==typeof s&&null!==s){switch(s.$$typeof){case x:return l(t,e=e.get(null===s.key?n:s.key)||null,s,o);case w:return d(t,e=e.get(null===s.key?n:s.key)||null,s,o);case P:return b(e,t,n,(0,s._init)(s._payload),o)}if(te(s)||Z(s))return u(t,e=e.get(n)||null,s,o,null);va(t,s)}return null}function h(o,a,i,c){for(var l=null,d=null,u=a,h=a=0,m=null;null!==u&&h<i.length;h++){u.index>h?(m=u,u=null):m=u.sibling;var g=f(o,u,i[h],c);if(null===g){null===u&&(u=m);break}e&&u&&null===g.alternate&&t(o,u),a=r(g,a,h),null===d?l=g:d.sibling=g,d=g,u=m}if(h===i.length)return n(o,u),aa&&Jo(o,h),l;if(null===u){for(;h<i.length;h++)null!==(u=p(o,i[h],c))&&(a=r(u,a,h),null===d?l=u:d.sibling=u,d=u);return aa&&Jo(o,h),l}for(u=s(o,u);h<i.length;h++)null!==(m=b(u,o,h,i[h],c))&&(e&&null!==m.alternate&&u.delete(null===m.key?h:m.key),a=r(m,a,h),null===d?l=m:d.sibling=m,d=m);return e&&u.forEach((function(e){return t(o,e)})),aa&&Jo(o,h),l}function m(o,i,c,l){var d=Z(c);if("function"!=typeof d)throw Error(a(150));if(null==(c=d.call(c)))throw Error(a(151));for(var u=d=null,h=i,m=i=0,g=null,v=c.next();null!==h&&!v.done;m++,v=c.next()){h.index>m?(g=h,h=null):g=h.sibling;var y=f(o,h,v.value,l);if(null===y){null===h&&(h=g);break}e&&h&&null===y.alternate&&t(o,h),i=r(y,i,m),null===u?d=y:u.sibling=y,u=y,h=g}if(v.done)return n(o,h),aa&&Jo(o,m),d;if(null===h){for(;!v.done;m++,v=c.next())null!==(v=p(o,v.value,l))&&(i=r(v,i,m),null===u?d=v:u.sibling=v,u=v);return aa&&Jo(o,m),d}for(h=s(o,h);!v.done;m++,v=c.next())null!==(v=b(h,o,m,v.value,l))&&(e&&null!==v.alternate&&h.delete(null===v.key?m:v.key),i=r(v,i,m),null===u?d=v:u.sibling=v,u=v);return e&&h.forEach((function(e){return t(o,e)})),aa&&Jo(o,m),d}return function e(s,a,r,c){if("object"==typeof r&&null!==r&&r.type===_&&null===r.key&&(r=r.props.children),"object"==typeof r&&null!==r){switch(r.$$typeof){case x:e:{for(var l=r.key,d=a;null!==d;){if(d.key===l){if((l=r.type)===_){if(7===d.tag){n(s,d.sibling),(a=o(d,r.props.children)).return=s,s=a;break e}}else if(d.elementType===l||"object"==typeof l&&null!==l&&l.$$typeof===P&&ya(l)===d.type){n(s,d.sibling),(a=o(d,r.props)).ref=ga(s,d,r),a.return=s,s=a;break e}n(s,d);break}t(s,d),d=d.sibling}r.type===_?((a=Zl(r.props.children,s.mode,c,r.key)).return=s,s=a):((c=Nl(r.type,r.key,r.props,null,s.mode,c)).ref=ga(s,a,r),c.return=s,s=c)}return i(s);case w:e:{for(d=r.key;null!==a;){if(a.key===d){if(4===a.tag&&a.stateNode.containerInfo===r.containerInfo&&a.stateNode.implementation===r.implementation){n(s,a.sibling),(a=o(a,r.children||[])).return=s,s=a;break e}n(s,a);break}t(s,a),a=a.sibling}(a=Bl(r,s.mode,c)).return=s,s=a}return i(s);case P:return e(s,a,(d=r._init)(r._payload),c)}if(te(r))return h(s,a,r,c);if(Z(r))return m(s,a,r,c);va(s,r)}return"string"==typeof r&&""!==r||"number"==typeof r?(r=""+r,null!==a&&6===a.tag?(n(s,a.sibling),(a=o(a,r)).return=s,s=a):(n(s,a),(a=Dl(r,s.mode,c)).return=s,s=a),i(s)):n(s,a)}}var xa=ka(!0),wa=ka(!1),_a=Co(null),ja=null,Ca=null,Sa=null;function Ma(){Sa=Ca=ja=null}function Ea(e){var t=_a.current;So(_a),e._currentValue=t}function La(e,t,n){for(;null!==e;){var s=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==s&&(s.childLanes|=t)):null!==s&&(s.childLanes&t)!==t&&(s.childLanes|=t),e===n)break;e=e.return}}function Aa(e,t){ja=e,Sa=Ca=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(!!(e.lanes&t)&&(yi=!0),e.firstContext=null)}function Ta(e){var t=e._currentValue;if(Sa!==e)if(e={context:e,memoizedValue:t,next:null},null===Ca){if(null===ja)throw Error(a(308));Ca=e,ja.dependencies={lanes:0,firstContext:e}}else Ca=Ca.next=e;return t}var Pa=null;function Ra(e){null===Pa?Pa=[e]:Pa.push(e)}function Na(e,t,n,s){var o=t.interleaved;return null===o?(n.next=n,Ra(t)):(n.next=o.next,o.next=n),t.interleaved=n,Za(e,s)}function Za(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var Oa=!1;function Da(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Ba(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Ia(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Fa(e,t,n){var s=e.updateQueue;if(null===s)return null;if(s=s.shared,2&Ec){var o=s.pending;return null===o?t.next=t:(t.next=o.next,o.next=t),s.pending=t,Za(e,n)}return null===(o=s.interleaved)?(t.next=t,Ra(s)):(t.next=o.next,o.next=t),s.interleaved=t,Za(e,n)}function za(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,4194240&n)){var s=t.lanes;n|=s&=e.pendingLanes,t.lanes=n,vt(e,n)}}function Wa(e,t){var n=e.updateQueue,s=e.alternate;if(null!==s&&n===(s=s.updateQueue)){var o=null,a=null;if(null!==(n=n.firstBaseUpdate)){do{var r={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===a?o=a=r:a=a.next=r,n=n.next}while(null!==n);null===a?o=a=t:a=a.next=t}else o=a=t;return n={baseState:s.baseState,firstBaseUpdate:o,lastBaseUpdate:a,shared:s.shared,effects:s.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function $a(e,t,n,s){var o=e.updateQueue;Oa=!1;var a=o.firstBaseUpdate,r=o.lastBaseUpdate,i=o.shared.pending;if(null!==i){o.shared.pending=null;var c=i,l=c.next;c.next=null,null===r?a=l:r.next=l,r=c;var d=e.alternate;null!==d&&((i=(d=d.updateQueue).lastBaseUpdate)!==r&&(null===i?d.firstBaseUpdate=l:i.next=l,d.lastBaseUpdate=c))}if(null!==a){var u=o.baseState;for(r=0,d=l=c=null,i=a;;){var p=i.lane,f=i.eventTime;if((s&p)===p){null!==d&&(d=d.next={eventTime:f,lane:0,tag:i.tag,payload:i.payload,callback:i.callback,next:null});e:{var b=e,h=i;switch(p=t,f=n,h.tag){case 1:if("function"==typeof(b=h.payload)){u=b.call(f,u,p);break e}u=b;break e;case 3:b.flags=-65537&b.flags|128;case 0:if(null==(p="function"==typeof(b=h.payload)?b.call(f,u,p):b))break e;u=D({},u,p);break e;case 2:Oa=!0}}null!==i.callback&&0!==i.lane&&(e.flags|=64,null===(p=o.effects)?o.effects=[i]:p.push(i))}else f={eventTime:f,lane:p,tag:i.tag,payload:i.payload,callback:i.callback,next:null},null===d?(l=d=f,c=u):d=d.next=f,r|=p;if(null===(i=i.next)){if(null===(i=o.shared.pending))break;i=(p=i).next,p.next=null,o.lastBaseUpdate=p,o.shared.pending=null}}if(null===d&&(c=u),o.baseState=c,o.firstBaseUpdate=l,o.lastBaseUpdate=d,null!==(t=o.shared.interleaved)){o=t;do{r|=o.lane,o=o.next}while(o!==t)}else null===a&&(o.shared.lanes=0);Oc|=r,e.lanes=r,e.memoizedState=u}}function Ha(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var s=e[t],o=s.callback;if(null!==o){if(s.callback=null,s=n,"function"!=typeof o)throw Error(a(191,o));o.call(s)}}}var Va={},Ua=Co(Va),qa=Co(Va),Ga=Co(Va);function Ka(e){if(e===Va)throw Error(a(174));return e}function Ya(e,t){switch(Mo(Ga,t),Mo(qa,e),Mo(Ua,Va),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:ce(null,"");break;default:t=ce(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}So(Ua),Mo(Ua,t)}function Qa(){So(Ua),So(qa),So(Ga)}function Xa(e){Ka(Ga.current);var t=Ka(Ua.current),n=ce(t,e.type);t!==n&&(Mo(qa,e),Mo(Ua,n))}function Ja(e){qa.current===e&&(So(Ua),So(qa))}var er=Co(0);function tr(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(128&t.flags)return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var nr=[];function sr(){for(var e=0;e<nr.length;e++)nr[e]._workInProgressVersionPrimary=null;nr.length=0}var or=k.ReactCurrentDispatcher,ar=k.ReactCurrentBatchConfig,rr=0,ir=null,cr=null,lr=null,dr=!1,ur=!1,pr=0,fr=0;function br(){throw Error(a(321))}function hr(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!is(e[n],t[n]))return!1;return!0}function mr(e,t,n,s,o,r){if(rr=r,ir=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,or.current=null===e||null===e.memoizedState?Jr:ei,e=n(s,o),ur){r=0;do{if(ur=!1,pr=0,25<=r)throw Error(a(301));r+=1,lr=cr=null,t.updateQueue=null,or.current=ti,e=n(s,o)}while(ur)}if(or.current=Xr,t=null!==cr&&null!==cr.next,rr=0,lr=cr=ir=null,dr=!1,t)throw Error(a(300));return e}function gr(){var e=0!==pr;return pr=0,e}function vr(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===lr?ir.memoizedState=lr=e:lr=lr.next=e,lr}function yr(){if(null===cr){var e=ir.alternate;e=null!==e?e.memoizedState:null}else e=cr.next;var t=null===lr?ir.memoizedState:lr.next;if(null!==t)lr=t,cr=e;else{if(null===e)throw Error(a(310));e={memoizedState:(cr=e).memoizedState,baseState:cr.baseState,baseQueue:cr.baseQueue,queue:cr.queue,next:null},null===lr?ir.memoizedState=lr=e:lr=lr.next=e}return lr}function kr(e,t){return"function"==typeof t?t(e):t}function xr(e){var t=yr(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var s=cr,o=s.baseQueue,r=n.pending;if(null!==r){if(null!==o){var i=o.next;o.next=r.next,r.next=i}s.baseQueue=o=r,n.pending=null}if(null!==o){r=o.next,s=s.baseState;var c=i=null,l=null,d=r;do{var u=d.lane;if((rr&u)===u)null!==l&&(l=l.next={lane:0,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null}),s=d.hasEagerState?d.eagerState:e(s,d.action);else{var p={lane:u,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null};null===l?(c=l=p,i=s):l=l.next=p,ir.lanes|=u,Oc|=u}d=d.next}while(null!==d&&d!==r);null===l?i=s:l.next=c,is(s,t.memoizedState)||(yi=!0),t.memoizedState=s,t.baseState=i,t.baseQueue=l,n.lastRenderedState=s}if(null!==(e=n.interleaved)){o=e;do{r=o.lane,ir.lanes|=r,Oc|=r,o=o.next}while(o!==e)}else null===o&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function wr(e){var t=yr(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var s=n.dispatch,o=n.pending,r=t.memoizedState;if(null!==o){n.pending=null;var i=o=o.next;do{r=e(r,i.action),i=i.next}while(i!==o);is(r,t.memoizedState)||(yi=!0),t.memoizedState=r,null===t.baseQueue&&(t.baseState=r),n.lastRenderedState=r}return[r,s]}function _r(){}function jr(e,t){var n=ir,s=yr(),o=t(),r=!is(s.memoizedState,o);if(r&&(s.memoizedState=o,yi=!0),s=s.queue,Or(Mr.bind(null,n,s,e),[e]),s.getSnapshot!==t||r||null!==lr&&1&lr.memoizedState.tag){if(n.flags|=2048,Tr(9,Sr.bind(null,n,s,o,t),void 0,null),null===Lc)throw Error(a(349));30&rr||Cr(n,t,o)}return o}function Cr(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=ir.updateQueue)?(t={lastEffect:null,stores:null},ir.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function Sr(e,t,n,s){t.value=n,t.getSnapshot=s,Er(t)&&Lr(e)}function Mr(e,t,n){return n((function(){Er(t)&&Lr(e)}))}function Er(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!is(e,n)}catch(s){return!0}}function Lr(e){var t=Za(e,1);null!==t&&nl(t,e,1,-1)}function Ar(e){var t=vr();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:kr,lastRenderedState:e},t.queue=e,e=e.dispatch=Gr.bind(null,ir,e),[t.memoizedState,e]}function Tr(e,t,n,s){return e={tag:e,create:t,destroy:n,deps:s,next:null},null===(t=ir.updateQueue)?(t={lastEffect:null,stores:null},ir.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(s=n.next,n.next=e,e.next=s,t.lastEffect=e),e}function Pr(){return yr().memoizedState}function Rr(e,t,n,s){var o=vr();ir.flags|=e,o.memoizedState=Tr(1|t,n,void 0,void 0===s?null:s)}function Nr(e,t,n,s){var o=yr();s=void 0===s?null:s;var a=void 0;if(null!==cr){var r=cr.memoizedState;if(a=r.destroy,null!==s&&hr(s,r.deps))return void(o.memoizedState=Tr(t,n,a,s))}ir.flags|=e,o.memoizedState=Tr(1|t,n,a,s)}function Zr(e,t){return Rr(8390656,8,e,t)}function Or(e,t){return Nr(2048,8,e,t)}function Dr(e,t){return Nr(4,2,e,t)}function Br(e,t){return Nr(4,4,e,t)}function Ir(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Fr(e,t,n){return n=null!=n?n.concat([e]):null,Nr(4,4,Ir.bind(null,t,e),n)}function zr(){}function Wr(e,t){var n=yr();t=void 0===t?null:t;var s=n.memoizedState;return null!==s&&null!==t&&hr(t,s[1])?s[0]:(n.memoizedState=[e,t],e)}function $r(e,t){var n=yr();t=void 0===t?null:t;var s=n.memoizedState;return null!==s&&null!==t&&hr(t,s[1])?s[0]:(e=e(),n.memoizedState=[e,t],e)}function Hr(e,t,n){return 21&rr?(is(n,t)||(n=ht(),ir.lanes|=n,Oc|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,yi=!0),e.memoizedState=n)}function Vr(e,t){var n=yt;yt=0!==n&&4>n?n:4,e(!0);var s=ar.transition;ar.transition={};try{e(!1),t()}finally{yt=n,ar.transition=s}}function Ur(){return yr().memoizedState}function qr(e,t,n){var s=tl(e);if(n={lane:s,action:n,hasEagerState:!1,eagerState:null,next:null},Kr(e))Yr(t,n);else if(null!==(n=Na(e,t,n,s))){nl(n,e,s,el()),Qr(n,t,s)}}function Gr(e,t,n){var s=tl(e),o={lane:s,action:n,hasEagerState:!1,eagerState:null,next:null};if(Kr(e))Yr(t,o);else{var a=e.alternate;if(0===e.lanes&&(null===a||0===a.lanes)&&null!==(a=t.lastRenderedReducer))try{var r=t.lastRenderedState,i=a(r,n);if(o.hasEagerState=!0,o.eagerState=i,is(i,r)){var c=t.interleaved;return null===c?(o.next=o,Ra(t)):(o.next=c.next,c.next=o),void(t.interleaved=o)}}catch(l){}null!==(n=Na(e,t,o,s))&&(nl(n,e,s,o=el()),Qr(n,t,s))}}function Kr(e){var t=e.alternate;return e===ir||null!==t&&t===ir}function Yr(e,t){ur=dr=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Qr(e,t,n){if(4194240&n){var s=t.lanes;n|=s&=e.pendingLanes,t.lanes=n,vt(e,n)}}var Xr={readContext:Ta,useCallback:br,useContext:br,useEffect:br,useImperativeHandle:br,useInsertionEffect:br,useLayoutEffect:br,useMemo:br,useReducer:br,useRef:br,useState:br,useDebugValue:br,useDeferredValue:br,useTransition:br,useMutableSource:br,useSyncExternalStore:br,useId:br,unstable_isNewReconciler:!1},Jr={readContext:Ta,useCallback:function(e,t){return vr().memoizedState=[e,void 0===t?null:t],e},useContext:Ta,useEffect:Zr,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,Rr(4194308,4,Ir.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Rr(4194308,4,e,t)},useInsertionEffect:function(e,t){return Rr(4,2,e,t)},useMemo:function(e,t){var n=vr();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var s=vr();return t=void 0!==n?n(t):t,s.memoizedState=s.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},s.queue=e,e=e.dispatch=qr.bind(null,ir,e),[s.memoizedState,e]},useRef:function(e){return e={current:e},vr().memoizedState=e},useState:Ar,useDebugValue:zr,useDeferredValue:function(e){return vr().memoizedState=e},useTransition:function(){var e=Ar(!1),t=e[0];return e=Vr.bind(null,e[1]),vr().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var s=ir,o=vr();if(aa){if(void 0===n)throw Error(a(407));n=n()}else{if(n=t(),null===Lc)throw Error(a(349));30&rr||Cr(s,t,n)}o.memoizedState=n;var r={value:n,getSnapshot:t};return o.queue=r,Zr(Mr.bind(null,s,r,e),[e]),s.flags|=2048,Tr(9,Sr.bind(null,s,r,n,t),void 0,null),n},useId:function(){var e=vr(),t=Lc.identifierPrefix;if(aa){var n=Xo;t=":"+t+"R"+(n=(Qo&~(1<<32-rt(Qo)-1)).toString(32)+n),0<(n=pr++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=fr++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},ei={readContext:Ta,useCallback:Wr,useContext:Ta,useEffect:Or,useImperativeHandle:Fr,useInsertionEffect:Dr,useLayoutEffect:Br,useMemo:$r,useReducer:xr,useRef:Pr,useState:function(){return xr(kr)},useDebugValue:zr,useDeferredValue:function(e){return Hr(yr(),cr.memoizedState,e)},useTransition:function(){return[xr(kr)[0],yr().memoizedState]},useMutableSource:_r,useSyncExternalStore:jr,useId:Ur,unstable_isNewReconciler:!1},ti={readContext:Ta,useCallback:Wr,useContext:Ta,useEffect:Or,useImperativeHandle:Fr,useInsertionEffect:Dr,useLayoutEffect:Br,useMemo:$r,useReducer:wr,useRef:Pr,useState:function(){return wr(kr)},useDebugValue:zr,useDeferredValue:function(e){var t=yr();return null===cr?t.memoizedState=e:Hr(t,cr.memoizedState,e)},useTransition:function(){return[wr(kr)[0],yr().memoizedState]},useMutableSource:_r,useSyncExternalStore:jr,useId:Ur,unstable_isNewReconciler:!1};function ni(e,t){if(e&&e.defaultProps){for(var n in t=D({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}function si(e,t,n,s){n=null==(n=n(s,t=e.memoizedState))?t:D({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var oi={isMounted:function(e){return!!(e=e._reactInternals)&&We(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var s=el(),o=tl(e),a=Ia(s,o);a.payload=t,null!=n&&(a.callback=n),null!==(t=Fa(e,a,o))&&(nl(t,e,o,s),za(t,e,o))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var s=el(),o=tl(e),a=Ia(s,o);a.tag=1,a.payload=t,null!=n&&(a.callback=n),null!==(t=Fa(e,a,o))&&(nl(t,e,o,s),za(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=el(),s=tl(e),o=Ia(n,s);o.tag=2,null!=t&&(o.callback=t),null!==(t=Fa(e,o,s))&&(nl(t,e,s,n),za(t,e,s))}};function ai(e,t,n,s,o,a,r){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(s,a,r):!t.prototype||!t.prototype.isPureReactComponent||(!cs(n,s)||!cs(o,a))}function ri(e,t,n){var s=!1,o=Eo,a=t.contextType;return"object"==typeof a&&null!==a?a=Ta(a):(o=Ro(t)?To:Lo.current,a=(s=null!=(s=t.contextTypes))?Po(e,o):Eo),t=new t(n,a),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=oi,e.stateNode=t,t._reactInternals=e,s&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=a),t}function ii(e,t,n,s){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,s),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,s),t.state!==e&&oi.enqueueReplaceState(t,t.state,null)}function ci(e,t,n,s){var o=e.stateNode;o.props=n,o.state=e.memoizedState,o.refs={},Da(e);var a=t.contextType;"object"==typeof a&&null!==a?o.context=Ta(a):(a=Ro(t)?To:Lo.current,o.context=Po(e,a)),o.state=e.memoizedState,"function"==typeof(a=t.getDerivedStateFromProps)&&(si(e,t,a,n),o.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof o.getSnapshotBeforeUpdate||"function"!=typeof o.UNSAFE_componentWillMount&&"function"!=typeof o.componentWillMount||(t=o.state,"function"==typeof o.componentWillMount&&o.componentWillMount(),"function"==typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount(),t!==o.state&&oi.enqueueReplaceState(o,o.state,null),$a(e,n,o,s),o.state=e.memoizedState),"function"==typeof o.componentDidMount&&(e.flags|=4194308)}function li(e,t){try{var n="",s=t;do{n+=z(s),s=s.return}while(s);var o=n}catch(a){o="\nError generating stack: "+a.message+"\n"+a.stack}return{value:e,source:t,stack:o,digest:null}}function di(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function ui(e,t){try{console.error(t.value)}catch(n){setTimeout((function(){throw n}))}}var pi="function"==typeof WeakMap?WeakMap:Map;function fi(e,t,n){(n=Ia(-1,n)).tag=3,n.payload={element:null};var s=t.value;return n.callback=function(){Hc||(Hc=!0,Vc=s),ui(0,t)},n}function bi(e,t,n){(n=Ia(-1,n)).tag=3;var s=e.type.getDerivedStateFromError;if("function"==typeof s){var o=t.value;n.payload=function(){return s(o)},n.callback=function(){ui(0,t)}}var a=e.stateNode;return null!==a&&"function"==typeof a.componentDidCatch&&(n.callback=function(){ui(0,t),"function"!=typeof s&&(null===Uc?Uc=new Set([this]):Uc.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function hi(e,t,n){var s=e.pingCache;if(null===s){s=e.pingCache=new pi;var o=new Set;s.set(t,o)}else void 0===(o=s.get(t))&&(o=new Set,s.set(t,o));o.has(n)||(o.add(n),e=Cl.bind(null,e,t,n),t.then(e,e))}function mi(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function gi(e,t,n,s,o){return 1&e.mode?(e.flags|=65536,e.lanes=o,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=Ia(-1,1)).tag=2,Fa(n,t,1))),n.lanes|=1),e)}var vi=k.ReactCurrentOwner,yi=!1;function ki(e,t,n,s){t.child=null===e?wa(t,null,n,s):xa(t,e.child,n,s)}function xi(e,t,n,s,o){n=n.render;var a=t.ref;return Aa(t,o),s=mr(e,t,n,s,a,o),n=gr(),null===e||yi?(aa&&n&&ta(t),t.flags|=1,ki(e,t,s,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Hi(e,t,o))}function wi(e,t,n,s,o){if(null===e){var a=n.type;return"function"!=typeof a||Pl(a)||void 0!==a.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Nl(n.type,null,s,t,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=a,_i(e,t,a,s,o))}if(a=e.child,!(e.lanes&o)){var r=a.memoizedProps;if((n=null!==(n=n.compare)?n:cs)(r,s)&&e.ref===t.ref)return Hi(e,t,o)}return t.flags|=1,(e=Rl(a,s)).ref=t.ref,e.return=t,t.child=e}function _i(e,t,n,s,o){if(null!==e){var a=e.memoizedProps;if(cs(a,s)&&e.ref===t.ref){if(yi=!1,t.pendingProps=s=a,!(e.lanes&o))return t.lanes=e.lanes,Hi(e,t,o);131072&e.flags&&(yi=!0)}}return Si(e,t,n,s,o)}function ji(e,t,n){var s=t.pendingProps,o=s.children,a=null!==e?e.memoizedState:null;if("hidden"===s.mode)if(1&t.mode){if(!(1073741824&n))return e=null!==a?a.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Mo(Rc,Pc),Pc|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},s=null!==a?a.baseLanes:n,Mo(Rc,Pc),Pc|=s}else t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Mo(Rc,Pc),Pc|=n;else null!==a?(s=a.baseLanes|n,t.memoizedState=null):s=n,Mo(Rc,Pc),Pc|=s;return ki(e,t,o,n),t.child}function Ci(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Si(e,t,n,s,o){var a=Ro(n)?To:Lo.current;return a=Po(t,a),Aa(t,o),n=mr(e,t,n,s,a,o),s=gr(),null===e||yi?(aa&&s&&ta(t),t.flags|=1,ki(e,t,n,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Hi(e,t,o))}function Mi(e,t,n,s,o){if(Ro(n)){var a=!0;Do(t)}else a=!1;if(Aa(t,o),null===t.stateNode)$i(e,t),ri(t,n,s),ci(t,n,s,o),s=!0;else if(null===e){var r=t.stateNode,i=t.memoizedProps;r.props=i;var c=r.context,l=n.contextType;"object"==typeof l&&null!==l?l=Ta(l):l=Po(t,l=Ro(n)?To:Lo.current);var d=n.getDerivedStateFromProps,u="function"==typeof d||"function"==typeof r.getSnapshotBeforeUpdate;u||"function"!=typeof r.UNSAFE_componentWillReceiveProps&&"function"!=typeof r.componentWillReceiveProps||(i!==s||c!==l)&&ii(t,r,s,l),Oa=!1;var p=t.memoizedState;r.state=p,$a(t,s,r,o),c=t.memoizedState,i!==s||p!==c||Ao.current||Oa?("function"==typeof d&&(si(t,n,d,s),c=t.memoizedState),(i=Oa||ai(t,n,i,s,p,c,l))?(u||"function"!=typeof r.UNSAFE_componentWillMount&&"function"!=typeof r.componentWillMount||("function"==typeof r.componentWillMount&&r.componentWillMount(),"function"==typeof r.UNSAFE_componentWillMount&&r.UNSAFE_componentWillMount()),"function"==typeof r.componentDidMount&&(t.flags|=4194308)):("function"==typeof r.componentDidMount&&(t.flags|=4194308),t.memoizedProps=s,t.memoizedState=c),r.props=s,r.state=c,r.context=l,s=i):("function"==typeof r.componentDidMount&&(t.flags|=4194308),s=!1)}else{r=t.stateNode,Ba(e,t),i=t.memoizedProps,l=t.type===t.elementType?i:ni(t.type,i),r.props=l,u=t.pendingProps,p=r.context,"object"==typeof(c=n.contextType)&&null!==c?c=Ta(c):c=Po(t,c=Ro(n)?To:Lo.current);var f=n.getDerivedStateFromProps;(d="function"==typeof f||"function"==typeof r.getSnapshotBeforeUpdate)||"function"!=typeof r.UNSAFE_componentWillReceiveProps&&"function"!=typeof r.componentWillReceiveProps||(i!==u||p!==c)&&ii(t,r,s,c),Oa=!1,p=t.memoizedState,r.state=p,$a(t,s,r,o);var b=t.memoizedState;i!==u||p!==b||Ao.current||Oa?("function"==typeof f&&(si(t,n,f,s),b=t.memoizedState),(l=Oa||ai(t,n,l,s,p,b,c)||!1)?(d||"function"!=typeof r.UNSAFE_componentWillUpdate&&"function"!=typeof r.componentWillUpdate||("function"==typeof r.componentWillUpdate&&r.componentWillUpdate(s,b,c),"function"==typeof r.UNSAFE_componentWillUpdate&&r.UNSAFE_componentWillUpdate(s,b,c)),"function"==typeof r.componentDidUpdate&&(t.flags|=4),"function"==typeof r.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof r.componentDidUpdate||i===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof r.getSnapshotBeforeUpdate||i===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=s,t.memoizedState=b),r.props=s,r.state=b,r.context=c,s=l):("function"!=typeof r.componentDidUpdate||i===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof r.getSnapshotBeforeUpdate||i===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),s=!1)}return Ei(e,t,n,s,a,o)}function Ei(e,t,n,s,o,a){Ci(e,t);var r=!!(128&t.flags);if(!s&&!r)return o&&Bo(t,n,!1),Hi(e,t,a);s=t.stateNode,vi.current=t;var i=r&&"function"!=typeof n.getDerivedStateFromError?null:s.render();return t.flags|=1,null!==e&&r?(t.child=xa(t,e.child,null,a),t.child=xa(t,null,i,a)):ki(e,t,i,a),t.memoizedState=s.state,o&&Bo(t,n,!0),t.child}function Li(e){var t=e.stateNode;t.pendingContext?Zo(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Zo(0,t.context,!1),Ya(e,t.containerInfo)}function Ai(e,t,n,s,o){return ba(),ha(o),t.flags|=256,ki(e,t,n,s),t.child}var Ti,Pi,Ri,Ni,Zi={dehydrated:null,treeContext:null,retryLane:0};function Oi(e){return{baseLanes:e,cachePool:null,transitions:null}}function Di(e,t,n){var s,o=t.pendingProps,r=er.current,i=!1,c=!!(128&t.flags);if((s=c)||(s=(null===e||null!==e.memoizedState)&&!!(2&r)),s?(i=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(r|=1),Mo(er,1&r),null===e)return da(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(1&t.mode?"$!"===e.data?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(c=o.children,e=o.fallback,i?(o=t.mode,i=t.child,c={mode:"hidden",children:c},1&o||null===i?i=Ol(c,o,0,null):(i.childLanes=0,i.pendingProps=c),e=Zl(e,o,n,null),i.return=t,e.return=t,i.sibling=e,t.child=i,t.child.memoizedState=Oi(n),t.memoizedState=Zi,e):Bi(t,c));if(null!==(r=e.memoizedState)&&null!==(s=r.dehydrated))return function(e,t,n,s,o,r,i){if(n)return 256&t.flags?(t.flags&=-257,Ii(e,t,i,s=di(Error(a(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(r=s.fallback,o=t.mode,s=Ol({mode:"visible",children:s.children},o,0,null),(r=Zl(r,o,i,null)).flags|=2,s.return=t,r.return=t,s.sibling=r,t.child=s,1&t.mode&&xa(t,e.child,null,i),t.child.memoizedState=Oi(i),t.memoizedState=Zi,r);if(!(1&t.mode))return Ii(e,t,i,null);if("$!"===o.data){if(s=o.nextSibling&&o.nextSibling.dataset)var c=s.dgst;return s=c,Ii(e,t,i,s=di(r=Error(a(419)),s,void 0))}if(c=!!(i&e.childLanes),yi||c){if(null!==(s=Lc)){switch(i&-i){case 4:o=2;break;case 16:o=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}0!==(o=o&(s.suspendedLanes|i)?0:o)&&o!==r.retryLane&&(r.retryLane=o,Za(e,o),nl(s,e,o,-1))}return hl(),Ii(e,t,i,s=di(Error(a(421))))}return"$?"===o.data?(t.flags|=128,t.child=e.child,t=Ml.bind(null,e),o._reactRetry=t,null):(e=r.treeContext,oa=lo(o.nextSibling),sa=t,aa=!0,ra=null,null!==e&&(Go[Ko++]=Qo,Go[Ko++]=Xo,Go[Ko++]=Yo,Qo=e.id,Xo=e.overflow,Yo=t),t=Bi(t,s.children),t.flags|=4096,t)}(e,t,c,o,s,r,n);if(i){i=o.fallback,c=t.mode,s=(r=e.child).sibling;var l={mode:"hidden",children:o.children};return 1&c||t.child===r?(o=Rl(r,l)).subtreeFlags=14680064&r.subtreeFlags:((o=t.child).childLanes=0,o.pendingProps=l,t.deletions=null),null!==s?i=Rl(s,i):(i=Zl(i,c,n,null)).flags|=2,i.return=t,o.return=t,o.sibling=i,t.child=o,o=i,i=t.child,c=null===(c=e.child.memoizedState)?Oi(n):{baseLanes:c.baseLanes|n,cachePool:null,transitions:c.transitions},i.memoizedState=c,i.childLanes=e.childLanes&~n,t.memoizedState=Zi,o}return e=(i=e.child).sibling,o=Rl(i,{mode:"visible",children:o.children}),!(1&t.mode)&&(o.lanes=n),o.return=t,o.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=o,t.memoizedState=null,o}function Bi(e,t){return(t=Ol({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function Ii(e,t,n,s){return null!==s&&ha(s),xa(t,e.child,null,n),(e=Bi(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function Fi(e,t,n){e.lanes|=t;var s=e.alternate;null!==s&&(s.lanes|=t),La(e.return,t,n)}function zi(e,t,n,s,o){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:s,tail:n,tailMode:o}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=s,a.tail=n,a.tailMode=o)}function Wi(e,t,n){var s=t.pendingProps,o=s.revealOrder,a=s.tail;if(ki(e,t,s.children,n),2&(s=er.current))s=1&s|2,t.flags|=128;else{if(null!==e&&128&e.flags)e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Fi(e,n,t);else if(19===e.tag)Fi(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}s&=1}if(Mo(er,s),1&t.mode)switch(o){case"forwards":for(n=t.child,o=null;null!==n;)null!==(e=n.alternate)&&null===tr(e)&&(o=n),n=n.sibling;null===(n=o)?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),zi(t,!1,o,n,a);break;case"backwards":for(n=null,o=t.child,t.child=null;null!==o;){if(null!==(e=o.alternate)&&null===tr(e)){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}zi(t,!0,n,null,a);break;case"together":zi(t,!1,null,null,void 0);break;default:t.memoizedState=null}else t.memoizedState=null;return t.child}function $i(e,t){!(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Hi(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Oc|=t.lanes,!(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(a(153));if(null!==t.child){for(n=Rl(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Rl(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Vi(e,t){if(!aa)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var s=null;null!==n;)null!==n.alternate&&(s=n),n=n.sibling;null===s?t||null===e.tail?e.tail=null:e.tail.sibling=null:s.sibling=null}}function Ui(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,s=0;if(t)for(var o=e.child;null!==o;)n|=o.lanes|o.childLanes,s|=14680064&o.subtreeFlags,s|=14680064&o.flags,o.return=e,o=o.sibling;else for(o=e.child;null!==o;)n|=o.lanes|o.childLanes,s|=o.subtreeFlags,s|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=s,e.childLanes=n,t}function qi(e,t,n){var s=t.pendingProps;switch(na(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ui(t),null;case 1:case 17:return Ro(t.type)&&No(),Ui(t),null;case 3:return s=t.stateNode,Qa(),So(Ao),So(Lo),sr(),s.pendingContext&&(s.context=s.pendingContext,s.pendingContext=null),null!==e&&null!==e.child||(pa(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&!(256&t.flags)||(t.flags|=1024,null!==ra&&(rl(ra),ra=null))),Pi(e,t),Ui(t),null;case 5:Ja(t);var o=Ka(Ga.current);if(n=t.type,null!==e&&null!=t.stateNode)Ri(e,t,n,s,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!s){if(null===t.stateNode)throw Error(a(166));return Ui(t),null}if(e=Ka(Ua.current),pa(t)){s=t.stateNode,n=t.type;var r=t.memoizedProps;switch(s[fo]=t,s[bo]=r,e=!!(1&t.mode),n){case"dialog":Is("cancel",s),Is("close",s);break;case"iframe":case"object":case"embed":Is("load",s);break;case"video":case"audio":for(o=0;o<Zs.length;o++)Is(Zs[o],s);break;case"source":Is("error",s);break;case"img":case"image":case"link":Is("error",s),Is("load",s);break;case"details":Is("toggle",s);break;case"input":Y(s,r),Is("invalid",s);break;case"select":s._wrapperState={wasMultiple:!!r.multiple},Is("invalid",s);break;case"textarea":oe(s,r),Is("invalid",s)}for(var c in ve(n,r),o=null,r)if(r.hasOwnProperty(c)){var l=r[c];"children"===c?"string"==typeof l?s.textContent!==l&&(!0!==r.suppressHydrationWarning&&Xs(s.textContent,l,e),o=["children",l]):"number"==typeof l&&s.textContent!==""+l&&(!0!==r.suppressHydrationWarning&&Xs(s.textContent,l,e),o=["children",""+l]):i.hasOwnProperty(c)&&null!=l&&"onScroll"===c&&Is("scroll",s)}switch(n){case"input":U(s),J(s,r,!0);break;case"textarea":U(s),re(s);break;case"select":case"option":break;default:"function"==typeof r.onClick&&(s.onclick=Js)}s=o,t.updateQueue=s,null!==s&&(t.flags|=4)}else{c=9===o.nodeType?o:o.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=ie(n)),"http://www.w3.org/1999/xhtml"===e?"script"===n?((e=c.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof s.is?e=c.createElement(n,{is:s.is}):(e=c.createElement(n),"select"===n&&(c=e,s.multiple?c.multiple=!0:s.size&&(c.size=s.size))):e=c.createElementNS(e,n),e[fo]=t,e[bo]=s,Ti(e,t,!1,!1),t.stateNode=e;e:{switch(c=ye(n,s),n){case"dialog":Is("cancel",e),Is("close",e),o=s;break;case"iframe":case"object":case"embed":Is("load",e),o=s;break;case"video":case"audio":for(o=0;o<Zs.length;o++)Is(Zs[o],e);o=s;break;case"source":Is("error",e),o=s;break;case"img":case"image":case"link":Is("error",e),Is("load",e),o=s;break;case"details":Is("toggle",e),o=s;break;case"input":Y(e,s),o=K(e,s),Is("invalid",e);break;case"option":default:o=s;break;case"select":e._wrapperState={wasMultiple:!!s.multiple},o=D({},s,{value:void 0}),Is("invalid",e);break;case"textarea":oe(e,s),o=se(e,s),Is("invalid",e)}for(r in ve(n,o),l=o)if(l.hasOwnProperty(r)){var d=l[r];"style"===r?me(e,d):"dangerouslySetInnerHTML"===r?null!=(d=d?d.__html:void 0)&&ue(e,d):"children"===r?"string"==typeof d?("textarea"!==n||""!==d)&&pe(e,d):"number"==typeof d&&pe(e,""+d):"suppressContentEditableWarning"!==r&&"suppressHydrationWarning"!==r&&"autoFocus"!==r&&(i.hasOwnProperty(r)?null!=d&&"onScroll"===r&&Is("scroll",e):null!=d&&y(e,r,d,c))}switch(n){case"input":U(e),J(e,s,!1);break;case"textarea":U(e),re(e);break;case"option":null!=s.value&&e.setAttribute("value",""+H(s.value));break;case"select":e.multiple=!!s.multiple,null!=(r=s.value)?ne(e,!!s.multiple,r,!1):null!=s.defaultValue&&ne(e,!!s.multiple,s.defaultValue,!0);break;default:"function"==typeof o.onClick&&(e.onclick=Js)}switch(n){case"button":case"input":case"select":case"textarea":s=!!s.autoFocus;break e;case"img":s=!0;break e;default:s=!1}}s&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return Ui(t),null;case 6:if(e&&null!=t.stateNode)Ni(e,t,e.memoizedProps,s);else{if("string"!=typeof s&&null===t.stateNode)throw Error(a(166));if(n=Ka(Ga.current),Ka(Ua.current),pa(t)){if(s=t.stateNode,n=t.memoizedProps,s[fo]=t,(r=s.nodeValue!==n)&&null!==(e=sa))switch(e.tag){case 3:Xs(s.nodeValue,n,!!(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Xs(s.nodeValue,n,!!(1&e.mode))}r&&(t.flags|=4)}else(s=(9===n.nodeType?n:n.ownerDocument).createTextNode(s))[fo]=t,t.stateNode=s}return Ui(t),null;case 13:if(So(er),s=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(aa&&null!==oa&&1&t.mode&&!(128&t.flags))fa(),ba(),t.flags|=98560,r=!1;else if(r=pa(t),null!==s&&null!==s.dehydrated){if(null===e){if(!r)throw Error(a(318));if(!(r=null!==(r=t.memoizedState)?r.dehydrated:null))throw Error(a(317));r[fo]=t}else ba(),!(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Ui(t),r=!1}else null!==ra&&(rl(ra),ra=null),r=!0;if(!r)return 65536&t.flags?t:null}return 128&t.flags?(t.lanes=n,t):((s=null!==s)!==(null!==e&&null!==e.memoizedState)&&s&&(t.child.flags|=8192,1&t.mode&&(null===e||1&er.current?0===Nc&&(Nc=3):hl())),null!==t.updateQueue&&(t.flags|=4),Ui(t),null);case 4:return Qa(),Pi(e,t),null===e&&Ws(t.stateNode.containerInfo),Ui(t),null;case 10:return Ea(t.type._context),Ui(t),null;case 19:if(So(er),null===(r=t.memoizedState))return Ui(t),null;if(s=!!(128&t.flags),null===(c=r.rendering))if(s)Vi(r,!1);else{if(0!==Nc||null!==e&&128&e.flags)for(e=t.child;null!==e;){if(null!==(c=tr(e))){for(t.flags|=128,Vi(r,!1),null!==(s=c.updateQueue)&&(t.updateQueue=s,t.flags|=4),t.subtreeFlags=0,s=n,n=t.child;null!==n;)e=s,(r=n).flags&=14680066,null===(c=r.alternate)?(r.childLanes=0,r.lanes=e,r.child=null,r.subtreeFlags=0,r.memoizedProps=null,r.memoizedState=null,r.updateQueue=null,r.dependencies=null,r.stateNode=null):(r.childLanes=c.childLanes,r.lanes=c.lanes,r.child=c.child,r.subtreeFlags=0,r.deletions=null,r.memoizedProps=c.memoizedProps,r.memoizedState=c.memoizedState,r.updateQueue=c.updateQueue,r.type=c.type,e=c.dependencies,r.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return Mo(er,1&er.current|2),t.child}e=e.sibling}null!==r.tail&&Qe()>Wc&&(t.flags|=128,s=!0,Vi(r,!1),t.lanes=4194304)}else{if(!s)if(null!==(e=tr(c))){if(t.flags|=128,s=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),Vi(r,!0),null===r.tail&&"hidden"===r.tailMode&&!c.alternate&&!aa)return Ui(t),null}else 2*Qe()-r.renderingStartTime>Wc&&1073741824!==n&&(t.flags|=128,s=!0,Vi(r,!1),t.lanes=4194304);r.isBackwards?(c.sibling=t.child,t.child=c):(null!==(n=r.last)?n.sibling=c:t.child=c,r.last=c)}return null!==r.tail?(t=r.tail,r.rendering=t,r.tail=t.sibling,r.renderingStartTime=Qe(),t.sibling=null,n=er.current,Mo(er,s?1&n|2:1&n),t):(Ui(t),null);case 22:case 23:return ul(),s=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==s&&(t.flags|=8192),s&&1&t.mode?!!(1073741824&Pc)&&(Ui(t),6&t.subtreeFlags&&(t.flags|=8192)):Ui(t),null;case 24:case 25:return null}throw Error(a(156,t.tag))}function Gi(e,t){switch(na(t),t.tag){case 1:return Ro(t.type)&&No(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return Qa(),So(Ao),So(Lo),sr(),65536&(e=t.flags)&&!(128&e)?(t.flags=-65537&e|128,t):null;case 5:return Ja(t),null;case 13:if(So(er),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(a(340));ba()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return So(er),null;case 4:return Qa(),null;case 10:return Ea(t.type._context),null;case 22:case 23:return ul(),null;default:return null}}Ti=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Pi=function(){},Ri=function(e,t,n,s){var o=e.memoizedProps;if(o!==s){e=t.stateNode,Ka(Ua.current);var a,r=null;switch(n){case"input":o=K(e,o),s=K(e,s),r=[];break;case"select":o=D({},o,{value:void 0}),s=D({},s,{value:void 0}),r=[];break;case"textarea":o=se(e,o),s=se(e,s),r=[];break;default:"function"!=typeof o.onClick&&"function"==typeof s.onClick&&(e.onclick=Js)}for(d in ve(n,s),n=null,o)if(!s.hasOwnProperty(d)&&o.hasOwnProperty(d)&&null!=o[d])if("style"===d){var c=o[d];for(a in c)c.hasOwnProperty(a)&&(n||(n={}),n[a]="")}else"dangerouslySetInnerHTML"!==d&&"children"!==d&&"suppressContentEditableWarning"!==d&&"suppressHydrationWarning"!==d&&"autoFocus"!==d&&(i.hasOwnProperty(d)?r||(r=[]):(r=r||[]).push(d,null));for(d in s){var l=s[d];if(c=null!=o?o[d]:void 0,s.hasOwnProperty(d)&&l!==c&&(null!=l||null!=c))if("style"===d)if(c){for(a in c)!c.hasOwnProperty(a)||l&&l.hasOwnProperty(a)||(n||(n={}),n[a]="");for(a in l)l.hasOwnProperty(a)&&c[a]!==l[a]&&(n||(n={}),n[a]=l[a])}else n||(r||(r=[]),r.push(d,n)),n=l;else"dangerouslySetInnerHTML"===d?(l=l?l.__html:void 0,c=c?c.__html:void 0,null!=l&&c!==l&&(r=r||[]).push(d,l)):"children"===d?"string"!=typeof l&&"number"!=typeof l||(r=r||[]).push(d,""+l):"suppressContentEditableWarning"!==d&&"suppressHydrationWarning"!==d&&(i.hasOwnProperty(d)?(null!=l&&"onScroll"===d&&Is("scroll",e),r||c===l||(r=[])):(r=r||[]).push(d,l))}n&&(r=r||[]).push("style",n);var d=r;(t.updateQueue=d)&&(t.flags|=4)}},Ni=function(e,t,n,s){n!==s&&(t.flags|=4)};var Ki=!1,Yi=!1,Qi="function"==typeof WeakSet?WeakSet:Set,Xi=null;function Ji(e,t){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(s){jl(e,t,s)}else n.current=null}function ec(e,t,n){try{n()}catch(s){jl(e,t,s)}}var tc=!1;function nc(e,t,n){var s=t.updateQueue;if(null!==(s=null!==s?s.lastEffect:null)){var o=s=s.next;do{if((o.tag&e)===e){var a=o.destroy;o.destroy=void 0,void 0!==a&&ec(t,n,a)}o=o.next}while(o!==s)}}function sc(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var s=n.create;n.destroy=s()}n=n.next}while(n!==t)}}function oc(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"==typeof t?t(e):t.current=e}}function ac(e){var t=e.alternate;null!==t&&(e.alternate=null,ac(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[fo],delete t[bo],delete t[mo],delete t[go],delete t[vo])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function rc(e){return 5===e.tag||3===e.tag||4===e.tag}function ic(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||rc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function cc(e,t,n){var s=e.tag;if(5===s||6===s)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=Js));else if(4!==s&&null!==(e=e.child))for(cc(e,t,n),e=e.sibling;null!==e;)cc(e,t,n),e=e.sibling}function lc(e,t,n){var s=e.tag;if(5===s||6===s)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==s&&null!==(e=e.child))for(lc(e,t,n),e=e.sibling;null!==e;)lc(e,t,n),e=e.sibling}var dc=null,uc=!1;function pc(e,t,n){for(n=n.child;null!==n;)fc(e,t,n),n=n.sibling}function fc(e,t,n){if(at&&"function"==typeof at.onCommitFiberUnmount)try{at.onCommitFiberUnmount(ot,n)}catch(i){}switch(n.tag){case 5:Yi||Ji(n,t);case 6:var s=dc,o=uc;dc=null,pc(e,t,n),uc=o,null!==(dc=s)&&(uc?(e=dc,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):dc.removeChild(n.stateNode));break;case 18:null!==dc&&(uc?(e=dc,n=n.stateNode,8===e.nodeType?co(e.parentNode,n):1===e.nodeType&&co(e,n),Wt(e)):co(dc,n.stateNode));break;case 4:s=dc,o=uc,dc=n.stateNode.containerInfo,uc=!0,pc(e,t,n),dc=s,uc=o;break;case 0:case 11:case 14:case 15:if(!Yi&&(null!==(s=n.updateQueue)&&null!==(s=s.lastEffect))){o=s=s.next;do{var a=o,r=a.destroy;a=a.tag,void 0!==r&&(2&a||4&a)&&ec(n,t,r),o=o.next}while(o!==s)}pc(e,t,n);break;case 1:if(!Yi&&(Ji(n,t),"function"==typeof(s=n.stateNode).componentWillUnmount))try{s.props=n.memoizedProps,s.state=n.memoizedState,s.componentWillUnmount()}catch(i){jl(n,t,i)}pc(e,t,n);break;case 21:pc(e,t,n);break;case 22:1&n.mode?(Yi=(s=Yi)||null!==n.memoizedState,pc(e,t,n),Yi=s):pc(e,t,n);break;default:pc(e,t,n)}}function bc(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Qi),t.forEach((function(t){var s=El.bind(null,e,t);n.has(t)||(n.add(t),t.then(s,s))}))}}function hc(e,t){var n=t.deletions;if(null!==n)for(var s=0;s<n.length;s++){var o=n[s];try{var r=e,i=t,c=i;e:for(;null!==c;){switch(c.tag){case 5:dc=c.stateNode,uc=!1;break e;case 3:case 4:dc=c.stateNode.containerInfo,uc=!0;break e}c=c.return}if(null===dc)throw Error(a(160));fc(r,i,o),dc=null,uc=!1;var l=o.alternate;null!==l&&(l.return=null),o.return=null}catch(d){jl(o,t,d)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)mc(t,e),t=t.sibling}function mc(e,t){var n=e.alternate,s=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(hc(t,e),gc(e),4&s){try{nc(3,e,e.return),sc(3,e)}catch(m){jl(e,e.return,m)}try{nc(5,e,e.return)}catch(m){jl(e,e.return,m)}}break;case 1:hc(t,e),gc(e),512&s&&null!==n&&Ji(n,n.return);break;case 5:if(hc(t,e),gc(e),512&s&&null!==n&&Ji(n,n.return),32&e.flags){var o=e.stateNode;try{pe(o,"")}catch(m){jl(e,e.return,m)}}if(4&s&&null!=(o=e.stateNode)){var r=e.memoizedProps,i=null!==n?n.memoizedProps:r,c=e.type,l=e.updateQueue;if(e.updateQueue=null,null!==l)try{"input"===c&&"radio"===r.type&&null!=r.name&&Q(o,r),ye(c,i);var d=ye(c,r);for(i=0;i<l.length;i+=2){var u=l[i],p=l[i+1];"style"===u?me(o,p):"dangerouslySetInnerHTML"===u?ue(o,p):"children"===u?pe(o,p):y(o,u,p,d)}switch(c){case"input":X(o,r);break;case"textarea":ae(o,r);break;case"select":var f=o._wrapperState.wasMultiple;o._wrapperState.wasMultiple=!!r.multiple;var b=r.value;null!=b?ne(o,!!r.multiple,b,!1):f!==!!r.multiple&&(null!=r.defaultValue?ne(o,!!r.multiple,r.defaultValue,!0):ne(o,!!r.multiple,r.multiple?[]:"",!1))}o[bo]=r}catch(m){jl(e,e.return,m)}}break;case 6:if(hc(t,e),gc(e),4&s){if(null===e.stateNode)throw Error(a(162));o=e.stateNode,r=e.memoizedProps;try{o.nodeValue=r}catch(m){jl(e,e.return,m)}}break;case 3:if(hc(t,e),gc(e),4&s&&null!==n&&n.memoizedState.isDehydrated)try{Wt(t.containerInfo)}catch(m){jl(e,e.return,m)}break;case 4:default:hc(t,e),gc(e);break;case 13:hc(t,e),gc(e),8192&(o=e.child).flags&&(r=null!==o.memoizedState,o.stateNode.isHidden=r,!r||null!==o.alternate&&null!==o.alternate.memoizedState||(zc=Qe())),4&s&&bc(e);break;case 22:if(u=null!==n&&null!==n.memoizedState,1&e.mode?(Yi=(d=Yi)||u,hc(t,e),Yi=d):hc(t,e),gc(e),8192&s){if(d=null!==e.memoizedState,(e.stateNode.isHidden=d)&&!u&&1&e.mode)for(Xi=e,u=e.child;null!==u;){for(p=Xi=u;null!==Xi;){switch(b=(f=Xi).child,f.tag){case 0:case 11:case 14:case 15:nc(4,f,f.return);break;case 1:Ji(f,f.return);var h=f.stateNode;if("function"==typeof h.componentWillUnmount){s=f,n=f.return;try{t=s,h.props=t.memoizedProps,h.state=t.memoizedState,h.componentWillUnmount()}catch(m){jl(s,n,m)}}break;case 5:Ji(f,f.return);break;case 22:if(null!==f.memoizedState){xc(p);continue}}null!==b?(b.return=f,Xi=b):xc(p)}u=u.sibling}e:for(u=null,p=e;;){if(5===p.tag){if(null===u){u=p;try{o=p.stateNode,d?"function"==typeof(r=o.style).setProperty?r.setProperty("display","none","important"):r.display="none":(c=p.stateNode,i=null!=(l=p.memoizedProps.style)&&l.hasOwnProperty("display")?l.display:null,c.style.display=he("display",i))}catch(m){jl(e,e.return,m)}}}else if(6===p.tag){if(null===u)try{p.stateNode.nodeValue=d?"":p.memoizedProps}catch(m){jl(e,e.return,m)}}else if((22!==p.tag&&23!==p.tag||null===p.memoizedState||p===e)&&null!==p.child){p.child.return=p,p=p.child;continue}if(p===e)break e;for(;null===p.sibling;){if(null===p.return||p.return===e)break e;u===p&&(u=null),p=p.return}u===p&&(u=null),p.sibling.return=p.return,p=p.sibling}}break;case 19:hc(t,e),gc(e),4&s&&bc(e);case 21:}}function gc(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(rc(n)){var s=n;break e}n=n.return}throw Error(a(160))}switch(s.tag){case 5:var o=s.stateNode;32&s.flags&&(pe(o,""),s.flags&=-33),lc(e,ic(e),o);break;case 3:case 4:var r=s.stateNode.containerInfo;cc(e,ic(e),r);break;default:throw Error(a(161))}}catch(i){jl(e,e.return,i)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function vc(e,t,n){Xi=e,yc(e,t,n)}function yc(e,t,n){for(var s=!!(1&e.mode);null!==Xi;){var o=Xi,a=o.child;if(22===o.tag&&s){var r=null!==o.memoizedState||Ki;if(!r){var i=o.alternate,c=null!==i&&null!==i.memoizedState||Yi;i=Ki;var l=Yi;if(Ki=r,(Yi=c)&&!l)for(Xi=o;null!==Xi;)c=(r=Xi).child,22===r.tag&&null!==r.memoizedState?wc(o):null!==c?(c.return=r,Xi=c):wc(o);for(;null!==a;)Xi=a,yc(a,t,n),a=a.sibling;Xi=o,Ki=i,Yi=l}kc(e)}else 8772&o.subtreeFlags&&null!==a?(a.return=o,Xi=a):kc(e)}}function kc(e){for(;null!==Xi;){var t=Xi;if(8772&t.flags){var n=t.alternate;try{if(8772&t.flags)switch(t.tag){case 0:case 11:case 15:Yi||sc(5,t);break;case 1:var s=t.stateNode;if(4&t.flags&&!Yi)if(null===n)s.componentDidMount();else{var o=t.elementType===t.type?n.memoizedProps:ni(t.type,n.memoizedProps);s.componentDidUpdate(o,n.memoizedState,s.__reactInternalSnapshotBeforeUpdate)}var r=t.updateQueue;null!==r&&Ha(t,r,s);break;case 3:var i=t.updateQueue;if(null!==i){if(n=null,null!==t.child)switch(t.child.tag){case 5:case 1:n=t.child.stateNode}Ha(t,i,n)}break;case 5:var c=t.stateNode;if(null===n&&4&t.flags){n=c;var l=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":l.autoFocus&&n.focus();break;case"img":l.src&&(n.src=l.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var d=t.alternate;if(null!==d){var u=d.memoizedState;if(null!==u){var p=u.dehydrated;null!==p&&Wt(p)}}}break;default:throw Error(a(163))}Yi||512&t.flags&&oc(t)}catch(f){jl(t,t.return,f)}}if(t===e){Xi=null;break}if(null!==(n=t.sibling)){n.return=t.return,Xi=n;break}Xi=t.return}}function xc(e){for(;null!==Xi;){var t=Xi;if(t===e){Xi=null;break}var n=t.sibling;if(null!==n){n.return=t.return,Xi=n;break}Xi=t.return}}function wc(e){for(;null!==Xi;){var t=Xi;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{sc(4,t)}catch(c){jl(t,n,c)}break;case 1:var s=t.stateNode;if("function"==typeof s.componentDidMount){var o=t.return;try{s.componentDidMount()}catch(c){jl(t,o,c)}}var a=t.return;try{oc(t)}catch(c){jl(t,a,c)}break;case 5:var r=t.return;try{oc(t)}catch(c){jl(t,r,c)}}}catch(c){jl(t,t.return,c)}if(t===e){Xi=null;break}var i=t.sibling;if(null!==i){i.return=t.return,Xi=i;break}Xi=t.return}}var _c,jc=Math.ceil,Cc=k.ReactCurrentDispatcher,Sc=k.ReactCurrentOwner,Mc=k.ReactCurrentBatchConfig,Ec=0,Lc=null,Ac=null,Tc=0,Pc=0,Rc=Co(0),Nc=0,Zc=null,Oc=0,Dc=0,Bc=0,Ic=null,Fc=null,zc=0,Wc=1/0,$c=null,Hc=!1,Vc=null,Uc=null,qc=!1,Gc=null,Kc=0,Yc=0,Qc=null,Xc=-1,Jc=0;function el(){return 6&Ec?Qe():-1!==Xc?Xc:Xc=Qe()}function tl(e){return 1&e.mode?2&Ec&&0!==Tc?Tc&-Tc:null!==ma.transition?(0===Jc&&(Jc=ht()),Jc):0!==(e=yt)?e:e=void 0===(e=window.event)?16:Yt(e.type):1}function nl(e,t,n,s){if(50<Yc)throw Yc=0,Qc=null,Error(a(185));gt(e,n,s),2&Ec&&e===Lc||(e===Lc&&(!(2&Ec)&&(Dc|=n),4===Nc&&il(e,Tc)),sl(e,s),1===n&&0===Ec&&!(1&t.mode)&&(Wc=Qe()+500,Fo&&$o()))}function sl(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,s=e.pingedLanes,o=e.expirationTimes,a=e.pendingLanes;0<a;){var r=31-rt(a),i=1<<r,c=o[r];-1===c?i&n&&!(i&s)||(o[r]=ft(i,t)):c<=t&&(e.expiredLanes|=i),a&=~i}}(e,t);var s=pt(e,e===Lc?Tc:0);if(0===s)null!==n&&Ge(n),e.callbackNode=null,e.callbackPriority=0;else if(t=s&-s,e.callbackPriority!==t){if(null!=n&&Ge(n),1===t)0===e.tag?function(e){Fo=!0,Wo(e)}(cl.bind(null,e)):Wo(cl.bind(null,e)),ro((function(){!(6&Ec)&&$o()})),n=null;else{switch(kt(s)){case 1:n=Je;break;case 4:n=et;break;case 16:default:n=tt;break;case 536870912:n=st}n=Ll(n,ol.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function ol(e,t){if(Xc=-1,Jc=0,6&Ec)throw Error(a(327));var n=e.callbackNode;if(wl()&&e.callbackNode!==n)return null;var s=pt(e,e===Lc?Tc:0);if(0===s)return null;if(30&s||s&e.expiredLanes||t)t=ml(e,s);else{t=s;var o=Ec;Ec|=2;var r=bl();for(Lc===e&&Tc===t||($c=null,Wc=Qe()+500,pl(e,t));;)try{vl();break}catch(c){fl(e,c)}Ma(),Cc.current=r,Ec=o,null!==Ac?t=0:(Lc=null,Tc=0,t=Nc)}if(0!==t){if(2===t&&(0!==(o=bt(e))&&(s=o,t=al(e,o))),1===t)throw n=Zc,pl(e,0),il(e,s),sl(e,Qe()),n;if(6===t)il(e,s);else{if(o=e.current.alternate,!(30&s||function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var s=0;s<n.length;s++){var o=n[s],a=o.getSnapshot;o=o.value;try{if(!is(a(),o))return!1}catch(i){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(o)||(t=ml(e,s),2===t&&(r=bt(e),0!==r&&(s=r,t=al(e,r))),1!==t)))throw n=Zc,pl(e,0),il(e,s),sl(e,Qe()),n;switch(e.finishedWork=o,e.finishedLanes=s,t){case 0:case 1:throw Error(a(345));case 2:case 5:xl(e,Fc,$c);break;case 3:if(il(e,s),(130023424&s)===s&&10<(t=zc+500-Qe())){if(0!==pt(e,0))break;if(((o=e.suspendedLanes)&s)!==s){el(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=so(xl.bind(null,e,Fc,$c),t);break}xl(e,Fc,$c);break;case 4:if(il(e,s),(4194240&s)===s)break;for(t=e.eventTimes,o=-1;0<s;){var i=31-rt(s);r=1<<i,(i=t[i])>o&&(o=i),s&=~r}if(s=o,10<(s=(120>(s=Qe()-s)?120:480>s?480:1080>s?1080:1920>s?1920:3e3>s?3e3:4320>s?4320:1960*jc(s/1960))-s)){e.timeoutHandle=so(xl.bind(null,e,Fc,$c),s);break}xl(e,Fc,$c);break;default:throw Error(a(329))}}}return sl(e,Qe()),e.callbackNode===n?ol.bind(null,e):null}function al(e,t){var n=Ic;return e.current.memoizedState.isDehydrated&&(pl(e,t).flags|=256),2!==(e=ml(e,t))&&(t=Fc,Fc=n,null!==t&&rl(t)),e}function rl(e){null===Fc?Fc=e:Fc.push.apply(Fc,e)}function il(e,t){for(t&=~Bc,t&=~Dc,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-rt(t),s=1<<n;e[n]=-1,t&=~s}}function cl(e){if(6&Ec)throw Error(a(327));wl();var t=pt(e,0);if(!(1&t))return sl(e,Qe()),null;var n=ml(e,t);if(0!==e.tag&&2===n){var s=bt(e);0!==s&&(t=s,n=al(e,s))}if(1===n)throw n=Zc,pl(e,0),il(e,t),sl(e,Qe()),n;if(6===n)throw Error(a(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,xl(e,Fc,$c),sl(e,Qe()),null}function ll(e,t){var n=Ec;Ec|=1;try{return e(t)}finally{0===(Ec=n)&&(Wc=Qe()+500,Fo&&$o())}}function dl(e){null!==Gc&&0===Gc.tag&&!(6&Ec)&&wl();var t=Ec;Ec|=1;var n=Mc.transition,s=yt;try{if(Mc.transition=null,yt=1,e)return e()}finally{yt=s,Mc.transition=n,!(6&(Ec=t))&&$o()}}function ul(){Pc=Rc.current,So(Rc)}function pl(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,oo(n)),null!==Ac)for(n=Ac.return;null!==n;){var s=n;switch(na(s),s.tag){case 1:null!=(s=s.type.childContextTypes)&&No();break;case 3:Qa(),So(Ao),So(Lo),sr();break;case 5:Ja(s);break;case 4:Qa();break;case 13:case 19:So(er);break;case 10:Ea(s.type._context);break;case 22:case 23:ul()}n=n.return}if(Lc=e,Ac=e=Rl(e.current,null),Tc=Pc=t,Nc=0,Zc=null,Bc=Dc=Oc=0,Fc=Ic=null,null!==Pa){for(t=0;t<Pa.length;t++)if(null!==(s=(n=Pa[t]).interleaved)){n.interleaved=null;var o=s.next,a=n.pending;if(null!==a){var r=a.next;a.next=o,s.next=r}n.pending=s}Pa=null}return e}function fl(e,t){for(;;){var n=Ac;try{if(Ma(),or.current=Xr,dr){for(var s=ir.memoizedState;null!==s;){var o=s.queue;null!==o&&(o.pending=null),s=s.next}dr=!1}if(rr=0,lr=cr=ir=null,ur=!1,pr=0,Sc.current=null,null===n||null===n.return){Nc=1,Zc=t,Ac=null;break}e:{var r=e,i=n.return,c=n,l=t;if(t=Tc,c.flags|=32768,null!==l&&"object"==typeof l&&"function"==typeof l.then){var d=l,u=c,p=u.tag;if(!(1&u.mode||0!==p&&11!==p&&15!==p)){var f=u.alternate;f?(u.updateQueue=f.updateQueue,u.memoizedState=f.memoizedState,u.lanes=f.lanes):(u.updateQueue=null,u.memoizedState=null)}var b=mi(i);if(null!==b){b.flags&=-257,gi(b,i,c,0,t),1&b.mode&&hi(r,d,t),l=d;var h=(t=b).updateQueue;if(null===h){var m=new Set;m.add(l),t.updateQueue=m}else h.add(l);break e}if(!(1&t)){hi(r,d,t),hl();break e}l=Error(a(426))}else if(aa&&1&c.mode){var g=mi(i);if(null!==g){!(65536&g.flags)&&(g.flags|=256),gi(g,i,c,0,t),ha(li(l,c));break e}}r=l=li(l,c),4!==Nc&&(Nc=2),null===Ic?Ic=[r]:Ic.push(r),r=i;do{switch(r.tag){case 3:r.flags|=65536,t&=-t,r.lanes|=t,Wa(r,fi(0,l,t));break e;case 1:c=l;var v=r.type,y=r.stateNode;if(!(128&r.flags||"function"!=typeof v.getDerivedStateFromError&&(null===y||"function"!=typeof y.componentDidCatch||null!==Uc&&Uc.has(y)))){r.flags|=65536,t&=-t,r.lanes|=t,Wa(r,bi(r,c,t));break e}}r=r.return}while(null!==r)}kl(n)}catch(k){t=k,Ac===n&&null!==n&&(Ac=n=n.return);continue}break}}function bl(){var e=Cc.current;return Cc.current=Xr,null===e?Xr:e}function hl(){0!==Nc&&3!==Nc&&2!==Nc||(Nc=4),null===Lc||!(268435455&Oc)&&!(268435455&Dc)||il(Lc,Tc)}function ml(e,t){var n=Ec;Ec|=2;var s=bl();for(Lc===e&&Tc===t||($c=null,pl(e,t));;)try{gl();break}catch(o){fl(e,o)}if(Ma(),Ec=n,Cc.current=s,null!==Ac)throw Error(a(261));return Lc=null,Tc=0,Nc}function gl(){for(;null!==Ac;)yl(Ac)}function vl(){for(;null!==Ac&&!Ke();)yl(Ac)}function yl(e){var t=_c(e.alternate,e,Pc);e.memoizedProps=e.pendingProps,null===t?kl(e):Ac=t,Sc.current=null}function kl(e){var t=e;do{var n=t.alternate;if(e=t.return,32768&t.flags){if(null!==(n=Gi(n,t)))return n.flags&=32767,void(Ac=n);if(null===e)return Nc=6,void(Ac=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}else if(null!==(n=qi(n,t,Pc)))return void(Ac=n);if(null!==(t=t.sibling))return void(Ac=t);Ac=t=e}while(null!==t);0===Nc&&(Nc=5)}function xl(e,t,n){var s=yt,o=Mc.transition;try{Mc.transition=null,yt=1,function(e,t,n,s){do{wl()}while(null!==Gc);if(6&Ec)throw Error(a(327));n=e.finishedWork;var o=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(a(177));e.callbackNode=null,e.callbackPriority=0;var r=n.lanes|n.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var s=e.eventTimes;for(e=e.expirationTimes;0<n;){var o=31-rt(n),a=1<<o;t[o]=0,s[o]=-1,e[o]=-1,n&=~a}}(e,r),e===Lc&&(Ac=Lc=null,Tc=0),!(2064&n.subtreeFlags)&&!(2064&n.flags)||qc||(qc=!0,Ll(tt,(function(){return wl(),null}))),r=!!(15990&n.flags),!!(15990&n.subtreeFlags)||r){r=Mc.transition,Mc.transition=null;var i=yt;yt=1;var c=Ec;Ec|=4,Sc.current=null,function(e,t){if(eo=Ht,fs(e=ps())){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var s=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(s&&0!==s.rangeCount){n=s.anchorNode;var o=s.anchorOffset,r=s.focusNode;s=s.focusOffset;try{n.nodeType,r.nodeType}catch(x){n=null;break e}var i=0,c=-1,l=-1,d=0,u=0,p=e,f=null;t:for(;;){for(var b;p!==n||0!==o&&3!==p.nodeType||(c=i+o),p!==r||0!==s&&3!==p.nodeType||(l=i+s),3===p.nodeType&&(i+=p.nodeValue.length),null!==(b=p.firstChild);)f=p,p=b;for(;;){if(p===e)break t;if(f===n&&++d===o&&(c=i),f===r&&++u===s&&(l=i),null!==(b=p.nextSibling))break;f=(p=f).parentNode}p=b}n=-1===c||-1===l?null:{start:c,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(to={focusedElem:e,selectionRange:n},Ht=!1,Xi=t;null!==Xi;)if(e=(t=Xi).child,1028&t.subtreeFlags&&null!==e)e.return=t,Xi=e;else for(;null!==Xi;){t=Xi;try{var h=t.alternate;if(1024&t.flags)switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==h){var m=h.memoizedProps,g=h.memoizedState,v=t.stateNode,y=v.getSnapshotBeforeUpdate(t.elementType===t.type?m:ni(t.type,m),g);v.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var k=t.stateNode.containerInfo;1===k.nodeType?k.textContent="":9===k.nodeType&&k.documentElement&&k.removeChild(k.documentElement);break;default:throw Error(a(163))}}catch(x){jl(t,t.return,x)}if(null!==(e=t.sibling)){e.return=t.return,Xi=e;break}Xi=t.return}h=tc,tc=!1}(e,n),mc(n,e),bs(to),Ht=!!eo,to=eo=null,e.current=n,vc(n,e,o),Ye(),Ec=c,yt=i,Mc.transition=r}else e.current=n;if(qc&&(qc=!1,Gc=e,Kc=o),r=e.pendingLanes,0===r&&(Uc=null),function(e){if(at&&"function"==typeof at.onCommitFiberRoot)try{at.onCommitFiberRoot(ot,e,void 0,!(128&~e.current.flags))}catch(t){}}(n.stateNode),sl(e,Qe()),null!==t)for(s=e.onRecoverableError,n=0;n<t.length;n++)o=t[n],s(o.value,{componentStack:o.stack,digest:o.digest});if(Hc)throw Hc=!1,e=Vc,Vc=null,e;!!(1&Kc)&&0!==e.tag&&wl(),r=e.pendingLanes,1&r?e===Qc?Yc++:(Yc=0,Qc=e):Yc=0,$o()}(e,t,n,s)}finally{Mc.transition=o,yt=s}return null}function wl(){if(null!==Gc){var e=kt(Kc),t=Mc.transition,n=yt;try{if(Mc.transition=null,yt=16>e?16:e,null===Gc)var s=!1;else{if(e=Gc,Gc=null,Kc=0,6&Ec)throw Error(a(331));var o=Ec;for(Ec|=4,Xi=e.current;null!==Xi;){var r=Xi,i=r.child;if(16&Xi.flags){var c=r.deletions;if(null!==c){for(var l=0;l<c.length;l++){var d=c[l];for(Xi=d;null!==Xi;){var u=Xi;switch(u.tag){case 0:case 11:case 15:nc(8,u,r)}var p=u.child;if(null!==p)p.return=u,Xi=p;else for(;null!==Xi;){var f=(u=Xi).sibling,b=u.return;if(ac(u),u===d){Xi=null;break}if(null!==f){f.return=b,Xi=f;break}Xi=b}}}var h=r.alternate;if(null!==h){var m=h.child;if(null!==m){h.child=null;do{var g=m.sibling;m.sibling=null,m=g}while(null!==m)}}Xi=r}}if(2064&r.subtreeFlags&&null!==i)i.return=r,Xi=i;else e:for(;null!==Xi;){if(2048&(r=Xi).flags)switch(r.tag){case 0:case 11:case 15:nc(9,r,r.return)}var v=r.sibling;if(null!==v){v.return=r.return,Xi=v;break e}Xi=r.return}}var y=e.current;for(Xi=y;null!==Xi;){var k=(i=Xi).child;if(2064&i.subtreeFlags&&null!==k)k.return=i,Xi=k;else e:for(i=y;null!==Xi;){if(2048&(c=Xi).flags)try{switch(c.tag){case 0:case 11:case 15:sc(9,c)}}catch(w){jl(c,c.return,w)}if(c===i){Xi=null;break e}var x=c.sibling;if(null!==x){x.return=c.return,Xi=x;break e}Xi=c.return}}if(Ec=o,$o(),at&&"function"==typeof at.onPostCommitFiberRoot)try{at.onPostCommitFiberRoot(ot,e)}catch(w){}s=!0}return s}finally{yt=n,Mc.transition=t}}return!1}function _l(e,t,n){e=Fa(e,t=fi(0,t=li(n,t),1),1),t=el(),null!==e&&(gt(e,1,t),sl(e,t))}function jl(e,t,n){if(3===e.tag)_l(e,e,n);else for(;null!==t;){if(3===t.tag){_l(t,e,n);break}if(1===t.tag){var s=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof s.componentDidCatch&&(null===Uc||!Uc.has(s))){t=Fa(t,e=bi(t,e=li(n,e),1),1),e=el(),null!==t&&(gt(t,1,e),sl(t,e));break}}t=t.return}}function Cl(e,t,n){var s=e.pingCache;null!==s&&s.delete(t),t=el(),e.pingedLanes|=e.suspendedLanes&n,Lc===e&&(Tc&n)===n&&(4===Nc||3===Nc&&(130023424&Tc)===Tc&&500>Qe()-zc?pl(e,0):Bc|=n),sl(e,t)}function Sl(e,t){0===t&&(1&e.mode?(t=dt,!(130023424&(dt<<=1))&&(dt=4194304)):t=1);var n=el();null!==(e=Za(e,t))&&(gt(e,t,n),sl(e,n))}function Ml(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Sl(e,n)}function El(e,t){var n=0;switch(e.tag){case 13:var s=e.stateNode,o=e.memoizedState;null!==o&&(n=o.retryLane);break;case 19:s=e.stateNode;break;default:throw Error(a(314))}null!==s&&s.delete(t),Sl(e,n)}function Ll(e,t){return qe(e,t)}function Al(e,t,n,s){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=s,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Tl(e,t,n,s){return new Al(e,t,n,s)}function Pl(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Rl(e,t){var n=e.alternate;return null===n?((n=Tl(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Nl(e,t,n,s,o,r){var i=2;if(s=e,"function"==typeof e)Pl(e)&&(i=1);else if("string"==typeof e)i=5;else e:switch(e){case _:return Zl(n.children,o,r,t);case j:i=8,o|=8;break;case C:return(e=Tl(12,n,t,2|o)).elementType=C,e.lanes=r,e;case L:return(e=Tl(13,n,t,o)).elementType=L,e.lanes=r,e;case A:return(e=Tl(19,n,t,o)).elementType=A,e.lanes=r,e;case R:return Ol(n,o,r,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case S:i=10;break e;case M:i=9;break e;case E:i=11;break e;case T:i=14;break e;case P:i=16,s=null;break e}throw Error(a(130,null==e?e:typeof e,""))}return(t=Tl(i,n,t,o)).elementType=e,t.type=s,t.lanes=r,t}function Zl(e,t,n,s){return(e=Tl(7,e,s,t)).lanes=n,e}function Ol(e,t,n,s){return(e=Tl(22,e,s,t)).elementType=R,e.lanes=n,e.stateNode={isHidden:!1},e}function Dl(e,t,n){return(e=Tl(6,e,null,t)).lanes=n,e}function Bl(e,t,n){return(t=Tl(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Il(e,t,n,s,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=mt(0),this.expirationTimes=mt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=mt(0),this.identifierPrefix=s,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function Fl(e,t,n,s,o,a,r,i,c){return e=new Il(e,t,n,i,c),1===t?(t=1,!0===a&&(t|=8)):t=0,a=Tl(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:s,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Da(a),e}function zl(e){if(!e)return Eo;e:{if(We(e=e._reactInternals)!==e||1!==e.tag)throw Error(a(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Ro(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(a(171))}if(1===e.tag){var n=e.type;if(Ro(n))return Oo(e,n,t)}return t}function Wl(e,t,n,s,o,a,r,i,c){return(e=Fl(n,s,!0,e,0,a,0,i,c)).context=zl(null),n=e.current,(a=Ia(s=el(),o=tl(n))).callback=null!=t?t:null,Fa(n,a,o),e.current.lanes=o,gt(e,o,s),sl(e,s),e}function $l(e,t,n,s){var o=t.current,a=el(),r=tl(o);return n=zl(n),null===t.context?t.context=n:t.pendingContext=n,(t=Ia(a,r)).payload={element:e},null!==(s=void 0===s?null:s)&&(t.callback=s),null!==(e=Fa(o,t,r))&&(nl(e,o,r,a),za(e,o,r)),r}function Hl(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Vl(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function Ul(e,t){Vl(e,t),(e=e.alternate)&&Vl(e,t)}_c=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||Ao.current)yi=!0;else{if(!(e.lanes&n||128&t.flags))return yi=!1,function(e,t,n){switch(t.tag){case 3:Li(t),ba();break;case 5:Xa(t);break;case 1:Ro(t.type)&&Do(t);break;case 4:Ya(t,t.stateNode.containerInfo);break;case 10:var s=t.type._context,o=t.memoizedProps.value;Mo(_a,s._currentValue),s._currentValue=o;break;case 13:if(null!==(s=t.memoizedState))return null!==s.dehydrated?(Mo(er,1&er.current),t.flags|=128,null):n&t.child.childLanes?Di(e,t,n):(Mo(er,1&er.current),null!==(e=Hi(e,t,n))?e.sibling:null);Mo(er,1&er.current);break;case 19:if(s=!!(n&t.childLanes),128&e.flags){if(s)return Wi(e,t,n);t.flags|=128}if(null!==(o=t.memoizedState)&&(o.rendering=null,o.tail=null,o.lastEffect=null),Mo(er,er.current),s)break;return null;case 22:case 23:return t.lanes=0,ji(e,t,n)}return Hi(e,t,n)}(e,t,n);yi=!!(131072&e.flags)}else yi=!1,aa&&1048576&t.flags&&ea(t,qo,t.index);switch(t.lanes=0,t.tag){case 2:var s=t.type;$i(e,t),e=t.pendingProps;var o=Po(t,Lo.current);Aa(t,n),o=mr(null,t,s,e,o,n);var r=gr();return t.flags|=1,"object"==typeof o&&null!==o&&"function"==typeof o.render&&void 0===o.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ro(s)?(r=!0,Do(t)):r=!1,t.memoizedState=null!==o.state&&void 0!==o.state?o.state:null,Da(t),o.updater=oi,t.stateNode=o,o._reactInternals=t,ci(t,s,e,n),t=Ei(null,t,s,!0,r,n)):(t.tag=0,aa&&r&&ta(t),ki(null,t,o,n),t=t.child),t;case 16:s=t.elementType;e:{switch($i(e,t),e=t.pendingProps,s=(o=s._init)(s._payload),t.type=s,o=t.tag=function(e){if("function"==typeof e)return Pl(e)?1:0;if(null!=e){if((e=e.$$typeof)===E)return 11;if(e===T)return 14}return 2}(s),e=ni(s,e),o){case 0:t=Si(null,t,s,e,n);break e;case 1:t=Mi(null,t,s,e,n);break e;case 11:t=xi(null,t,s,e,n);break e;case 14:t=wi(null,t,s,ni(s.type,e),n);break e}throw Error(a(306,s,""))}return t;case 0:return s=t.type,o=t.pendingProps,Si(e,t,s,o=t.elementType===s?o:ni(s,o),n);case 1:return s=t.type,o=t.pendingProps,Mi(e,t,s,o=t.elementType===s?o:ni(s,o),n);case 3:e:{if(Li(t),null===e)throw Error(a(387));s=t.pendingProps,o=(r=t.memoizedState).element,Ba(e,t),$a(t,s,null,n);var i=t.memoizedState;if(s=i.element,r.isDehydrated){if(r={element:s,isDehydrated:!1,cache:i.cache,pendingSuspenseBoundaries:i.pendingSuspenseBoundaries,transitions:i.transitions},t.updateQueue.baseState=r,t.memoizedState=r,256&t.flags){t=Ai(e,t,s,n,o=li(Error(a(423)),t));break e}if(s!==o){t=Ai(e,t,s,n,o=li(Error(a(424)),t));break e}for(oa=lo(t.stateNode.containerInfo.firstChild),sa=t,aa=!0,ra=null,n=wa(t,null,s,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(ba(),s===o){t=Hi(e,t,n);break e}ki(e,t,s,n)}t=t.child}return t;case 5:return Xa(t),null===e&&da(t),s=t.type,o=t.pendingProps,r=null!==e?e.memoizedProps:null,i=o.children,no(s,o)?i=null:null!==r&&no(s,r)&&(t.flags|=32),Ci(e,t),ki(e,t,i,n),t.child;case 6:return null===e&&da(t),null;case 13:return Di(e,t,n);case 4:return Ya(t,t.stateNode.containerInfo),s=t.pendingProps,null===e?t.child=xa(t,null,s,n):ki(e,t,s,n),t.child;case 11:return s=t.type,o=t.pendingProps,xi(e,t,s,o=t.elementType===s?o:ni(s,o),n);case 7:return ki(e,t,t.pendingProps,n),t.child;case 8:case 12:return ki(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(s=t.type._context,o=t.pendingProps,r=t.memoizedProps,i=o.value,Mo(_a,s._currentValue),s._currentValue=i,null!==r)if(is(r.value,i)){if(r.children===o.children&&!Ao.current){t=Hi(e,t,n);break e}}else for(null!==(r=t.child)&&(r.return=t);null!==r;){var c=r.dependencies;if(null!==c){i=r.child;for(var l=c.firstContext;null!==l;){if(l.context===s){if(1===r.tag){(l=Ia(-1,n&-n)).tag=2;var d=r.updateQueue;if(null!==d){var u=(d=d.shared).pending;null===u?l.next=l:(l.next=u.next,u.next=l),d.pending=l}}r.lanes|=n,null!==(l=r.alternate)&&(l.lanes|=n),La(r.return,n,t),c.lanes|=n;break}l=l.next}}else if(10===r.tag)i=r.type===t.type?null:r.child;else if(18===r.tag){if(null===(i=r.return))throw Error(a(341));i.lanes|=n,null!==(c=i.alternate)&&(c.lanes|=n),La(i,n,t),i=r.sibling}else i=r.child;if(null!==i)i.return=r;else for(i=r;null!==i;){if(i===t){i=null;break}if(null!==(r=i.sibling)){r.return=i.return,i=r;break}i=i.return}r=i}ki(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,s=t.pendingProps.children,Aa(t,n),s=s(o=Ta(o)),t.flags|=1,ki(e,t,s,n),t.child;case 14:return o=ni(s=t.type,t.pendingProps),wi(e,t,s,o=ni(s.type,o),n);case 15:return _i(e,t,t.type,t.pendingProps,n);case 17:return s=t.type,o=t.pendingProps,o=t.elementType===s?o:ni(s,o),$i(e,t),t.tag=1,Ro(s)?(e=!0,Do(t)):e=!1,Aa(t,n),ri(t,s,o),ci(t,s,o,n),Ei(null,t,s,!0,e,n);case 19:return Wi(e,t,n);case 22:return ji(e,t,n)}throw Error(a(156,t.tag))};var ql="function"==typeof reportError?reportError:function(e){console.error(e)};function Gl(e){this._internalRoot=e}function Kl(e){this._internalRoot=e}function Yl(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Ql(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Xl(){}function Jl(e,t,n,s,o){var a=n._reactRootContainer;if(a){var r=a;if("function"==typeof o){var i=o;o=function(){var e=Hl(r);i.call(e)}}$l(t,r,e,o)}else r=function(e,t,n,s,o){if(o){if("function"==typeof s){var a=s;s=function(){var e=Hl(r);a.call(e)}}var r=Wl(t,s,e,0,null,!1,0,"",Xl);return e._reactRootContainer=r,e[ho]=r.current,Ws(8===e.nodeType?e.parentNode:e),dl(),r}for(;o=e.lastChild;)e.removeChild(o);if("function"==typeof s){var i=s;s=function(){var e=Hl(c);i.call(e)}}var c=Fl(e,0,!1,null,0,!1,0,"",Xl);return e._reactRootContainer=c,e[ho]=c.current,Ws(8===e.nodeType?e.parentNode:e),dl((function(){$l(t,c,n,s)})),c}(n,t,e,o,s);return Hl(r)}Kl.prototype.render=Gl.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(a(409));$l(e,t,null,null)},Kl.prototype.unmount=Gl.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;dl((function(){$l(null,e,null,null)})),t[ho]=null}},Kl.prototype.unstable_scheduleHydration=function(e){if(e){var t=jt();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Rt.length&&0!==t&&t<Rt[n].priority;n++);Rt.splice(n,0,e),0===n&&Dt(e)}},xt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=ut(t.pendingLanes);0!==n&&(vt(t,1|n),sl(t,Qe()),!(6&Ec)&&(Wc=Qe()+500,$o()))}break;case 13:dl((function(){var t=Za(e,1);if(null!==t){var n=el();nl(t,e,1,n)}})),Ul(e,1)}},wt=function(e){if(13===e.tag){var t=Za(e,134217728);if(null!==t)nl(t,e,134217728,el());Ul(e,134217728)}},_t=function(e){if(13===e.tag){var t=tl(e),n=Za(e,t);if(null!==n)nl(n,e,t,el());Ul(e,t)}},jt=function(){return yt},Ct=function(e,t){var n=yt;try{return yt=e,t()}finally{yt=n}},we=function(e,t,n){switch(t){case"input":if(X(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var s=n[t];if(s!==e&&s.form===e.form){var o=wo(s);if(!o)throw Error(a(90));q(s),X(s,o)}}}break;case"textarea":ae(e,n);break;case"select":null!=(t=n.value)&&ne(e,!!n.multiple,t,!1)}},Ee=ll,Le=dl;var ed={usingClientEntryPoint:!1,Events:[ko,xo,wo,Se,Me,ll]},td={findFiberByHostInstance:yo,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},nd={bundleType:td.bundleType,version:td.version,rendererPackageName:td.rendererPackageName,rendererConfig:td.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:k.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ve(e))?null:e.stateNode},findFiberByHostInstance:td.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var sd=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!sd.isDisabled&&sd.supportsFiber)try{ot=sd.inject(nd),at=sd}catch(de){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=ed,t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Yl(t))throw Error(a(200));return function(e,t,n){var s=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:w,key:null==s?null:""+s,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},t.createRoot=function(e,t){if(!Yl(e))throw Error(a(299));var n=!1,s="",o=ql;return null!=t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(s=t.identifierPrefix),void 0!==t.onRecoverableError&&(o=t.onRecoverableError)),t=Fl(e,1,!1,null,0,n,0,s,o),e[ho]=t.current,Ws(8===e.nodeType?e.parentNode:e),new Gl(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(a(188));throw e=Object.keys(e).join(","),Error(a(268,e))}return e=null===(e=Ve(t))?null:e.stateNode},t.flushSync=function(e){return dl(e)},t.hydrate=function(e,t,n){if(!Ql(t))throw Error(a(200));return Jl(null,e,t,!0,n)},t.hydrateRoot=function(e,t,n){if(!Yl(e))throw Error(a(405));var s=null!=n&&n.hydratedSources||null,o=!1,r="",i=ql;if(null!=n&&(!0===n.unstable_strictMode&&(o=!0),void 0!==n.identifierPrefix&&(r=n.identifierPrefix),void 0!==n.onRecoverableError&&(i=n.onRecoverableError)),t=Wl(t,null,e,1,null!=n?n:null,o,0,r,i),e[ho]=t.current,Ws(e),s)for(e=0;e<s.length;e++)o=(o=(n=s[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,o]:t.mutableSourceEagerHydrationData.push(n,o);return new Kl(t)},t.render=function(e,t,n){if(!Ql(t))throw Error(a(200));return Jl(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!Ql(e))throw Error(a(40));return!!e._reactRootContainer&&(dl((function(){Jl(null,null,e,!1,(function(){e._reactRootContainer=null,e[ho]=null}))})),!0)},t.unstable_batchedUpdates=ll,t.unstable_renderSubtreeIntoContainer=function(e,t,n,s){if(!Ql(n))throw Error(a(200));if(null==e||void 0===e._reactInternals)throw Error(a(38));return Jl(e,t,n,!1,s)},t.version="18.3.1-next-f1338f8080-20240426"},5338:(e,t,n)=>{"use strict";var s=n(40961);t.createRoot=s.createRoot,t.hydrateRoot=s.hydrateRoot},40961:(e,t,n)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(22551)},30115:e=>{var t="undefined"!=typeof Element,n="function"==typeof Map,s="function"==typeof Set,o="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function a(e,r){if(e===r)return!0;if(e&&r&&"object"==typeof e&&"object"==typeof r){if(e.constructor!==r.constructor)return!1;var i,c,l,d;if(Array.isArray(e)){if((i=e.length)!=r.length)return!1;for(c=i;0!=c--;)if(!a(e[c],r[c]))return!1;return!0}if(n&&e instanceof Map&&r instanceof Map){if(e.size!==r.size)return!1;for(d=e.entries();!(c=d.next()).done;)if(!r.has(c.value[0]))return!1;for(d=e.entries();!(c=d.next()).done;)if(!a(c.value[1],r.get(c.value[0])))return!1;return!0}if(s&&e instanceof Set&&r instanceof Set){if(e.size!==r.size)return!1;for(d=e.entries();!(c=d.next()).done;)if(!r.has(c.value[0]))return!1;return!0}if(o&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(r)){if((i=e.length)!=r.length)return!1;for(c=i;0!=c--;)if(e[c]!==r[c])return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf&&"function"==typeof e.valueOf&&"function"==typeof r.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString&&"function"==typeof e.toString&&"function"==typeof r.toString)return e.toString()===r.toString();if((i=(l=Object.keys(e)).length)!==Object.keys(r).length)return!1;for(c=i;0!=c--;)if(!Object.prototype.hasOwnProperty.call(r,l[c]))return!1;if(t&&e instanceof Element)return!1;for(c=i;0!=c--;)if(("_owner"!==l[c]&&"__v"!==l[c]&&"__o"!==l[c]||!e.$$typeof)&&!a(e[l[c]],r[l[c]]))return!1;return!0}return e!=e&&r!=r}e.exports=function(e,t){try{return a(e,t)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}},80545:(e,t,n)=>{"use strict";n.d(t,{mg:()=>J,vd:()=>V});var s=n(96540),o=n(5556),a=n.n(o),r=n(30115),i=n.n(r),c=n(20311),l=n.n(c),d=n(2833),u=n.n(d);function p(){return p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e},p.apply(this,arguments)}function f(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,b(e,t)}function b(e,t){return b=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},b(e,t)}function h(e,t){if(null==e)return{};var n,s,o={},a=Object.keys(e);for(s=0;s<a.length;s++)t.indexOf(n=a[s])>=0||(o[n]=e[n]);return o}var m={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},g={rel:["amphtml","canonical","alternate"]},v={type:["application/ld+json"]},y={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},k=Object.keys(m).map((function(e){return m[e]})),x={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},w=Object.keys(x).reduce((function(e,t){return e[x[t]]=t,e}),{}),_=function(e,t){for(var n=e.length-1;n>=0;n-=1){var s=e[n];if(Object.prototype.hasOwnProperty.call(s,t))return s[t]}return null},j=function(e){var t=_(e,m.TITLE),n=_(e,"titleTemplate");if(Array.isArray(t)&&(t=t.join("")),n&&t)return n.replace(/%s/g,(function(){return t}));var s=_(e,"defaultTitle");return t||s||void 0},C=function(e){return _(e,"onChangeClientState")||function(){}},S=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return p({},e,t)}),{})},M=function(e,t){return t.filter((function(e){return void 0!==e[m.BASE]})).map((function(e){return e[m.BASE]})).reverse().reduce((function(t,n){if(!t.length)for(var s=Object.keys(n),o=0;o<s.length;o+=1){var a=s[o].toLowerCase();if(-1!==e.indexOf(a)&&n[a])return t.concat(n)}return t}),[])},E=function(e,t,n){var s={};return n.filter((function(t){return!!Array.isArray(t[e])||(void 0!==t[e]&&console&&"function"==typeof console.warn&&console.warn("Helmet: "+e+' should be of type "Array". Instead found type "'+typeof t[e]+'"'),!1)})).map((function(t){return t[e]})).reverse().reduce((function(e,n){var o={};n.filter((function(e){for(var n,a=Object.keys(e),r=0;r<a.length;r+=1){var i=a[r],c=i.toLowerCase();-1===t.indexOf(c)||"rel"===n&&"canonical"===e[n].toLowerCase()||"rel"===c&&"stylesheet"===e[c].toLowerCase()||(n=c),-1===t.indexOf(i)||"innerHTML"!==i&&"cssText"!==i&&"itemprop"!==i||(n=i)}if(!n||!e[n])return!1;var l=e[n].toLowerCase();return s[n]||(s[n]={}),o[n]||(o[n]={}),!s[n][l]&&(o[n][l]=!0,!0)})).reverse().forEach((function(t){return e.push(t)}));for(var a=Object.keys(o),r=0;r<a.length;r+=1){var i=a[r],c=p({},s[i],o[i]);s[i]=c}return e}),[]).reverse()},L=function(e,t){if(Array.isArray(e)&&e.length)for(var n=0;n<e.length;n+=1)if(e[n][t])return!0;return!1},A=function(e){return Array.isArray(e)?e.join(""):e},T=function(e,t){return Array.isArray(e)?e.reduce((function(e,n){return function(e,t){for(var n=Object.keys(e),s=0;s<n.length;s+=1)if(t[n[s]]&&t[n[s]].includes(e[n[s]]))return!0;return!1}(n,t)?e.priority.push(n):e.default.push(n),e}),{priority:[],default:[]}):{default:e}},P=function(e,t){var n;return p({},e,((n={})[t]=void 0,n))},R=[m.NOSCRIPT,m.SCRIPT,m.STYLE],N=function(e,t){return void 0===t&&(t=!0),!1===t?String(e):String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},Z=function(e){return Object.keys(e).reduce((function(t,n){var s=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+s:s}),"")},O=function(e,t){return void 0===t&&(t={}),Object.keys(e).reduce((function(t,n){return t[x[n]||n]=e[n],t}),t)},D=function(e,t){return t.map((function(t,n){var o,a=((o={key:n})["data-rh"]=!0,o);return Object.keys(t).forEach((function(e){var n=x[e]||e;"innerHTML"===n||"cssText"===n?a.dangerouslySetInnerHTML={__html:t.innerHTML||t.cssText}:a[n]=t[e]})),s.createElement(e,a)}))},B=function(e,t,n){switch(e){case m.TITLE:return{toComponent:function(){return n=t.titleAttributes,(o={key:e=t.title})["data-rh"]=!0,a=O(n,o),[s.createElement(m.TITLE,a,e)];var e,n,o,a},toString:function(){return function(e,t,n,s){var o=Z(n),a=A(t);return o?"<"+e+' data-rh="true" '+o+">"+N(a,s)+"</"+e+">":"<"+e+' data-rh="true">'+N(a,s)+"</"+e+">"}(e,t.title,t.titleAttributes,n)}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return O(t)},toString:function(){return Z(t)}};default:return{toComponent:function(){return D(e,t)},toString:function(){return function(e,t,n){return t.reduce((function(t,s){var o=Object.keys(s).filter((function(e){return!("innerHTML"===e||"cssText"===e)})).reduce((function(e,t){var o=void 0===s[t]?t:t+'="'+N(s[t],n)+'"';return e?e+" "+o:o}),""),a=s.innerHTML||s.cssText||"",r=-1===R.indexOf(e);return t+"<"+e+' data-rh="true" '+o+(r?"/>":">"+a+"</"+e+">")}),"")}(e,t,n)}}}},I=function(e){var t=e.baseTag,n=e.bodyAttributes,s=e.encode,o=e.htmlAttributes,a=e.noscriptTags,r=e.styleTags,i=e.title,c=void 0===i?"":i,l=e.titleAttributes,d=e.linkTags,u=e.metaTags,p=e.scriptTags,f={toComponent:function(){},toString:function(){return""}};if(e.prioritizeSeoTags){var b=function(e){var t=e.linkTags,n=e.scriptTags,s=e.encode,o=T(e.metaTags,y),a=T(t,g),r=T(n,v);return{priorityMethods:{toComponent:function(){return[].concat(D(m.META,o.priority),D(m.LINK,a.priority),D(m.SCRIPT,r.priority))},toString:function(){return B(m.META,o.priority,s)+" "+B(m.LINK,a.priority,s)+" "+B(m.SCRIPT,r.priority,s)}},metaTags:o.default,linkTags:a.default,scriptTags:r.default}}(e);f=b.priorityMethods,d=b.linkTags,u=b.metaTags,p=b.scriptTags}return{priority:f,base:B(m.BASE,t,s),bodyAttributes:B("bodyAttributes",n,s),htmlAttributes:B("htmlAttributes",o,s),link:B(m.LINK,d,s),meta:B(m.META,u,s),noscript:B(m.NOSCRIPT,a,s),script:B(m.SCRIPT,p,s),style:B(m.STYLE,r,s),title:B(m.TITLE,{title:c,titleAttributes:l},s)}},F=[],z=function(e,t){var n=this;void 0===t&&(t="undefined"!=typeof document),this.instances=[],this.value={setHelmet:function(e){n.context.helmet=e},helmetInstances:{get:function(){return n.canUseDOM?F:n.instances},add:function(e){(n.canUseDOM?F:n.instances).push(e)},remove:function(e){var t=(n.canUseDOM?F:n.instances).indexOf(e);(n.canUseDOM?F:n.instances).splice(t,1)}}},this.context=e,this.canUseDOM=t,t||(e.helmet=I({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},W=s.createContext({}),$=a().shape({setHelmet:a().func,helmetInstances:a().shape({get:a().func,add:a().func,remove:a().func})}),H="undefined"!=typeof document,V=function(e){function t(n){var s;return(s=e.call(this,n)||this).helmetData=new z(s.props.context,t.canUseDOM),s}return f(t,e),t.prototype.render=function(){return s.createElement(W.Provider,{value:this.helmetData.value},this.props.children)},t}(s.Component);V.canUseDOM=H,V.propTypes={context:a().shape({helmet:a().shape()}),children:a().node.isRequired},V.defaultProps={context:{}},V.displayName="HelmetProvider";var U=function(e,t){var n,s=document.head||document.querySelector(m.HEAD),o=s.querySelectorAll(e+"[data-rh]"),a=[].slice.call(o),r=[];return t&&t.length&&t.forEach((function(t){var s=document.createElement(e);for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&("innerHTML"===o?s.innerHTML=t.innerHTML:"cssText"===o?s.styleSheet?s.styleSheet.cssText=t.cssText:s.appendChild(document.createTextNode(t.cssText)):s.setAttribute(o,void 0===t[o]?"":t[o]));s.setAttribute("data-rh","true"),a.some((function(e,t){return n=t,s.isEqualNode(e)}))?a.splice(n,1):r.push(s)})),a.forEach((function(e){return e.parentNode.removeChild(e)})),r.forEach((function(e){return s.appendChild(e)})),{oldTags:a,newTags:r}},q=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var s=n.getAttribute("data-rh"),o=s?s.split(","):[],a=[].concat(o),r=Object.keys(t),i=0;i<r.length;i+=1){var c=r[i],l=t[c]||"";n.getAttribute(c)!==l&&n.setAttribute(c,l),-1===o.indexOf(c)&&o.push(c);var d=a.indexOf(c);-1!==d&&a.splice(d,1)}for(var u=a.length-1;u>=0;u-=1)n.removeAttribute(a[u]);o.length===a.length?n.removeAttribute("data-rh"):n.getAttribute("data-rh")!==r.join(",")&&n.setAttribute("data-rh",r.join(","))}},G=function(e,t){var n=e.baseTag,s=e.htmlAttributes,o=e.linkTags,a=e.metaTags,r=e.noscriptTags,i=e.onChangeClientState,c=e.scriptTags,l=e.styleTags,d=e.title,u=e.titleAttributes;q(m.BODY,e.bodyAttributes),q(m.HTML,s),function(e,t){void 0!==e&&document.title!==e&&(document.title=A(e)),q(m.TITLE,t)}(d,u);var p={baseTag:U(m.BASE,n),linkTags:U(m.LINK,o),metaTags:U(m.META,a),noscriptTags:U(m.NOSCRIPT,r),scriptTags:U(m.SCRIPT,c),styleTags:U(m.STYLE,l)},f={},b={};Object.keys(p).forEach((function(e){var t=p[e],n=t.newTags,s=t.oldTags;n.length&&(f[e]=n),s.length&&(b[e]=p[e].oldTags)})),t&&t(),i(e,f,b)},K=null,Y=function(e){function t(){for(var t,n=arguments.length,s=new Array(n),o=0;o<n;o++)s[o]=arguments[o];return(t=e.call.apply(e,[this].concat(s))||this).rendered=!1,t}f(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!u()(e,this.props)},n.componentDidUpdate=function(){this.emitChange()},n.componentWillUnmount=function(){this.props.context.helmetInstances.remove(this),this.emitChange()},n.emitChange=function(){var e,t,n=this.props.context,s=n.setHelmet,o=null,a=(e=n.helmetInstances.get().map((function(e){var t=p({},e.props);return delete t.context,t})),{baseTag:M(["href"],e),bodyAttributes:S("bodyAttributes",e),defer:_(e,"defer"),encode:_(e,"encodeSpecialCharacters"),htmlAttributes:S("htmlAttributes",e),linkTags:E(m.LINK,["rel","href"],e),metaTags:E(m.META,["name","charset","http-equiv","property","itemprop"],e),noscriptTags:E(m.NOSCRIPT,["innerHTML"],e),onChangeClientState:C(e),scriptTags:E(m.SCRIPT,["src","innerHTML"],e),styleTags:E(m.STYLE,["cssText"],e),title:j(e),titleAttributes:S("titleAttributes",e),prioritizeSeoTags:L(e,"prioritizeSeoTags")});V.canUseDOM?(t=a,K&&cancelAnimationFrame(K),t.defer?K=requestAnimationFrame((function(){G(t,(function(){K=null}))})):(G(t),K=null)):I&&(o=I(a)),s(o)},n.init=function(){this.rendered||(this.rendered=!0,this.props.context.helmetInstances.add(this),this.emitChange())},n.render=function(){return this.init(),null},t}(s.Component);Y.propTypes={context:$.isRequired},Y.displayName="HelmetDispatcher";var Q=["children"],X=["children"],J=function(e){function t(){return e.apply(this,arguments)||this}f(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!i()(P(this.props,"helmetData"),P(e,"helmetData"))},n.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case m.SCRIPT:case m.NOSCRIPT:return{innerHTML:t};case m.STYLE:return{cssText:t};default:throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")}},n.flattenArrayTypeChildren=function(e){var t,n=e.child,s=e.arrayTypeChildren;return p({},s,((t={})[n.type]=[].concat(s[n.type]||[],[p({},e.newChildProps,this.mapNestedChildrenToProps(n,e.nestedChildren))]),t))},n.mapObjectTypeChildren=function(e){var t,n,s=e.child,o=e.newProps,a=e.newChildProps,r=e.nestedChildren;switch(s.type){case m.TITLE:return p({},o,((t={})[s.type]=r,t.titleAttributes=p({},a),t));case m.BODY:return p({},o,{bodyAttributes:p({},a)});case m.HTML:return p({},o,{htmlAttributes:p({},a)});default:return p({},o,((n={})[s.type]=p({},a),n))}},n.mapArrayTypeChildrenToProps=function(e,t){var n=p({},t);return Object.keys(e).forEach((function(t){var s;n=p({},n,((s={})[t]=e[t],s))})),n},n.warnOnInvalidChildren=function(e,t){return l()(k.some((function(t){return e.type===t})),"function"==typeof e.type?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+k.join(", ")+" are allowed. Helmet does not support rendering <"+e.type+"> elements. Refer to our API for more information."),l()(!t||"string"==typeof t||Array.isArray(t)&&!t.some((function(e){return"string"!=typeof e})),"Helmet expects a string as a child of <"+e.type+">. Did you forget to wrap your children in braces? ( <"+e.type+">{``}</"+e.type+"> ) Refer to our API for more information."),!0},n.mapChildrenToProps=function(e,t){var n=this,o={};return s.Children.forEach(e,(function(e){if(e&&e.props){var s=e.props,a=s.children,r=h(s,Q),i=Object.keys(r).reduce((function(e,t){return e[w[t]||t]=r[t],e}),{}),c=e.type;switch("symbol"==typeof c?c=c.toString():n.warnOnInvalidChildren(e,a),c){case m.FRAGMENT:t=n.mapChildrenToProps(a,t);break;case m.LINK:case m.META:case m.NOSCRIPT:case m.SCRIPT:case m.STYLE:o=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:o,newChildProps:i,nestedChildren:a});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:i,nestedChildren:a})}}})),this.mapArrayTypeChildrenToProps(o,t)},n.render=function(){var e=this.props,t=e.children,n=h(e,X),o=p({},n),a=n.helmetData;return t&&(o=this.mapChildrenToProps(t,o)),!a||a instanceof z||(a=new z(a.context,a.instances)),a?s.createElement(Y,p({},o,{context:a.value,helmetData:void 0})):s.createElement(W.Consumer,null,(function(e){return s.createElement(Y,p({},o,{context:e}))}))},t}(s.Component);J.propTypes={base:a().object,bodyAttributes:a().object,children:a().oneOfType([a().arrayOf(a().node),a().node]),defaultTitle:a().string,defer:a().bool,encodeSpecialCharacters:a().bool,htmlAttributes:a().object,link:a().arrayOf(a().object),meta:a().arrayOf(a().object),noscript:a().arrayOf(a().object),onChangeClientState:a().func,script:a().arrayOf(a().object),style:a().arrayOf(a().object),title:a().string,titleAttributes:a().object,titleTemplate:a().string,prioritizeSeoTags:a().bool,helmetData:a().object},J.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},J.displayName="Helmet"},22799:(e,t)=>{"use strict";var n="function"==typeof Symbol&&Symbol.for,s=n?Symbol.for("react.element"):60103,o=n?Symbol.for("react.portal"):60106,a=n?Symbol.for("react.fragment"):60107,r=n?Symbol.for("react.strict_mode"):60108,i=n?Symbol.for("react.profiler"):60114,c=n?Symbol.for("react.provider"):60109,l=n?Symbol.for("react.context"):60110,d=n?Symbol.for("react.async_mode"):60111,u=n?Symbol.for("react.concurrent_mode"):60111,p=n?Symbol.for("react.forward_ref"):60112,f=n?Symbol.for("react.suspense"):60113,b=n?Symbol.for("react.suspense_list"):60120,h=n?Symbol.for("react.memo"):60115,m=n?Symbol.for("react.lazy"):60116,g=n?Symbol.for("react.block"):60121,v=n?Symbol.for("react.fundamental"):60117,y=n?Symbol.for("react.responder"):60118,k=n?Symbol.for("react.scope"):60119;function x(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case s:switch(e=e.type){case d:case u:case a:case i:case r:case f:return e;default:switch(e=e&&e.$$typeof){case l:case p:case m:case h:case c:return e;default:return t}}case o:return t}}}function w(e){return x(e)===u}t.AsyncMode=d,t.ConcurrentMode=u,t.ContextConsumer=l,t.ContextProvider=c,t.Element=s,t.ForwardRef=p,t.Fragment=a,t.Lazy=m,t.Memo=h,t.Portal=o,t.Profiler=i,t.StrictMode=r,t.Suspense=f,t.isAsyncMode=function(e){return w(e)||x(e)===d},t.isConcurrentMode=w,t.isContextConsumer=function(e){return x(e)===l},t.isContextProvider=function(e){return x(e)===c},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===s},t.isForwardRef=function(e){return x(e)===p},t.isFragment=function(e){return x(e)===a},t.isLazy=function(e){return x(e)===m},t.isMemo=function(e){return x(e)===h},t.isPortal=function(e){return x(e)===o},t.isProfiler=function(e){return x(e)===i},t.isStrictMode=function(e){return x(e)===r},t.isSuspense=function(e){return x(e)===f},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===a||e===u||e===i||e===r||e===f||e===b||"object"==typeof e&&null!==e&&(e.$$typeof===m||e.$$typeof===h||e.$$typeof===c||e.$$typeof===l||e.$$typeof===p||e.$$typeof===v||e.$$typeof===y||e.$$typeof===k||e.$$typeof===g)},t.typeOf=x},44363:(e,t,n)=>{"use strict";e.exports=n(22799)},53259:(e,t,n)=>{"use strict";function s(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function o(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(){return r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e},r.apply(this,arguments)}var i=n(96540),c=[],l=[];var d=i.createContext(null);function u(e){var t=e(),n={loading:!0,loaded:null,error:null};return n.promise=t.then((function(e){return n.loading=!1,n.loaded=e,e})).catch((function(e){throw n.loading=!1,n.error=e,e})),n}function p(e){var t={loading:!1,loaded:{},error:null},n=[];try{Object.keys(e).forEach((function(s){var o=u(e[s]);o.loading?t.loading=!0:(t.loaded[s]=o.loaded,t.error=o.error),n.push(o.promise),o.promise.then((function(e){t.loaded[s]=e})).catch((function(e){t.error=e}))}))}catch(s){t.error=s}return t.promise=Promise.all(n).then((function(e){return t.loading=!1,e})).catch((function(e){throw t.loading=!1,e})),t}function f(e,t){return i.createElement((n=e)&&n.__esModule?n.default:n,t);var n}function b(e,t){var u,p;if(!t.loading)throw new Error("react-loadable requires a `loading` component");var b=r({loader:null,loading:null,delay:200,timeout:null,render:f,webpack:null,modules:null},t),h=null;function m(){return h||(h=e(b.loader)),h.promise}return c.push(m),"function"==typeof b.webpack&&l.push((function(){if((0,b.webpack)().every((function(e){return void 0!==e&&void 0!==n.m[e]})))return m()})),p=u=function(t){function n(n){var s;return a(o(o(s=t.call(this,n)||this)),"retry",(function(){s.setState({error:null,loading:!0,timedOut:!1}),h=e(b.loader),s._loadModule()})),m(),s.state={error:h.error,pastDelay:!1,timedOut:!1,loading:h.loading,loaded:h.loaded},s}s(n,t),n.preload=function(){return m()};var r=n.prototype;return r.UNSAFE_componentWillMount=function(){this._loadModule()},r.componentDidMount=function(){this._mounted=!0},r._loadModule=function(){var e=this;if(this.context&&Array.isArray(b.modules)&&b.modules.forEach((function(t){e.context.report(t)})),h.loading){var t=function(t){e._mounted&&e.setState(t)};"number"==typeof b.delay&&(0===b.delay?this.setState({pastDelay:!0}):this._delay=setTimeout((function(){t({pastDelay:!0})}),b.delay)),"number"==typeof b.timeout&&(this._timeout=setTimeout((function(){t({timedOut:!0})}),b.timeout));var n=function(){t({error:h.error,loaded:h.loaded,loading:h.loading}),e._clearTimeouts()};h.promise.then((function(){return n(),null})).catch((function(e){return n(),null}))}},r.componentWillUnmount=function(){this._mounted=!1,this._clearTimeouts()},r._clearTimeouts=function(){clearTimeout(this._delay),clearTimeout(this._timeout)},r.render=function(){return this.state.loading||this.state.error?i.createElement(b.loading,{isLoading:this.state.loading,pastDelay:this.state.pastDelay,timedOut:this.state.timedOut,error:this.state.error,retry:this.retry}):this.state.loaded?b.render(this.state.loaded,this.props):null},n}(i.Component),a(u,"contextType",d),p}function h(e){return b(u,e)}h.Map=function(e){if("function"!=typeof e.render)throw new Error("LoadableMap requires a `render(loaded, props)` function");return b(p,e)};var m=function(e){function t(){return e.apply(this,arguments)||this}return s(t,e),t.prototype.render=function(){return i.createElement(d.Provider,{value:{report:this.props.report}},i.Children.only(this.props.children))},t}(i.Component);function g(e){for(var t=[];e.length;){var n=e.pop();t.push(n())}return Promise.all(t).then((function(){if(e.length)return g(e)}))}h.Capture=m,h.preloadAll=function(){return new Promise((function(e,t){g(c).then(e,t)}))},h.preloadReady=function(){return new Promise((function(e,t){g(l).then(e,e)}))},e.exports=h},22831:(e,t,n)=>{"use strict";n.d(t,{u:()=>r,v:()=>i});var s=n(56347),o=n(58168),a=n(96540);function r(e,t,n){return void 0===n&&(n=[]),e.some((function(e){var o=e.path?(0,s.B6)(t,e):n.length?n[n.length-1].match:s.Ix.computeRootMatch(t);return o&&(n.push({route:e,match:o}),e.routes&&r(e.routes,t,n)),o})),n}function i(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),e?a.createElement(s.dO,n,e.map((function(e,n){return a.createElement(s.qh,{key:e.key||n,path:e.path,exact:e.exact,strict:e.strict,render:function(n){return e.render?e.render((0,o.A)({},n,{},t,{route:e})):a.createElement(e.component,(0,o.A)({},n,t,{route:e}))}})}))):null}},54625:(e,t,n)=>{"use strict";n.d(t,{Kd:()=>d,N_:()=>m,k2:()=>y});var s=n(56347),o=n(42892),a=n(96540),r=n(31513),i=n(58168),c=n(98587),l=n(11561),d=function(e){function t(){for(var t,n=arguments.length,s=new Array(n),o=0;o<n;o++)s[o]=arguments[o];return(t=e.call.apply(e,[this].concat(s))||this).history=(0,r.zR)(t.props),t}return(0,o.A)(t,e),t.prototype.render=function(){return a.createElement(s.Ix,{history:this.history,children:this.props.children})},t}(a.Component);a.Component;var u=function(e,t){return"function"==typeof e?e(t):e},p=function(e,t){return"string"==typeof e?(0,r.yJ)(e,null,null,t):e},f=function(e){return e},b=a.forwardRef;void 0===b&&(b=f);var h=b((function(e,t){var n=e.innerRef,s=e.navigate,o=e.onClick,r=(0,c.A)(e,["innerRef","navigate","onClick"]),l=r.target,d=(0,i.A)({},r,{onClick:function(e){try{o&&o(e)}catch(t){throw e.preventDefault(),t}e.defaultPrevented||0!==e.button||l&&"_self"!==l||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)||(e.preventDefault(),s())}});return d.ref=f!==b&&t||n,a.createElement("a",d)}));var m=b((function(e,t){var n=e.component,o=void 0===n?h:n,d=e.replace,m=e.to,g=e.innerRef,v=(0,c.A)(e,["component","replace","to","innerRef"]);return a.createElement(s.XZ.Consumer,null,(function(e){e||(0,l.A)(!1);var n=e.history,s=p(u(m,e.location),e.location),c=s?n.createHref(s):"",h=(0,i.A)({},v,{href:c,navigate:function(){var t=u(m,e.location),s=(0,r.AO)(e.location)===(0,r.AO)(p(t));(d||s?n.replace:n.push)(t)}});return f!==b?h.ref=t||g:h.innerRef=g,a.createElement(o,h)}))})),g=function(e){return e},v=a.forwardRef;void 0===v&&(v=g);var y=v((function(e,t){var n=e["aria-current"],o=void 0===n?"page":n,r=e.activeClassName,d=void 0===r?"active":r,f=e.activeStyle,b=e.className,h=e.exact,y=e.isActive,k=e.location,x=e.sensitive,w=e.strict,_=e.style,j=e.to,C=e.innerRef,S=(0,c.A)(e,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","sensitive","strict","style","to","innerRef"]);return a.createElement(s.XZ.Consumer,null,(function(e){e||(0,l.A)(!1);var n=k||e.location,r=p(u(j,n),n),c=r.pathname,M=c&&c.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),E=M?(0,s.B6)(n.pathname,{path:M,exact:h,sensitive:x,strict:w}):null,L=!!(y?y(E,n):E),A="function"==typeof b?b(L):b,T="function"==typeof _?_(L):_;L&&(A=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter((function(e){return e})).join(" ")}(A,d),T=(0,i.A)({},T,f));var P=(0,i.A)({"aria-current":L&&o||null,className:A,style:T,to:r},S);return g!==v?P.ref=t||C:P.innerRef=C,a.createElement(m,P)}))}))},56347:(e,t,n)=>{"use strict";n.d(t,{B6:()=>_,Ix:()=>y,W6:()=>P,XZ:()=>v,dO:()=>A,qh:()=>j,zy:()=>R});var s=n(42892),o=n(96540),a=n(5556),r=n.n(a),i=n(31513),c=n(11561),l=n(58168),d=n(35302),u=n.n(d),p=(n(44363),n(98587)),f=(n(4146),1073741823),b="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n.g?n.g:{};var h=o.createContext||function(e,t){var n,a,i="__create-react-context-"+function(){var e="__global_unique_id__";return b[e]=(b[e]||0)+1}()+"__",c=function(e){function n(){for(var t,n,s,o=arguments.length,a=new Array(o),r=0;r<o;r++)a[r]=arguments[r];return(t=e.call.apply(e,[this].concat(a))||this).emitter=(n=t.props.value,s=[],{on:function(e){s.push(e)},off:function(e){s=s.filter((function(t){return t!==e}))},get:function(){return n},set:function(e,t){n=e,s.forEach((function(e){return e(n,t)}))}}),t}(0,s.A)(n,e);var o=n.prototype;return o.getChildContext=function(){var e;return(e={})[i]=this.emitter,e},o.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,s=this.props.value,o=e.value;((a=s)===(r=o)?0!==a||1/a==1/r:a!=a&&r!=r)?n=0:(n="function"==typeof t?t(s,o):f,0!==(n|=0)&&this.emitter.set(e.value,n))}var a,r},o.render=function(){return this.props.children},n}(o.Component);c.childContextTypes=((n={})[i]=r().object.isRequired,n);var l=function(t){function n(){for(var e,n=arguments.length,s=new Array(n),o=0;o<n;o++)s[o]=arguments[o];return(e=t.call.apply(t,[this].concat(s))||this).observedBits=void 0,e.state={value:e.getValue()},e.onUpdate=function(t,n){(0|e.observedBits)&n&&e.setState({value:e.getValue()})},e}(0,s.A)(n,t);var o=n.prototype;return o.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?f:t},o.componentDidMount=function(){this.context[i]&&this.context[i].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?f:e},o.componentWillUnmount=function(){this.context[i]&&this.context[i].off(this.onUpdate)},o.getValue=function(){return this.context[i]?this.context[i].get():e},o.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},n}(o.Component);return l.contextTypes=((a={})[i]=r().object,a),{Provider:c,Consumer:l}},m=function(e){var t=h();return t.displayName=e,t},g=m("Router-History"),v=m("Router"),y=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._pendingLocation=e}))),n}(0,s.A)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){var e=this;this._isMounted=!0,this.unlisten&&this.unlisten(),this.props.staticContext||(this.unlisten=this.props.history.listen((function(t){e._isMounted&&e.setState({location:t})}))),this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&(this.unlisten(),this._isMounted=!1,this._pendingLocation=null)},n.render=function(){return o.createElement(v.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},o.createElement(g.Provider,{children:this.props.children||null,value:this.props.history}))},t}(o.Component);o.Component;o.Component;var k={},x=1e4,w=0;function _(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,s=n.path,o=n.exact,a=void 0!==o&&o,r=n.strict,i=void 0!==r&&r,c=n.sensitive,l=void 0!==c&&c;return[].concat(s).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var s=function(e,t){var n=""+t.end+t.strict+t.sensitive,s=k[n]||(k[n]={});if(s[e])return s[e];var o=[],a={regexp:u()(e,o,t),keys:o};return w<x&&(s[e]=a,w++),a}(n,{end:a,strict:i,sensitive:l}),o=s.regexp,r=s.keys,c=o.exec(e);if(!c)return null;var d=c[0],p=c.slice(1),f=e===d;return a&&!f?null:{path:n,url:"/"===n&&""===d?"/":d,isExact:f,params:r.reduce((function(e,t,n){return e[t.name]=p[n],e}),{})}}),null)}var j=function(e){function t(){return e.apply(this,arguments)||this}return(0,s.A)(t,e),t.prototype.render=function(){var e=this;return o.createElement(v.Consumer,null,(function(t){t||(0,c.A)(!1);var n=e.props.location||t.location,s=e.props.computedMatch?e.props.computedMatch:e.props.path?_(n.pathname,e.props):t.match,a=(0,l.A)({},t,{location:n,match:s}),r=e.props,i=r.children,d=r.component,u=r.render;return Array.isArray(i)&&function(e){return 0===o.Children.count(e)}(i)&&(i=null),o.createElement(v.Provider,{value:a},a.match?i?"function"==typeof i?i(a):i:d?o.createElement(d,a):u?u(a):null:"function"==typeof i?i(a):null)}))},t}(o.Component);function C(e){return"/"===e.charAt(0)?e:"/"+e}function S(e,t){if(!e)return t;var n=C(e);return 0!==t.pathname.indexOf(n)?t:(0,l.A)({},t,{pathname:t.pathname.substr(n.length)})}function M(e){return"string"==typeof e?e:(0,i.AO)(e)}function E(e){return function(){(0,c.A)(!1)}}function L(){}o.Component;var A=function(e){function t(){return e.apply(this,arguments)||this}return(0,s.A)(t,e),t.prototype.render=function(){var e=this;return o.createElement(v.Consumer,null,(function(t){t||(0,c.A)(!1);var n,s,a=e.props.location||t.location;return o.Children.forEach(e.props.children,(function(e){if(null==s&&o.isValidElement(e)){n=e;var r=e.props.path||e.props.from;s=r?_(a.pathname,(0,l.A)({},e.props,{path:r})):t.match}})),s?o.cloneElement(n,{location:a,computedMatch:s}):null}))},t}(o.Component);var T=o.useContext;function P(){return T(g)}function R(){return T(v).location}},21020:(e,t,n)=>{"use strict";var s=n(96540),o=Symbol.for("react.element"),a=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,i=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,c={key:!0,ref:!0,__self:!0,__source:!0};function l(e,t,n){var s,a={},l=null,d=null;for(s in void 0!==n&&(l=""+n),void 0!==t.key&&(l=""+t.key),void 0!==t.ref&&(d=t.ref),t)r.call(t,s)&&!c.hasOwnProperty(s)&&(a[s]=t[s]);if(e&&e.defaultProps)for(s in t=e.defaultProps)void 0===a[s]&&(a[s]=t[s]);return{$$typeof:o,type:e,key:l,ref:d,props:a,_owner:i.current}}t.Fragment=a,t.jsx=l,t.jsxs=l},15287:(e,t)=>{"use strict";var n=Symbol.for("react.element"),s=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),i=Symbol.for("react.provider"),c=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),u=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),f=Symbol.iterator;var b={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h=Object.assign,m={};function g(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||b}function v(){}function y(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||b}g.prototype.isReactComponent={},g.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},g.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},v.prototype=g.prototype;var k=y.prototype=new v;k.constructor=y,h(k,g.prototype),k.isPureReactComponent=!0;var x=Array.isArray,w=Object.prototype.hasOwnProperty,_={current:null},j={key:!0,ref:!0,__self:!0,__source:!0};function C(e,t,s){var o,a={},r=null,i=null;if(null!=t)for(o in void 0!==t.ref&&(i=t.ref),void 0!==t.key&&(r=""+t.key),t)w.call(t,o)&&!j.hasOwnProperty(o)&&(a[o]=t[o]);var c=arguments.length-2;if(1===c)a.children=s;else if(1<c){for(var l=Array(c),d=0;d<c;d++)l[d]=arguments[d+2];a.children=l}if(e&&e.defaultProps)for(o in c=e.defaultProps)void 0===a[o]&&(a[o]=c[o]);return{$$typeof:n,type:e,key:r,ref:i,props:a,_owner:_.current}}function S(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var M=/\/+/g;function E(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function L(e,t,o,a,r){var i=typeof e;"undefined"!==i&&"boolean"!==i||(e=null);var c=!1;if(null===e)c=!0;else switch(i){case"string":case"number":c=!0;break;case"object":switch(e.$$typeof){case n:case s:c=!0}}if(c)return r=r(c=e),e=""===a?"."+E(c,0):a,x(r)?(o="",null!=e&&(o=e.replace(M,"$&/")+"/"),L(r,t,o,"",(function(e){return e}))):null!=r&&(S(r)&&(r=function(e,t){return{$$typeof:n,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(r,o+(!r.key||c&&c.key===r.key?"":(""+r.key).replace(M,"$&/")+"/")+e)),t.push(r)),1;if(c=0,a=""===a?".":a+":",x(e))for(var l=0;l<e.length;l++){var d=a+E(i=e[l],l);c+=L(i,t,o,d,r)}else if(d=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=f&&e[f]||e["@@iterator"])?e:null}(e),"function"==typeof d)for(e=d.call(e),l=0;!(i=e.next()).done;)c+=L(i=i.value,t,o,d=a+E(i,l++),r);else if("object"===i)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return c}function A(e,t,n){if(null==e)return e;var s=[],o=0;return L(e,s,"","",(function(e){return t.call(n,e,o++)})),s}function T(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var P={current:null},R={transition:null},N={ReactCurrentDispatcher:P,ReactCurrentBatchConfig:R,ReactCurrentOwner:_};function Z(){throw Error("act(...) is not supported in production builds of React.")}t.Children={map:A,forEach:function(e,t,n){A(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return A(e,(function(){t++})),t},toArray:function(e){return A(e,(function(e){return e}))||[]},only:function(e){if(!S(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=g,t.Fragment=o,t.Profiler=r,t.PureComponent=y,t.StrictMode=a,t.Suspense=d,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=N,t.act=Z,t.cloneElement=function(e,t,s){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var o=h({},e.props),a=e.key,r=e.ref,i=e._owner;if(null!=t){if(void 0!==t.ref&&(r=t.ref,i=_.current),void 0!==t.key&&(a=""+t.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(l in t)w.call(t,l)&&!j.hasOwnProperty(l)&&(o[l]=void 0===t[l]&&void 0!==c?c[l]:t[l])}var l=arguments.length-2;if(1===l)o.children=s;else if(1<l){c=Array(l);for(var d=0;d<l;d++)c[d]=arguments[d+2];o.children=c}return{$$typeof:n,type:e.type,key:a,ref:r,props:o,_owner:i}},t.createContext=function(e){return(e={$$typeof:c,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:i,_context:e},e.Consumer=e},t.createElement=C,t.createFactory=function(e){var t=C.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:l,render:e}},t.isValidElement=S,t.lazy=function(e){return{$$typeof:p,_payload:{_status:-1,_result:e},_init:T}},t.memo=function(e,t){return{$$typeof:u,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=R.transition;R.transition={};try{e()}finally{R.transition=t}},t.unstable_act=Z,t.useCallback=function(e,t){return P.current.useCallback(e,t)},t.useContext=function(e){return P.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return P.current.useDeferredValue(e)},t.useEffect=function(e,t){return P.current.useEffect(e,t)},t.useId=function(){return P.current.useId()},t.useImperativeHandle=function(e,t,n){return P.current.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return P.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return P.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return P.current.useMemo(e,t)},t.useReducer=function(e,t,n){return P.current.useReducer(e,t,n)},t.useRef=function(e){return P.current.useRef(e)},t.useState=function(e){return P.current.useState(e)},t.useSyncExternalStore=function(e,t,n){return P.current.useSyncExternalStore(e,t,n)},t.useTransition=function(){return P.current.useTransition()},t.version="18.3.1"},96540:(e,t,n)=>{"use strict";e.exports=n(15287)},74848:(e,t,n)=>{"use strict";e.exports=n(21020)},7463:(e,t)=>{"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var s=n-1>>>1,o=e[s];if(!(0<a(o,t)))break e;e[s]=t,e[n]=o,n=s}}function s(e){return 0===e.length?null:e[0]}function o(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var s=0,o=e.length,r=o>>>1;s<r;){var i=2*(s+1)-1,c=e[i],l=i+1,d=e[l];if(0>a(c,n))l<o&&0>a(d,c)?(e[s]=d,e[l]=n,s=l):(e[s]=c,e[i]=n,s=i);else{if(!(l<o&&0>a(d,n)))break e;e[s]=d,e[l]=n,s=l}}}return t}function a(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var r=performance;t.unstable_now=function(){return r.now()}}else{var i=Date,c=i.now();t.unstable_now=function(){return i.now()-c}}var l=[],d=[],u=1,p=null,f=3,b=!1,h=!1,m=!1,g="function"==typeof setTimeout?setTimeout:null,v="function"==typeof clearTimeout?clearTimeout:null,y="undefined"!=typeof setImmediate?setImmediate:null;function k(e){for(var t=s(d);null!==t;){if(null===t.callback)o(d);else{if(!(t.startTime<=e))break;o(d),t.sortIndex=t.expirationTime,n(l,t)}t=s(d)}}function x(e){if(m=!1,k(e),!h)if(null!==s(l))h=!0,R(w);else{var t=s(d);null!==t&&N(x,t.startTime-e)}}function w(e,n){h=!1,m&&(m=!1,v(S),S=-1),b=!0;var a=f;try{for(k(n),p=s(l);null!==p&&(!(p.expirationTime>n)||e&&!L());){var r=p.callback;if("function"==typeof r){p.callback=null,f=p.priorityLevel;var i=r(p.expirationTime<=n);n=t.unstable_now(),"function"==typeof i?p.callback=i:p===s(l)&&o(l),k(n)}else o(l);p=s(l)}if(null!==p)var c=!0;else{var u=s(d);null!==u&&N(x,u.startTime-n),c=!1}return c}finally{p=null,f=a,b=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var _,j=!1,C=null,S=-1,M=5,E=-1;function L(){return!(t.unstable_now()-E<M)}function A(){if(null!==C){var e=t.unstable_now();E=e;var n=!0;try{n=C(!0,e)}finally{n?_():(j=!1,C=null)}}else j=!1}if("function"==typeof y)_=function(){y(A)};else if("undefined"!=typeof MessageChannel){var T=new MessageChannel,P=T.port2;T.port1.onmessage=A,_=function(){P.postMessage(null)}}else _=function(){g(A,0)};function R(e){C=e,j||(j=!0,_())}function N(e,n){S=g((function(){e(t.unstable_now())}),n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){h||b||(h=!0,R(w))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):M=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return f},t.unstable_getFirstCallbackNode=function(){return s(l)},t.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},t.unstable_scheduleCallback=function(e,o,a){var r=t.unstable_now();switch("object"==typeof a&&null!==a?a="number"==typeof(a=a.delay)&&0<a?r+a:r:a=r,e){case 1:var i=-1;break;case 2:i=250;break;case 5:i=1073741823;break;case 4:i=1e4;break;default:i=5e3}return e={id:u++,callback:o,priorityLevel:e,startTime:a,expirationTime:i=a+i,sortIndex:-1},a>r?(e.sortIndex=a,n(d,e),null===s(l)&&e===s(d)&&(m?(v(S),S=-1):m=!0,N(x,a-r))):(e.sortIndex=i,n(l,e),h||b||(h=!0,R(w))),e},t.unstable_shouldYield=L,t.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}},69982:(e,t,n)=>{"use strict";e.exports=n(7463)},2833:e=>{e.exports=function(e,t,n,s){var o=n?n.call(s,e,t):void 0;if(void 0!==o)return!!o;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var a=Object.keys(e),r=Object.keys(t);if(a.length!==r.length)return!1;for(var i=Object.prototype.hasOwnProperty.bind(t),c=0;c<a.length;c++){var l=a[c];if(!i(l))return!1;var d=e[l],u=t[l];if(!1===(o=n?n.call(s,d,u,l):void 0)||void 0===o&&d!==u)return!1}return!0}},4784:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>s});const s={title:"Eightshift Development kit",tagline:"All the tools you need to start building a modern WordPress project, using all the latest front end development tools.",url:"https://eightshift.com",baseUrl:"/",favicon:"/img/favicon.png",organizationName:"infinum",projectName:"eightshift-docs",staticDirectories:["static"],scripts:[{src:"https://buttons.github.io/buttons.js",async:!0,defer:!0}],themeConfig:{navbar:{logo:{alt:"Eightshift DevKit Logo",src:"/img/logo.svg"},items:[{to:"docs/welcome",activeBasePath:"docs",label:"DevKit",position:"right"},{to:"forms/welcome",activeBasePath:"forms",label:"Forms",position:"right"},{to:"/devkit-components/",activeBasePath:"devkit-components",label:"Components",position:"right"},{to:"/playground/",activeBasePath:"playground",label:"Playground",position:"right"},{to:"/blog",activeBasePath:"blog",label:"Blog",position:"right"},{to:"/showcase",activeBasePath:"showcase",label:"Showcase",position:"right"}],hideOnScroll:!1},footer:{links:[{title:"Community",items:[{label:"Facebook",href:"https://facebook.com/infinumcom",icon:"facebook"},{label:"Instagram",href:"https://instagram.com/infinumcom/",icon:"instagram"},{label:"Twitter",href:"https://twitter.com/infinum",icon:"twitter"},{label:"Clutch",href:"https://clutch.co/profile/infinum",icon:"clutch"},{label:"Dribbble",href:"https://dribbble.com/infinum",icon:"dribbble"},{label:"LinkedIn",href:"https://linkedin.com/company/infinum/",icon:"linkedin"}]}],copyright:"Made with \u2764\ufe0f by Infinum team.",style:"light"},algolia:{appId:"CWB1S6U3C4",apiKey:"cbae3fc769aee256328548eff1e91c1c",indexName:"infinum_eightshift",startUrls:["https://eightshift.com","https://eightshift.com/docs","https://eightshift.com/forms"],contextualSearch:!1,searchParameters:{},searchPagePath:"search"},prism:{theme:{plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},additionalLanguages:["php","scss","css"],magicComments:[{className:"theme-code-block-highlighted-line",line:"highlight-next-line",block:{start:"highlight-start",end:"highlight-end"}}]},colorMode:{defaultMode:"light",disableSwitch:!0,respectPrefersColorScheme:!1},docs:{sidebar:{autoCollapseCategories:!0,hideable:!1},versionPersistence:"localStorage"},trailingSlash:!1,metadata:[],tableOfContents:{minHeadingLevel:2,maxHeadingLevel:3}},presets:[["@docusaurus/preset-classic",{docs:{sidebarPath:"/home/runner/work/eightshift-docs/eightshift-docs/website/sidebars.js",sidebarCollapsible:!0},gtag:{trackingID:"GTM-P5GG5DH",anonymizeIP:!0},theme:{customCss:["/home/runner/work/eightshift-docs/eightshift-docs/website/src/theme/styles.css","/home/runner/work/eightshift-docs/eightshift-docs/website/node_modules/@infinum/docusaurus-theme/dist/style.css"]},blog:{blogTitle:"Tutorials and articles about Eightshift development kit",blogDescription:"Tutorials and articles about Eightshift development kit",blogSidebarTitle:"Latest posts",showReadingTime:!0,postsPerPage:9},sitemap:{changefreq:"weekly",priority:.5}}]],plugins:[["@docusaurus/plugin-content-docs",{id:"forms",path:"forms",routeBasePath:"forms",sidebarPath:"/home/runner/work/eightshift-docs/eightshift-docs/website/sidebars-forms.js"}],"es-text-loader"],customFields:{keywords:["wordpress tools","development tools","wordpress project","Gutenberg blocks","development kit","wordpress kit","devkit"],image:"img-why-boilerplate@2x.png"},baseUrlIssueBanner:!0,i18n:{defaultLocale:"en",path:"i18n",locales:["en"],localeConfigs:{}},onBrokenLinks:"throw",onBrokenAnchors:"warn",onBrokenMarkdownLinks:"warn",onDuplicateRoutes:"warn",themes:[],headTags:[],stylesheets:[],clientModules:[],titleDelimiter:"|",noIndex:!1,markdown:{format:"mdx",mermaid:!1,mdx1Compat:{comments:!0,admonitions:!0,headingIds:!0},anchors:{maintainCase:!1}}}},58168:(e,t,n)=>{"use strict";function s(){return s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e},s.apply(this,arguments)}n.d(t,{A:()=>s})},42892:(e,t,n)=>{"use strict";function s(e,t){return s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},s(e,t)}function o(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,s(e,t)}n.d(t,{A:()=>o})},98587:(e,t,n)=>{"use strict";function s(e,t){if(null==e)return{};var n={};for(var s in e)if(Object.prototype.hasOwnProperty.call(e,s)){if(t.indexOf(s)>=0)continue;n[s]=e[s]}return n}n.d(t,{A:()=>s})},25552:(e,t,n)=>{"use strict";n.d(t,{MJ:()=>m,Pt:()=>d,V:()=>b,VX:()=>_,am:()=>v,eH:()=>S,eO:()=>j,lq:()=>w,u5:()=>g,uJ:()=>u,v7:()=>C,wi:()=>x});var s,o=n(96540),a={exports:{}},r={};var i,c={};a.exports="production"==={}.NODE_ENV?function(){if(s)return r;s=1;var e=o,t=Symbol.for("react.element"),n=Symbol.for("react.fragment"),a=Object.prototype.hasOwnProperty,i=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,c={key:!0,ref:!0,__self:!0,__source:!0};function l(e,n,s){var o,r={},l=null,d=null;for(o in void 0!==s&&(l=""+s),void 0!==n.key&&(l=""+n.key),void 0!==n.ref&&(d=n.ref),n)a.call(n,o)&&!c.hasOwnProperty(o)&&(r[o]=n[o]);if(e&&e.defaultProps)for(o in n=e.defaultProps)void 0===r[o]&&(r[o]=n[o]);return{$$typeof:t,type:e,key:l,ref:d,props:r,_owner:i.current}}return r.Fragment=n,r.jsx=l,r.jsxs=l,r}():(i||(i=1,"production"!=={}.NODE_ENV&&function(){var e=o,t=Symbol.for("react.element"),n=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),i=Symbol.for("react.provider"),l=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),p=Symbol.for("react.suspense_list"),f=Symbol.for("react.memo"),b=Symbol.for("react.lazy"),h=Symbol.for("react.offscreen"),m=Symbol.iterator,g="@@iterator",v=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function y(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),s=1;s<t;s++)n[s-1]=arguments[s];!function(e,t,n){var s=v.ReactDebugCurrentFrame,o=s.getStackAddendum();""!==o&&(t+="%s",n=n.concat([o]));var a=n.map((function(e){return String(e)}));a.unshift("Warning: "+t),Function.prototype.apply.call(console[e],console,a)}("error",e,n)}var k,x=!1,w=!1,_=!1,j=!1,C=!1;function S(e){return e.displayName||"Context"}function M(e){if(null==e)return null;if("number"==typeof e.tag&&y("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),"function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case s:return"Fragment";case n:return"Portal";case r:return"Profiler";case a:return"StrictMode";case u:return"Suspense";case p:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case l:return S(e)+".Consumer";case i:return S(e._context)+".Provider";case d:return function(e,t,n){var s=e.displayName;if(s)return s;var o=t.displayName||t.name||"";return""!==o?n+"("+o+")":n}(e,e.render,"ForwardRef");case f:var t=e.displayName||null;return null!==t?t:M(e.type)||"Memo";case b:var o=e,c=o._payload,h=o._init;try{return M(h(c))}catch{return null}}return null}k=Symbol.for("react.module.reference");var E,L,A,T,P,R,N,Z=Object.assign,O=0;function D(){}D.__reactDisabledLog=!0;var B,I=v.ReactCurrentDispatcher;function F(e,t,n){if(void 0===B)try{throw Error()}catch(o){var s=o.stack.trim().match(/\n( *(at )?)/);B=s&&s[1]||""}return"\n"+B+e}var z,W=!1,$="function"==typeof WeakMap?WeakMap:Map;function H(e,t){if(!e||W)return"";var n,s=z.get(e);if(void 0!==s)return s;W=!0;var o,a=Error.prepareStackTrace;Error.prepareStackTrace=void 0,o=I.current,I.current=null,function(){if(0===O){E=console.log,L=console.info,A=console.warn,T=console.error,P=console.group,R=console.groupCollapsed,N=console.groupEnd;var e={configurable:!0,enumerable:!0,value:D,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}O++}();try{if(t){var r=function(){throw Error()};if(Object.defineProperty(r.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(r,[])}catch(b){n=b}Reflect.construct(e,[],r)}else{try{r.call()}catch(b){n=b}e.call(r.prototype)}}else{try{throw Error()}catch(b){n=b}e()}}catch(b){if(b&&n&&"string"==typeof b.stack){for(var i=b.stack.split("\n"),c=n.stack.split("\n"),l=i.length-1,d=c.length-1;l>=1&&d>=0&&i[l]!==c[d];)d--;for(;l>=1&&d>=0;l--,d--)if(i[l]!==c[d]){if(1!==l||1!==d)do{if(l--,--d<0||i[l]!==c[d]){var u="\n"+i[l].replace(" at new "," at ");return e.displayName&&u.includes("<anonymous>")&&(u=u.replace("<anonymous>",e.displayName)),"function"==typeof e&&z.set(e,u),u}}while(l>=1&&d>=0);break}}}finally{W=!1,I.current=o,function(){if(0==--O){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:Z({},e,{value:E}),info:Z({},e,{value:L}),warn:Z({},e,{value:A}),error:Z({},e,{value:T}),group:Z({},e,{value:P}),groupCollapsed:Z({},e,{value:R}),groupEnd:Z({},e,{value:N})})}O<0&&y("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}(),Error.prepareStackTrace=a}var p=e?e.displayName||e.name:"",f=p?F(p):"";return"function"==typeof e&&z.set(e,f),f}function V(e,t,n){if(null==e)return"";if("function"==typeof e)return H(e,function(e){var t=e.prototype;return!(!t||!t.isReactComponent)}(e));if("string"==typeof e)return F(e);switch(e){case u:return F("Suspense");case p:return F("SuspenseList")}if("object"==typeof e)switch(e.$$typeof){case d:return function(e,t,n){return H(e,!1)}(e.render);case f:return V(e.type,t,n);case b:var s=e,o=s._payload,a=s._init;try{return V(a(o),t,n)}catch{}}return""}z=new $;var U=Object.prototype.hasOwnProperty,q={},G=v.ReactDebugCurrentFrame;function K(e){if(e){var t=e._owner,n=V(e.type,e._source,t?t.type:null);G.setExtraStackFrame(n)}else G.setExtraStackFrame(null)}var Y=Array.isArray;function Q(e){return Y(e)}function X(e){return""+e}function J(e){if(function(e){try{return X(e),!1}catch{return!0}}(e))return y("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",function(e){return"function"==typeof Symbol&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object"}(e)),X(e)}var ee,te,ne,se=v.ReactCurrentOwner,oe={key:!0,ref:!0,__self:!0,__source:!0};ne={};var ae=function(e,n,s,o,a,r,i){var c={$$typeof:t,type:e,key:n,ref:s,props:i,_owner:r,_store:{}};return Object.defineProperty(c._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(c,"_self",{configurable:!1,enumerable:!1,writable:!1,value:o}),Object.defineProperty(c,"_source",{configurable:!1,enumerable:!1,writable:!1,value:a}),Object.freeze&&(Object.freeze(c.props),Object.freeze(c)),c};function re(e,t,n,s,o){var a,r={},i=null,c=null;for(a in void 0!==n&&(J(n),i=""+n),function(e){if(U.call(e,"key")){var t=Object.getOwnPropertyDescriptor(e,"key").get;if(t&&t.isReactWarning)return!1}return void 0!==e.key}(t)&&(J(t.key),i=""+t.key),function(e){if(U.call(e,"ref")){var t=Object.getOwnPropertyDescriptor(e,"ref").get;if(t&&t.isReactWarning)return!1}return void 0!==e.ref}(t)&&(c=t.ref,function(e,t){if("string"==typeof e.ref&&se.current&&t&&se.current.stateNode!==t){var n=M(se.current.type);ne[n]||(y('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',M(se.current.type),e.ref),ne[n]=!0)}}(t,o)),t)U.call(t,a)&&!oe.hasOwnProperty(a)&&(r[a]=t[a]);if(e&&e.defaultProps){var l=e.defaultProps;for(a in l)void 0===r[a]&&(r[a]=l[a])}if(i||c){var d="function"==typeof e?e.displayName||e.name||"Unknown":e;i&&function(e,t){var n=function(){ee||(ee=!0,y("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",t))};n.isReactWarning=!0,Object.defineProperty(e,"key",{get:n,configurable:!0})}(r,d),c&&function(e,t){var n=function(){te||(te=!0,y("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",t))};n.isReactWarning=!0,Object.defineProperty(e,"ref",{get:n,configurable:!0})}(r,d)}return ae(e,i,c,o,s,se.current,r)}var ie,ce=v.ReactCurrentOwner,le=v.ReactDebugCurrentFrame;function de(e){if(e){var t=e._owner,n=V(e.type,e._source,t?t.type:null);le.setExtraStackFrame(n)}else le.setExtraStackFrame(null)}function ue(e){return"object"==typeof e&&null!==e&&e.$$typeof===t}function pe(){if(ce.current){var e=M(ce.current.type);if(e)return"\n\nCheck the render method of `"+e+"`."}return""}ie=!1;var fe={};function be(e,t){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var n=function(e){var t=pe();if(!t){var n="string"==typeof e?e:e.displayName||e.name;n&&(t="\n\nCheck the top-level render call using <"+n+">.")}return t}(t);if(!fe[n]){fe[n]=!0;var s="";e&&e._owner&&e._owner!==ce.current&&(s=" It was passed a child from "+M(e._owner.type)+"."),de(e),y('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',n,s),de(null)}}}function he(e,t){if("object"==typeof e)if(Q(e))for(var n=0;n<e.length;n++){var s=e[n];ue(s)&&be(s,t)}else if(ue(e))e._store&&(e._store.validated=!0);else if(e){var o=function(e){if(null===e||"object"!=typeof e)return null;var t=m&&e[m]||e[g];return"function"==typeof t?t:null}(e);if("function"==typeof o&&o!==e.entries)for(var a,r=o.call(e);!(a=r.next()).done;)ue(a.value)&&be(a.value,t)}}function me(e){var t,n=e.type;if(null!=n&&"string"!=typeof n){if("function"==typeof n)t=n.propTypes;else{if("object"!=typeof n||n.$$typeof!==d&&n.$$typeof!==f)return;t=n.propTypes}if(t){var s=M(n);!function(e,t,n,s,o){var a=Function.call.bind(U);for(var r in e)if(a(e,r)){var i=void 0;try{if("function"!=typeof e[r]){var c=Error((s||"React class")+": "+n+" type `"+r+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[r]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw c.name="Invariant Violation",c}i=e[r](t,r,s,n,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(l){i=l}i&&!(i instanceof Error)&&(K(o),y("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",s||"React class",n,r,typeof i),K(null)),i instanceof Error&&!(i.message in q)&&(q[i.message]=!0,K(o),y("Failed %s type: %s",n,i.message),K(null))}}(t,e.props,"prop",s,e)}else void 0===n.PropTypes||ie||(ie=!0,y("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",M(n)||"Unknown"));"function"==typeof n.getDefaultProps&&!n.getDefaultProps.isReactClassApproved&&y("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function ge(e,n,o,c,m,g){var v=function(e){return!!("string"==typeof e||"function"==typeof e||e===s||e===r||C||e===a||e===u||e===p||j||e===h||x||w||_||"object"==typeof e&&null!==e&&(e.$$typeof===b||e.$$typeof===f||e.$$typeof===i||e.$$typeof===l||e.$$typeof===d||e.$$typeof===k||void 0!==e.getModuleId))}(e);if(!v){var S="";(void 0===e||"object"==typeof e&&null!==e&&0===Object.keys(e).length)&&(S+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var E,L=function(e){return void 0!==e?"\n\nCheck your code at "+e.fileName.replace(/^.*[\\\/]/,"")+":"+e.lineNumber+".":""}(m);S+=L||pe(),null===e?E="null":Q(e)?E="array":void 0!==e&&e.$$typeof===t?(E="<"+(M(e.type)||"Unknown")+" />",S=" Did you accidentally export a JSX literal instead of a component?"):E=typeof e,y("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",E,S)}var A=re(e,n,o,m,g);if(null==A)return A;if(v){var T=n.children;if(void 0!==T)if(c)if(Q(T)){for(var P=0;P<T.length;P++)he(T[P],e);Object.freeze&&Object.freeze(T)}else y("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else he(T,e)}return e===s?function(e){for(var t=Object.keys(e.props),n=0;n<t.length;n++){var s=t[n];if("children"!==s&&"key"!==s){de(e),y("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",s),de(null);break}}null!==e.ref&&(de(e),y("Invalid attribute `ref` supplied to `React.Fragment`."),de(null))}(A):me(A),A}var ve=function(e,t,n){return ge(e,t,n,!1)},ye=function(e,t,n){return ge(e,t,n,!0)};c.Fragment=s,c.jsx=ve,c.jsxs=ye}()),c);var l=a.exports;const d={accessibility:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M11 18h10.024M37 18H21.024m0 0v8.8m0 13.2V26.8m5.952-8.8v8.8m0 13.2V26.8m-5.952 0h5.952",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("circle",{cx:"23.9999",cy:"11",r:"3",stroke:"currentColor",strokeWidth:"2",fill:"none"})]}),android1:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M30 30a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm-12 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z",fill:"currentColor"}),l.jsx("path",{d:"M11 32v-2.859c0-7.185 5.77-13.116 12.954-13.14A12.999 12.999 0 0 1 37 29v4H11v-1Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"m11 14 4.884 4.884M37 14l-4.862 4.862",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"round",fill:"none"})]}),android2:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M29 21h4.7c.5 0 .9.4 1 .8l1 5.9c.2 1.2-.8 2.3-2 2.3H33c-.6 0-1-.4-1-1v-1 5c0 .6-.4 1-1 1h-1v5h-4v-5h-2",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M29 21H14.3c-.5 0-.9.4-1 .8l-1 5.9c-.2 1.2.8 2.3 2 2.3h.7c.6 0 1-.4 1-1v-1 5c0 .6.4 1 1 1h1v5h4v-5h2",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M20.5 18a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm7 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z",fill:"currentColor"}),l.jsx("path",{d:"M29.9 12.6 33 9m-15 3.6L14.9 9",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M16.6 21.1c-.4-1-.6-2-.6-3.1 0-4.4 3.6-8 8-8s8 3.6 8 8c0 1.1-.2 2.1-.6 3",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),angular:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"m24 11-12 5 2 16 10 6 10-6 2-16-12-5Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M23.995 16.277 17.9 29.923h2.274l1.183-3.093h5.186l1.183 3.093H30l-6.005-13.646Zm1.82 8.733h-3.548l1.82-4.275 1.728 4.276Z",fill:"currentColor"})]}),appleIos:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",d:"M24 18.2c1 0 3-1.5 5.4-1.5 4.1 0 5.5 3.7 5.5 3.7s-4.4 1.5-4.4 5.5c0 4.4 4.4 5.3 4.4 5.3s-3.1 11.2-11 6.7c-7.8 4.6-12-6.2-12-12.2 0-5.8 3.6-8.9 7.1-8.9 2.3 0 3.9 1.4 5 1.4Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M23.6 13C28 14 31 12 31 8",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),babyBonus:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 39c8.284 0 15-6.716 15-15 0-8.284-6.716-15-15-15-8.284 0-15 6.716-15 15 0 8.284 6.716 15 15 15Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M27.563 29.938a4.489 4.489 0 0 1-1.506 1.738 3.7 3.7 0 0 1-2.057.637c-.722 0-1.431-.22-2.056-.637a4.49 4.49 0 0 1-1.506-1.738",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M17.656 26.375a1.781 1.781 0 1 0 0-3.563 1.781 1.781 0 0 0 0 3.563Zm12.688 0a1.781 1.781 0 1 0 0-3.562 1.781 1.781 0 0 0 0 3.562Z",fill:"currentColor"}),l.jsx("path",{d:"M20.293 13.633c1.236-2.173-.567-4.464-3.354-2.598-1.858 1.244-3.535-.055-3.228-1.606",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",strokeLinejoin:"round",fill:"none"})]}),bag:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M12 35h24l1.993-16.89a.925.925 0 0 0-.045-.415.983.983 0 0 0-.225-.362 1.087 1.087 0 0 0-.366-.246 1.168 1.168 0 0 0-.444-.087H11.087c-.153 0-.304.03-.444.087-.14.058-.264.141-.366.246a.983.983 0 0 0-.225.362.925.925 0 0 0-.045.415L12 35Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M19 16.313a5.312 5.312 0 1 1 10.625 0",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})]}),book1:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M25 35v-1.852c0-1.019.9-1.852 2-1.852h6v-18.52l-3.5-1.483c-2.6-1.018-5.5.741-5.5 3.334M23 35v-1.76c0-1.018-.9-1.852-2-1.852h-6V12.776l3.5-1.482c2.6-1.018 5.5.741 5.5 3.334",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M33 16h4v19H24m-9-19h-4v19h13m0-21v2",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),book:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M30.375 10.25V23l-4.25-3.188L21.874 23V10.25",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M12 35a1 1 0 1 0 2 0h-2Zm4.3-3.26v-1 1Zm18.7 0v1h1v-1h-1ZM35 10h1V9h-1v1ZM14 35c0-.596.24-1.17.67-1.594l-1.406-1.423A4.241 4.241 0 0 0 12 35h2Zm.67-1.594a2.32 2.32 0 0 1 1.63-.667v-2a4.32 4.32 0 0 0-3.036 1.244l1.405 1.423Zm1.63-.667H35v-2H16.3v2Zm19.7-1V10h-2v21.74h2ZM35 9H16.3v2H35V9ZM16.3 9a4.32 4.32 0 0 0-3.036 1.244l1.405 1.422A2.32 2.32 0 0 1 16.3 11V9Zm-3.036 1.244A4.241 4.241 0 0 0 12 13.26h2c0-.596.24-1.17.67-1.595l-1.406-1.422ZM12 13.26V35h2V13.26h-2Z",fill:"currentColor"}),l.jsx("path",{d:"M13 36v1h20",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",strokeLinejoin:"round",fill:"none"})]}),book2:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M29 11v12l-4-3-4 3V11",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M13 36c0-.796.348-1.559.967-2.121A3.475 3.475 0 0 1 16.3 33H35V11H16.3c-.875 0-1.714.316-2.333.879C13.348 12.44 13 13.204 13 14v22Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M13 36v1h18",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",fill:"none"})]}),car:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M8 23h32",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M37 32v3.75c0 .331-.105.65-.293.884-.187.234-.442.366-.707.366h-3c-.265 0-.52-.132-.707-.366A1.424 1.424 0 0 1 32 35.75V32m-16 0v3.75c0 .331-.105.65-.293.884-.187.234-.442.366-.707.366h-3c-.265 0-.52-.132-.707-.366A1.424 1.424 0 0 1 11 35.75V32m4-4.625h2.25m13.5 0H33",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m37 23.059-4.047-9.395a1.11 1.11 0 0 0-.4-.483 1.06 1.06 0 0 0-.59-.181H16.037c-.21 0-.414.063-.59.18a1.11 1.11 0 0 0-.4.484L11 23.059V32h26v-8.941Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})]}),chartAnalytics2:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 23V10.5M35.5 17 12.309 30.75",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"M10.725 26.468a13.521 13.521 0 0 1 8.775-15.2v10.134l-8.775 5.066Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M24 10.5a13.5 13.5 0 1 1-11.641 20.34",stroke:"currentColor",strokeWidth:"2",fill:"none"})]}),chartAnaytics1:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M14 35V25h6",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M39 34.991 10 35",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M21 35V18h6m8-7h-7v24h7V11Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"})]}),chartBizdev:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"m11 31 10.4-9.1 2.6 2.6L35 14",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M36 35H11V12",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M29 14h6v6",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),cloudDevops2:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M32 20c3.9.3 7 3.5 7 7.5 0 4.1-3.4 7.5-7.5 7.5h-14",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M24 27.5c0 4.1-3.4 7.5-7.5 7.5S9 31.6 9 27.5c0-4 3.1-7.2 7-7.5 0-4.4 3.6-8 8-8s8 3.6 8 8c0 2-.8 3.9-2 5.3",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),cloudDevops:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M22 35h-5.302a7.465 7.465 0 0 1-3.168-.711 7.732 7.732 0 0 1-2.607-2.001A8.087 8.087 0 0 1 9.34 29.35a8.292 8.292 0 0 1-.28-3.353 8.202 8.202 0 0 1 1.074-3.176 7.881 7.881 0 0 1 2.236-2.436 7.55 7.55 0 0 1 3.004-1.266 7.43 7.43 0 0 1 3.239.13",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("path",{d:"M17 24.25c0-1.783.415-3.54 1.209-5.127a11.185 11.185 0 0 1 3.36-4 10.866 10.866 0 0 1 4.773-1.994 10.767 10.767 0 0 1 5.137.448 10.968 10.968 0 0 1 4.373 2.794 11.304 11.304 0 0 1 2.648 4.525c.52 1.701.636 3.505.34 5.261A11.382 11.382 0 0 1 36.8 31",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("path",{d:"M24 28.773 29 24l5 4.773M29 38V24",stroke:"currentColor",strokeWidth:"2",fill:"none"})]}),contentCreator:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M18.581 37H11v-7.581a1.152 1.152 0 0 1 .337-.814l17.268-17.268a1.151 1.151 0 0 1 1.628 0l6.43 6.43a1.151 1.151 0 0 1 0 1.628L19.395 36.663a1.153 1.153 0 0 1-.814.337Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M25.125 15 33 22.875",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m28.5 33 5.625-5.625-1.125-4.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m11.697 28.572 7.732 7.732",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})]}),cycle:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M35.25 17.25A2.25 2.25 0 0 0 33 15h-5.625l7.875 13.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M35.25 34.125a5.625 5.625 0 1 0 0-11.25 5.625 5.625 0 0 0 0 11.25Zm-22.5 0a5.625 5.625 0 1 0 0-11.25 5.625 5.625 0 0 0 0 11.25Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M12.75 15h3.938l7.875 13.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M29.919 19.5H19.312l-6.562 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})]}),dataAnalyst:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M23 35c6.627 0 12-5.373 12-12s-5.373-12-12-12-12 5.373-12 12 5.373 12 12 12Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"m38 38-6-6m-20-4 7.2-7 3.9 4.1 5.1-6.2",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M19 23a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm4 4a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm5-6a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z",fill:"currentColor"})]}),designerPenTool:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 27v11.938M24 27a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M17 16V9h14v7",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("path",{d:"m16.685 16-3.577 7.244a1.046 1.046 0 0 0 .095 1.083L24 39l10.797-14.673a1.046 1.046 0 0 0 .095-1.083L31.315 16h-14.63Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"})]}),devProcess1:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M8.208 23.057a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM22.086 14a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm4.957 19.97a3 3 0 1 1 6 0 3 3 0 0 1-6 0ZM34 23.057a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Zm-18.16 0h.75c.596 0 1.169-.232 1.59-.645.422-.412.66-.972.66-1.555v-4.6c0-.584.237-1.143.659-1.556a2.276 2.276 0 0 1 1.59-.644h.75m-1.362 9h.75c.597 0 1.17.232 1.591.644.422.413.66.972.66 1.556v6.6c0 .583.237 1.143.659 1.555.421.413.994.645 1.59.645h.75",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M34.826 23.057h-20",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"round",fill:"none"})]}),devProcess2:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M39 35H7v-2h32v2Z",fill:"currentColor"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M37.213 30 41 34l-3.787 4L36 36.718 38.574 34 36 31.282 37.213 30Z",fill:"currentColor"}),l.jsx("path",{clipRule:"evenodd",d:"M26.043 27.253a6.35 6.35 0 0 0 .688-.34c.23-.131.442-.275.635-.432l1.948.795a.405.405 0 0 0 .483-.164l1.577-2.716a.399.399 0 0 0-.085-.505l-1.652-1.304a5.775 5.775 0 0 0 .005-1.53l1.658-1.293a.393.393 0 0 0 .094-.506l-1.56-2.725a.382.382 0 0 0-.481-.166l-1.95.78a5.91 5.91 0 0 0-1.323-.768l-.29-2.086a.388.388 0 0 0-.392-.33l-3.14-.009a.38.38 0 0 0-.384.335l-.3 2.084a4.966 4.966 0 0 0-.698.322 4.856 4.856 0 0 0-.634.432l-1.949-.795a.405.405 0 0 0-.482.164l-1.577 2.716a.398.398 0 0 0 .085.505l1.652 1.304a5.753 5.753 0 0 0-.005 1.53l-1.658 1.293a.4.4 0 0 0-.095.506l1.562 2.725c.097.171.3.247.48.167l1.95-.78c.41.319.859.57 1.324.767l.29 2.086c.028.188.19.332.392.33l3.138.009a.38.38 0 0 0 .385-.335l.31-2.066Z",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{clipRule:"evenodd",d:"M22.184 22.731a2.008 2.008 0 0 1 .741-2.733 2.008 2.008 0 0 1 2.733.741 2.008 2.008 0 0 1-.74 2.733 2.008 2.008 0 0 1-2.734-.74Z",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M13 22c0-6.075 4.925-11 11-11s11 4.925 11 11-4.925 11-11 11h-6.931c2.006 1.267 4.383 2 6.931 2 7.18 0 13-5.82 13-13S31.18 9 24 9s-13 5.82-13 13c0 3.493 1.378 6.664 3.62 9h3.054A10.987 10.987 0 0 1 13 22Z",fill:"currentColor"})]}),discount:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 49 48",width:"49",height:"48",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M15.628 21.718a5.62 5.62 0 1 0 0-11.238 5.62 5.62 0 0 0 0 11.238Zm0-2.094a3.525 3.525 0 1 0 0-7.05 3.525 3.525 0 0 0 0 7.05Z",fill:"currentColor"}),l.jsx("path",{d:"m12.953 36.712 19.66-26.547 1.684 1.247-19.661 26.547-1.683-1.247Z",fill:"currentColor"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M37.834 31.292a5.62 5.62 0 1 1-11.239 0 5.62 5.62 0 0 1 11.239 0Zm-2.095 0a3.525 3.525 0 1 1-7.05 0 3.525 3.525 0 0 1 7.05 0Z",fill:"currentColor"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"m32.51 9.466 2.486 1.842-20.256 27.35-2.487-1.841L32.51 9.467Zm.208 1.399L13.652 36.608l.88.652 19.065-25.744-.88-.651Zm-17.09.114a5.12 5.12 0 1 0 0 10.24 5.12 5.12 0 0 0 0-10.24Zm-6.12 5.12a6.12 6.12 0 1 1 12.24 0 6.12 6.12 0 0 1-12.24 0Zm6.12-3.025a3.025 3.025 0 1 0 0 6.05 3.025 3.025 0 0 0 0-6.05Zm-4.025 3.025a4.025 4.025 0 1 1 8.05 0 4.025 4.025 0 0 1-8.05 0Zm14.492 15.193a6.12 6.12 0 1 1 12.239 0 6.12 6.12 0 0 1-12.24 0Zm6.12-5.119a5.12 5.12 0 1 0 0 10.239 5.12 5.12 0 0 0 0-10.239Zm-4.026 5.12a4.025 4.025 0 1 1 8.05 0 4.025 4.025 0 0 1-8.05 0Zm4.025-3.026a3.025 3.025 0 1 0 0 6.05 3.025 3.025 0 0 0 0-6.05Z",fill:"currentColor"})]}),display:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 49 48",width:"49",height:"48",fill:"none",children:l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M36.958 11.377H11.542a2.158 2.158 0 0 0-2.159 2.159v16.077a2.16 2.16 0 0 0 2.159 2.159h25.416a2.158 2.158 0 0 0 2.159-2.159V13.536a2.158 2.158 0 0 0-2.159-2.159ZM11.542 9.22a4.317 4.317 0 0 0-4.317 4.317v16.077a4.316 4.316 0 0 0 4.317 4.317h12.1v2.693h-7.15v2.158h16.46v-2.158h-7.15V33.93h11.156a4.317 4.317 0 0 0 4.317-4.317V13.536a4.317 4.317 0 0 0-4.317-4.317H11.542Z",fill:"currentColor"})}),dotNet:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M11.5 38a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z",fill:"currentColor"}),l.jsx("path",{d:"M30 22 20 11h-3v25c0 .6.4 1 1 1h4m8-26h4c.6 0 1 .4 1 1v25h-4.2L22 26",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),extra:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 49 48",width:"49",height:"48",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M13.59 11.806c0-1.716 1.382-3.131 3.106-3.131h16.108c1.724 0 3.106 1.415 3.106 3.13v24.427c0 1.696-1.363 3.093-3.069 3.093H16.66c-1.706 0-3.069-1.397-3.069-3.093V11.806Zm3.106-1.268c-.674 0-1.242.56-1.242 1.268v24.426c0 .688.55 1.23 1.205 1.23H32.84c.655 0 1.205-.542 1.205-1.23V11.806c0-.707-.568-1.268-1.242-1.268H16.696Z",fill:"currentColor"}),l.jsx("path",{d:"M24.75 35.56a1.404 1.404 0 1 0 0-2.807 1.404 1.404 0 0 0 0 2.808Z",fill:"currentColor"})]}),featureIdeasAndContentBlocks:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:l.jsx("path",{stroke:"currentColor",strokeWidth:"2",d:"M30 12h6v6h-6zM11 22h7v14h-7zm11 0h14v14H22zM11 12h15v6H11z",fill:"none"})}),financeAssistantCalculator:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M31 15H17v7h14v-7Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M35 37V11H13v26h22Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M18.375 28.5a1.687 1.687 0 1 0 0-3.375 1.687 1.687 0 0 0 0 3.375Zm5.625 0a1.687 1.687 0 1 0 0-3.375 1.687 1.687 0 0 0 0 3.375Zm5.625 0a1.687 1.687 0 1 0 0-3.375 1.687 1.687 0 0 0 0 3.375Zm-11.25 5.625a1.687 1.687 0 1 0 0-3.375 1.687 1.687 0 0 0 0 3.375Zm5.625 0a1.687 1.687 0 1 0 0-3.375 1.687 1.687 0 0 0 0 3.375Zm5.625 0a1.687 1.687 0 1 0 0-3.375 1.687 1.687 0 0 0 0 3.375Z",fill:"currentColor"})]}),flutter:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M14.784 27 11 23.02 23.378 10H31L14.784 27ZM22 33.984 25.02 37H33l-7.01-7",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M21.992 25.98 18 29.99 21.992 34 33 23h-8.042l-2.966 2.98Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"m22.472 34.42 5.622-2.385-1.931-1.931-3.691 4.316Z",fill:"currentColor"})]}),frontendDevelopment:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M15 18a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z",fill:"currentColor"}),l.jsx("path",{d:"m28 22 4.621 4.621L28 31.243M23 22l-4.5 4.5L23 31",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M35.917 13H11v22h26V13h-1.083Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"})]}),frontendDevelopment2:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M35.917 13H11v22h26V13h-1.083Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M23 23h-8v8h8v-8Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M15 18a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z",fill:"currentColor"}),l.jsx("path",{d:"M26 23h8m-8 4h4",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),githubFork:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M16 37a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm17-18a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm-17 0a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm0 10v-1.125c0-.895.358-1.753.996-2.386A3.413 3.413 0 0 1 19.4 24.5h10.2c.902 0 1.767-.356 2.404-.989A3.362 3.362 0 0 0 33 21.125V20",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M16 19v10",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"round",fill:"none"})]}),globe:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 39c8.284 0 15-6.716 15-15 0-8.284-6.716-15-15-15-8.284 0-15 6.716-15 15 0 8.284 6.716 15 15 15Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m37.463 30.62-8.482-5.216a1.25 1.25 0 0 0-.488-.174l-3.565-.48a1.25 1.25 0 0 0-1.309.729l-2.14 4.803a1.25 1.25 0 0 0 .223 1.357l2.938 3.178a1.249 1.249 0 0 1 .31 1.086l-.599 3.093",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m14.149 12.688-1.398 3.305a1.25 1.25 0 0 0-.019.926l1.795 4.791a1.25 1.25 0 0 0 .908.784l3.349.72a1.25 1.25 0 0 1 .862.677l.595 1.229a1.25 1.25 0 0 0 1.125.705h2.099",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m27.822 9.492 1.458 2.612a1.25 1.25 0 0 1-.253 1.537l-4.205 3.802c-.071.065-.15.121-.234.167l-1.913 1.057a1.25 1.25 0 0 1-.604.156h-3.335a1.25 1.25 0 0 0-1.152.764l-1.301 3.09",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})]}),healthCheck:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M9.75 23h-1v2h1v-2Zm5.938 1v1a1 1 0 0 0 .832-.445L15.688 24Zm2.374-3.563.833-.554a1 1 0 0 0-1.665 0l.832.555Zm4.75 7.125-.832.555a1 1 0 0 0 1.665 0l-.832-.555ZM25.188 24v-1a1 1 0 0 0-.832.445l.832.555Zm3.563 1a1 1 0 1 0 0-2v2Zm-19 0h5.938v-2H9.75v2Zm6.77-.445 2.375-3.563-1.665-1.11-2.375 3.563 1.665 1.11Zm.71-3.563 4.75 7.125 1.665-1.11-4.75-7.124-1.665 1.11Zm6.415 7.125 2.375-3.562-1.665-1.11-2.375 3.563 1.665 1.11ZM25.188 25h3.562v-2h-3.563v2Z",fill:"currentColor"}),l.jsx("path",{d:"M9.173 19.249a10.477 10.477 0 0 1-.017-.593A7.72 7.72 0 0 1 24 15.682a7.72 7.72 0 0 1 14.844 2.974C38.844 28.75 24 37.063 24 37.063s-5.93-3.32-10.293-8.313",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"round",fill:"none"})]}),hrAssistant:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"m38.5 23.5-2.125 1.364-4.5-8.618L37 13",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"m9.5 23.5 2.125 1.213 4.5-8.618L11 13.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m36.375 24.864-2.25 2.632c-1.424 1.424-5.67 5.463-5.67 5.463s-6.53-1.482-8.723-2.03a1.125 1.125 0 0 1-.42-.205l-7.687-6.01",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"m34.125 27.496-6.188-4.5-1.8 1.35a4.5 4.5 0 0 1-5.4 0l-.762-.572a1.125 1.125 0 0 1-.12-1.695l5.503-5.503a1.124 1.124 0 0 1 .796-.33h5.721",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m16.206 16.095 7.217-2.104c.257-.075.534-.055.778.056L26 16m-4.25 19.934-4.238-1.06a1.125 1.125 0 0 1-.465-.242l-3.172-2.757",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",fill:"none"})]}),hr1:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M20 29h-9v-9a9 9 0 1 1 9 9Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M19 28.996a9.042 9.042 0 0 0 3.387 4.351A9.45 9.45 0 0 0 27.737 35H37v-9.007c0-2.303-.908-4.52-2.537-6.192C32.834 18.128 31 17.5 29.5 17.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"})]}),hr2:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"m28.326 23.995 3.66 3.504c.698.668 1.918.668 2.615 0 .697-.667.697-1.835 0-2.503l-5.316-5.007a3.853 3.853 0 0 0-5.317 0l-1.22 1.168a1.737 1.737 0 0 1-2.44 0L19 19.906s2.963-3.088 5.49-5.174c2.529-2.086 7.148-2.67 10.286.417 3.137 3.004 2.789 7.093 0 9.93",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"m24 15.052-.346-.331c-2.509-2.073-7.094-2.653-10.208.414C10.33 18.202 10 22 14 25.5M32.5 28c.345.69.14 1.76-.465 2.364-.69.69-1.898.69-2.589 0l-3.625-3.625m3.97 4.056a1.85 1.85 0 0 1-.345 2.158c-.69.69-1.899.69-2.59 0m-.603 1.554-1.122 1.035c-.69.69-1.9.69-2.59 0s-.69-1.898 0-2.589l1.122-1.036c.69-.69 1.9-.69 2.59 0s.69 1.9 0 2.59Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m23.49 32.004-1.38 1.38c-.69.691-1.9.691-2.59 0-.69-.69-.69-1.898 0-2.589l1.381-1.38c.69-.691 1.9-.691 2.59 0a1.73 1.73 0 0 1 0 2.589Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m20.901 29.415-1.38 1.38c-.691.69-1.9.69-2.59 0s-.69-1.898 0-2.589l1.381-1.38c.69-.691 1.899-.691 2.59 0 .69.69.69 1.812 0 2.588Zm-2.589-2.676-1.38 1.38c-.691.691-1.9.691-2.59 0-.69-.69-.69-1.898 0-2.588l1.38-1.381c.691-.69 1.9-.69 2.59 0s.69 1.898 0 2.589Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",strokeLinejoin:"round",fill:"none"})]}),icEmbeddedDeveloperCpu:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M29 19H19v10h10V19Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M33.9 13H13v22h22V13h-1.1Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M36 21h3m-3 6h3M9 21h3.375M9 27h3.375M27 36v3m-6-3v3m6-30v3.375M21 9v3.375",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",strokeLinejoin:"round",fill:"none"})]}),javaForIot:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M15 35.806a1 1 0 0 0 1.176.984l16.824-3V29l-18 3.21v3.596Zm0-9a1 1 0 0 0 1.176.984l16.824-3V20l-18 3.21v3.596Zm0-9a1 1 0 0 0 1.176.984l16.824-3V11l-18 3.21v3.596Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"m15.5 27.5 8.5 3m-8.5-12 8.5 3",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",strokeLinejoin:"round",fill:"none"})]}),java:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M22.952 22h-9.577c-2.115 8.333 5.401 15 5.401 15h8.464s7.46-6.667 5.4-15h-9.688Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M33.173 26.033C35.374 24.225 39 24.79 39 27.728S35.633 34 30 34m-8.623-16.442c-2.98-4.217 4.385-4.892 1.462-8.715m1.855 10.907c-2.98-4.216 4.386-4.89 1.462-8.714",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),javascript:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M20.5 17a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm7 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z",fill:"currentColor"}),l.jsx("path",{d:"M19 24c-2.2-1.5-4-4-4-6.7 0-4.6 4-8.3 9-8.3s9 3.7 9 8.3c0 2.8-1.5 5.2-3.7 6.7",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M17 21.8s-2.1.7-3.2 2.3c0 0-2.7.2-2.9 4.4-.2 4.2 3.5 8.5 8.6 8.5h8.8c5.2 0 8.8-4.2 8.6-8.5-.2-4.3-2.9-4.4-2.9-4.4-1.1-1.6-3.2-2.3-3.2-2.3",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M26.7 19.2c-.1 0-.7-.2-.9-.4-.5-.3-.9-.8-1.8-.8s-1.3.5-1.8.8c-.2.1-.7.4-.9.4-.3 0-.6.2-.7.5-.1.3 0 .7.3.9.1 0 1.5 1 3.1 1s3.1-.9 3.1-1c.3-.2.4-.5.3-.8-.1-.3-.4-.6-.7-.6Z",fill:"currentColor"})]}),laptop:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 49 48",width:"49",height:"48",fill:"none",children:l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M38.096 30.577V13.615a1.04 1.04 0 0 0-1.038-1.038H11.442a1.04 1.04 0 0 0-1.038 1.038v16.962h27.692ZM8.326 13.615v16.962H6.25v3.808A3.12 3.12 0 0 0 9.365 37.5h29.77a3.12 3.12 0 0 0 3.115-3.115v-3.808h-2.077V13.615a3.12 3.12 0 0 0-3.115-3.115H11.442a3.12 3.12 0 0 0-3.115 3.115Zm0 19.039v1.73a1.04 1.04 0 0 0 1.04 1.04h29.769a1.04 1.04 0 0 0 1.038-1.04v-1.73H29.58a2.835 2.835 0 0 1-2.347 1.244h-5.966a2.835 2.835 0 0 1-2.347-1.244H8.327Z",fill:"currentColor"})}),lockPrivacySecurity:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 28.5a2.813 2.813 0 1 0 0-5.625 2.813 2.813 0 0 0 0 5.625Zm0 0v3.375",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M37 37V18H11v19h26Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M19 18v-4a5 5 0 1 1 10 0v4",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})]}),machineLearning:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M19.756 19c-.913-.583-1.934-1.007-3.116-1.007-3.652 0-5.64 3.128-5.64 5.991 0 1.644.645 3.394 1.88 4.56m14.343-8.748c1.128-1.007 2.471-1.803 4.137-1.803 3.652 0 5.64 3.128 5.64 5.991 0 1.644-.645 3.394-1.88 4.56",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M20.67 23.401c-2.15-.265-4.513-.159-6.232 1.538-2.579 2.545-1.773 6.15.322 8.165 2.095 2.014 5.694 2.863 8.273.318 2.686-2.651 1.397-7.105.913-9.384-.483-2.28-1.773-6.787.913-9.438 2.633-2.545 6.232-1.75 8.327.318 1.128 1.114 1.88 2.704 1.934 4.348",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M24.054 32.308c.215.371.483.743.806 1.06 2.578 2.546 6.23 1.75 8.272-.317 2.041-2.068 2.901-5.62.323-8.165-1.612-1.59-3.814-1.75-5.802-1.538m-14.827-3.923c-.053-1.697.752-3.393 1.934-4.56 2.095-2.015 5.695-2.81 8.273-.265.322.318.591.69.806 1.06",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),magnifier:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M23 35c6.627 0 12-5.373 12-12s-5.373-12-12-12-12 5.373-12 12 5.373 12 12 12Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"m38 38-6-6",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),marketingSpecialist:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M11 21h6v14h-6V21Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M17 20.304 22.605 9a4.45 4.45 0 0 1 3.17 1.324 4.525 4.525 0 0 1 1.313 3.198v3.391h8.67a2.226 2.226 0 0 1 1.68.765 2.264 2.264 0 0 1 .545 1.776c-.341 2.752-.88 6.968-1.31 10.315A5.992 5.992 0 0 1 30.73 35H17",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",fill:"none"})]}),marketing:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M11 33.5s18.512-5.738 26-8v-7c-7.503-2.26-26-8-26-8v23Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M26 15a1 1 0 1 0-2 0h2Zm5 12.503v5.499h2v-5.499h-2Zm-5 5.504V15h-2v18.007h2Zm2.5 2.493a2.494 2.494 0 0 1-2.5-2.493h-2a4.494 4.494 0 0 0 4.5 4.493v-2Zm0 2A4.5 4.5 0 0 0 33 33h-2a2.5 2.5 0 0 1-2.5 2.5v2Z",fill:"currentColor"})]}),mobile:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 37.5a1.687 1.687 0 1 0 0-3.375 1.687 1.687 0 0 0 0 3.375Z",fill:"currentColor"}),l.jsx("rect",{x:"14",y:"9",width:"20",height:"31",rx:"1",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M13 32h22M20 10.5h8",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),moneyFinance2:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M37.929 15H9v16.875C9 32.496 9.48 33 10.071 33H39V16.125c0-.621-.48-1.125-1.071-1.125Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M24 28a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm6.429-12.571 8.571 7.5m-8.571 9.643 8.571-7.5m-21.429-9.643L9 22.929m8.571 9.643L9 25.072",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})]}),moneyFinance:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 16.125v2.25m0 11.25v2.25",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M24 39c8.284 0 15-6.716 15-15 0-8.284-6.716-15-15-15-8.284 0-15 6.716-15 15 0 8.284 6.716 15 15 15Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M19.625 29.625h6.063a2.812 2.812 0 1 0 0-5.625h-3.375a2.812 2.812 0 1 1 0-5.625h5.062",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",strokeLinejoin:"round",fill:"none"})]}),motionDesigner:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M38 13H19c1.748 3.75 3.848 7.35 5.793 11-1.945 3.65-4.045 7.25-5.793 11h19c-1.752-3.758-3.884-7.354-5.852-11 1.953-3.664 3.964-7.302 5.852-11Z",stroke:"currentColor",strokeWidth:"1.89696",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M18 21h-4m-2 0H9m7 8h-4m6-4h-8",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),officeAssistant:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:l.jsx("path",{d:"M28.5 17.25 16.783 29.158a2.25 2.25 0 0 0 3.182 3.182L33.93 18.18a4.5 4.5 0 0 0-6.364-6.364l-13.965 14.16a6.75 6.75 0 0 0 9.546 9.546l11.539-11.524",stroke:"currentColor",strokeWidth:"2",fill:"none"})}),pawDog:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:l.jsx("path",{d:"M13 26a3.333 3.333 0 1 0 0-6.666A3.333 3.333 0 0 0 13 26Zm6-7.333A3.333 3.333 0 1 0 19 12a3.333 3.333 0 0 0 0 6.667Zm10 0A3.333 3.333 0 1 0 29 12a3.333 3.333 0 0 0 0 6.667ZM35 26a3.333 3.333 0 1 0 0-6.666A3.333 3.333 0 0 0 35 26Zm-4.98 1.927c-.98-1.153-1.801-2.136-2.792-3.288-.517-.61-1.181-1.22-1.969-1.492a2.271 2.271 0 0 0-.371-.102C24.606 23 24.302 23 24.01 23c-.293 0-.597 0-.89.056a2.273 2.273 0 0 0-.37.102c-.788.271-1.44.882-1.97 1.492-.979 1.152-1.8 2.136-2.79 3.288-1.475 1.48-3.286 3.119-2.949 5.413.326 1.152 1.148 2.294 2.622 2.621.822.17 3.444-.497 6.234-.497h.203c2.79 0 5.413.656 6.234.497 1.474-.327 2.296-1.48 2.622-2.621.35-2.305-1.463-3.944-2.937-5.424Z",stroke:"currentColor",strokeWidth:"2",fill:"none"})}),poiLocation:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 23a4 4 0 1 0 0-8 4 4 0 0 0 0 8Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m24 38-.654.757.671.579.656-.596L24 38Zm0-29V8v1Zm10 11.154c0 1.742-.615 3.676-1.611 5.647-.991 1.961-2.323 3.889-3.674 5.598a55.513 55.513 0 0 1-5.274 5.756 20.566 20.566 0 0 1-.108.1l-.005.004v.001L24 38a186.929 186.929 0 0 0 .674.739l.002-.002.007-.006.026-.024a23.046 23.046 0 0 0 .456-.43 57.545 57.545 0 0 0 5.12-5.637c1.4-1.772 2.817-3.816 3.889-5.937C35.24 24.593 36 22.335 36 20.153h-2ZM24 38l.654-.757h-.001l-.005-.005a49.716 49.716 0 0 1-5.369-5.659C16.543 28.18 14 23.955 14 20.155h-2c0 4.546 2.957 9.245 5.72 12.68a51.749 51.749 0 0 0 5.131 5.478 31.627 31.627 0 0 0 .459.413l.026.023a.33.33 0 0 1 .007.006l.002.002L24 38ZM14 20.154c0-2.698 1.057-5.282 2.934-7.185l-1.424-1.404A12.234 12.234 0 0 0 12 20.154h2Zm2.934-7.185A9.924 9.924 0 0 1 24 10V8c-3.187 0-6.24 1.284-8.49 3.565l1.424 1.404ZM24 10a9.924 9.924 0 0 1 7.066 2.97l1.424-1.405A11.924 11.924 0 0 0 24 8v2Zm7.066 2.97A10.233 10.233 0 0 1 34 20.153h2c0-3.22-1.261-6.309-3.51-8.59l-1.424 1.405Z",fill:"currentColor"})]}),presentation:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M13 31.75V16m22 0v15.75",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M35.917 11H12.083c-.598 0-1.083.56-1.083 1.25V16h26v-3.75c0-.69-.485-1.25-1.083-1.25Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M24 32v3m0 4.875a2.25 2.25 0 1 0 0-4.5 2.25 2.25 0 0 0 0 4.5Zm-13.5-8h27",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})]}),productOwnerKey:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"m19.569 23.321.72.695.443-.46-.23-.596-.933.361Zm5.603 5.804.384-.923-.63-.262-.473.49.72.695Zm-1.844 1.91v1a1 1 0 0 0 .72-.305l-.72-.694Zm-3.362 0v-1a1 1 0 0 0-1 1h1Zm0 3.483v1a1 1 0 0 0 1-1h-1Zm-3.362 0v-1a1 1 0 0 0-1 1h1Zm0 3.482v1h1v-1h-1ZM11 38h-1v1h1v-1Zm0-5.804-.72-.694-.28.29v.404h1Zm9.501-9.236a9.787 9.787 0 0 1-.24-6.349l-1.914-.578a11.787 11.787 0 0 0 .29 7.65l1.864-.723Zm-.24-6.349c.63-2.081 1.93-3.867 3.675-5.06l-1.129-1.65c-2.13 1.456-3.703 3.624-4.46 6.132l1.915.578Zm3.675-5.06a8.808 8.808 0 0 1 5.898-1.503l.21-1.99a10.809 10.809 0 0 0-7.237 1.843l1.129 1.65Zm5.898-1.503a8.938 8.938 0 0 1 5.495 2.704l1.439-1.39a10.939 10.939 0 0 0-6.725-3.303l-.209 1.989Zm5.495 2.704a9.595 9.595 0 0 1 2.624 5.73l1.99-.195a11.595 11.595 0 0 0-3.175-6.924l-1.439 1.389Zm2.624 5.73a9.73 9.73 0 0 1-1.463 6.167l1.687 1.075a11.728 11.728 0 0 0 1.767-7.437l-1.99.195ZM36.49 24.65c-1.157 1.816-2.878 3.154-4.868 3.799l.616 1.902c2.442-.79 4.538-2.428 5.939-4.626L36.49 24.65Zm-4.868 3.799a8.752 8.752 0 0 1-6.066-.246l-.767 1.847a10.752 10.752 0 0 0 7.45.302l-.617-1.903Zm-7.169-.017-1.845 1.91 1.44 1.39 1.844-1.911-1.439-1.39Zm-1.125 1.605h-3.362v2h3.362v-2Zm-4.362 1v3.482h2v-3.482h-2Zm1 2.482h-3.362v2h3.362v-2Zm-4.362 1V38h2v-3.482h-2Zm1 2.482H11v2h5.604v-2ZM12 38v-5.804h-2V38h2Zm-.28-5.11 8.568-8.874-1.439-1.39-8.568 8.876 1.438 1.389Z",fill:"currentColor"}),l.jsx("path",{d:"M31.5 19a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z",stroke:"currentColor",strokeWidth:"2",fill:"none"})]}),productRoadmap:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M13.8 15.6a2.8 2.8 0 1 1 0-5.6 2.8 2.8 0 0 1 0 5.6ZM34.333 38a2.8 2.8 0 1 1 0-5.6 2.8 2.8 0 0 1 0 5.6Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M34.333 38a2.8 2.8 0 1 1 0-5.6 2.8 2.8 0 0 1 0 5.6ZM24.067 26.8a2.8 2.8 0 1 1 0-5.6 2.8 2.8 0 0 1 0 5.6Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M30.6 12.8a5.6 5.6 0 0 1 0 11.2m0-11.2h-14m15.867 22.4H16.6M22.2 24h-5.6m14 0h-4.667M16.6 35.2a5.6 5.6 0 0 1 0-11.2",stroke:"currentColor",strokeWidth:"2",fill:"none"})]}),productStrategy:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("circle",{cx:"24",cy:"24",r:"14",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("path",{d:"m16.736 22.037 12.34-4.113-4.114 12.34-2.021-5.603-.16-.442-.442-.16-5.603-2.022Z",stroke:"currentColor",strokeWidth:"2",fill:"none"})]}),projectManagement:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M35 11h1v-1h-1v1Zm0 26v1h1v-1h-1Zm-22 0h-1v1h1v-1Zm0-26v-1h-1v1h1Zm6.6 1h1v-2h-1v2Zm8.8 0H35v-2h-6.6v2Zm5.6-1v25.999L35 37h1V11h-2Zm1 26v-1H13v2h21.999L35 37Zm-21 0V11h-2v26h2Zm-1-25h6.6v-2H13v2Z",fill:"currentColor"}),l.jsx("path",{d:"M19 15v-1a5 5 0 1 1 10 0v1H19Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M24 32a5 5 0 1 0 0-10 5 5 0 0 0 0 10Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"m22 26 2 2 6.1-5.9",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),puzzleOpenJob:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:l.jsx("path",{d:"M15.008 37v-7.408a3.85 3.85 0 0 1-3.813-.24 4.04 4.04 0 0 1-1.35-1.485 4.2 4.2 0 0 1-.492-1.973 4.2 4.2 0 0 1 .491-1.973 4.04 4.04 0 0 1 1.351-1.485 3.85 3.85 0 0 1 3.813-.24v-7.194h7.098a4.208 4.208 0 0 1 .233-3.94 4.016 4.016 0 0 1 1.436-1.396 3.86 3.86 0 0 1 1.91-.507 3.86 3.86 0 0 1 1.91.507c.585.333 1.08.813 1.437 1.396s.565 1.25.606 1.939a4.21 4.21 0 0 1-.374 2H37v7.195a3.85 3.85 0 0 0-3.813.24 4.04 4.04 0 0 0-1.351 1.485 4.2 4.2 0 0 0-.491 1.973 4.2 4.2 0 0 0 .49 1.973 4.04 4.04 0 0 0 1.352 1.484 3.85 3.85 0 0 0 3.813.24V37H15.008Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"})}),qa:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M27.938 20.625a1.687 1.687 0 1 0 0-3.375 1.687 1.687 0 0 0 0 3.375Zm-7.875 0a1.687 1.687 0 1 0 0-3.375 1.687 1.687 0 0 0 0 3.375Z",fill:"currentColor"}),l.jsx("path",{d:"M24 24v14.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M40 24H8",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M35 27.333c0 3.095-1.159 6.062-3.222 8.25C29.715 37.77 26.918 39 24 39c-2.917 0-5.715-1.23-7.778-3.417C14.159 33.395 13 30.428 13 27.333v-4.666c0-3.095 1.159-6.062 3.222-8.25C18.285 12.23 21.082 11 24 11c2.917 0 5.715 1.23 7.778 3.417C33.841 16.605 35 19.573 35 22.667v4.666Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m38.614 33.438-4.041-2.334m4.041-15.541-4.042 2.333M9.386 15.563l4.042 2.333M9.386 33.438l4.042-2.334",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"round",fill:"none"})]}),react:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M31.5 28.547C35.407 27.593 38 25.913 38 24c0-2.974-6.268-5.385-14-5.385S10 21.026 10 24c0 2.974 6.268 5.385 14 5.385.922 0 1.824-.035 2.697-.1",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("path",{d:"M17.592 24A35.91 35.91 0 0 1 19 21.308c3.866-6.696 9.088-10.92 11.663-9.432 2.576 1.487 1.53 8.12-2.337 14.816-3.866 6.696-9.087 10.92-11.663 9.432-1.616-.933-1.806-3.893-.768-7.624",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("path",{d:"M23.738 15.113c-2.742-2.826-5.441-4.18-7.075-3.237-2.575 1.487-1.529 8.12 2.337 14.816 3.866 6.696 9.088 10.92 11.663 9.432 2.576-1.487 1.53-8.12-2.337-14.816a35.86 35.86 0 0 0-1.632-2.573",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("path",{d:"M23.688 25.375a1.687 1.687 0 1 0 0-3.375 1.687 1.687 0 0 0 0 3.375Z",fill:"currentColor"})]}),rubyRor:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M16.5 11h15l7.5 9.044L24 37 9 20.044 16.5 11Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M30.52 19.813 24 35.75l-6.52-15.938 6.52-8.5 6.52 8.5ZM9 20h29.75",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})]}),scrumMaster:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M18 19h-4v-5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"M21.061 29c1.308 0 2.605-.003 4.051-.57a7.842 7.842 0 0 0 3.554-2.763A7.222 7.222 0 0 0 30 21.5a7.222 7.222 0 0 0-1.334-4.167 7.842 7.842 0 0 0-3.554-2.762 8.327 8.327 0 0 0-4.574-.427 8.063 8.063 0 0 0-4.054 2.053L15 17.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M10 29h27.883",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m34 25 4 4-4 4",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",fill:"none"})]}),security:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{stroke:"currentColor",strokeWidth:"2",d:"M13 19h22v18H13z",fill:"none"}),l.jsx("path",{d:"m29.561 19.14.04-5.054a5.828 5.828 0 0 0-5.83-5.836 5.834 5.834 0 0 0-5.831 5.836l-.04 5.054",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("path",{d:"M23.823 29.307a2.666 2.666 0 0 0 2.66-2.672 2.666 2.666 0 0 0-2.66-2.672 2.666 2.666 0 0 0-2.66 2.672 2.666 2.666 0 0 0 2.66 2.672Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M23.824 29.301v3.71",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",strokeLinecap:"square",strokeLinejoin:"round",fill:"none"})]}),sentAirplane:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M17.522 25.977C18.848 27.145 31 37 31 37c.977-4.474 5-25 5-25s-22.955 7.617-27 9l8.522 4.977Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"m17 26 18-13",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M23.623 31.346 17 37V26",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",strokeLinejoin:"round",fill:"none"})]}),serverBackend:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M33 35H15c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h18c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2Zm0-8H15c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h18c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2Zm0-8H15c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h18c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2Zm-2 16v3m-14-3v3m10.9-7h4.2m-4.2-16h4.2",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M30 24.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z",fill:"currentColor"})]}),settingsTestAutomation:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 31a7 7 0 1 0 0-14 7 7 0 0 0 0 14Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m23.228 11.373-2.842-2.13a1.205 1.205 0 0 0-1.081-.188c-.88.276-1.734.629-2.552 1.056a1.206 1.206 0 0 0-.633.898l-.502 3.516a12.993 12.993 0 0 0-1.093 1.093l-3.516.502a1.203 1.203 0 0 0-.897.632 15.56 15.56 0 0 0-1.057 2.55 1.205 1.205 0 0 0 .187 1.084l2.131 2.842a12.91 12.91 0 0 0 0 1.544l-2.13 2.842a1.205 1.205 0 0 0-.188 1.081c.276.88.629 1.734 1.056 2.552a1.206 1.206 0 0 0 .898.633l3.516.502a12.932 12.932 0 0 0 1.093 1.093l.502 3.515a1.203 1.203 0 0 0 .632.898c.818.427 1.671.781 2.55 1.057a1.206 1.206 0 0 0 1.084-.187l2.842-2.131a12.91 12.91 0 0 0 1.544 0l2.842 2.13a1.204 1.204 0 0 0 1.081.188c.88-.276 1.734-.629 2.552-1.056a1.206 1.206 0 0 0 .633-.898l.502-3.516a12.932 12.932 0 0 0 1.093-1.093l3.515-.502a1.203 1.203 0 0 0 .898-.632c.427-.818.781-1.671 1.057-2.55a1.206 1.206 0 0 0-.187-1.084l-2.131-2.842a12.91 12.91 0 0 0 0-1.544l2.13-2.842a1.204 1.204 0 0 0 .188-1.081 15.561 15.561 0 0 0-1.056-2.552 1.206 1.206 0 0 0-.898-.633l-3.516-.502a12.932 12.932 0 0 0-1.093-1.093l-.502-3.516a1.203 1.203 0 0 0-.632-.897 15.56 15.56 0 0 0-2.55-1.057 1.205 1.205 0 0 0-1.084.187l-2.842 2.131a12.91 12.91 0 0 0-1.544 0Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"})]}),sick:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 39c8.284 0 15-6.716 15-15 0-8.284-6.716-15-15-15-8.284 0-15 6.716-15 15 0 8.284 6.716 15 15 15Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M32.313 19.25 27.563 24m4.75 0-4.75-4.75m-7.125 0L15.688 24m4.75 0-4.75-4.75",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M24 33.5a1.781 1.781 0 1 0 0-3.562 1.781 1.781 0 0 0 0 3.562Z",fill:"currentColor"})]}),solutionArchitectBulb:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"m30.994 29.856-.559-.83a1.045 1.045 0 0 1-.019.014c-.12.08-.554.369-.967.805A3.727 3.727 0 0 0 28.685 31h-9.37a3.727 3.727 0 0 0-.764-1.155 5.658 5.658 0 0 0-.967-.805A11.482 11.482 0 0 1 12.5 19.5c0-6.337 5.135-11.479 11.482-11.5h.037c6.346.021 11.482 5.163 11.482 11.5 0 3.962-2.007 7.458-5.066 9.528l.56.828Zm0 0-.019.013c-.237.158-1.487.993-1.487 2.131L24.02 7c6.896.022 12.48 5.61 12.48 12.5a12.48 12.48 0 0 1-5.506 10.356Z",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("path",{d:"m21.526 39.466-.031-.845-.84-.11a1.34 1.34 0 0 1-1.175-1.318V31h9v6.193a1.34 1.34 0 0 1-1.175 1.318l-.84.11-.03.846a.561.561 0 0 1-.569.533h-3.771a.563.563 0 0 1-.57-.534Z",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("path",{d:"m19.296 18.43 3.581 3.59 6.736-6.75",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"3.8637",fill:"none"})]}),suitcaseBizdev:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 9h2c1.1 0 2 .9 2 2v3m-4-5h-2c-1.1 0-2 .9-2 2v3m2 12.4L11 23v-5c0-2.2 1.8-4 4-4h18c2.2 0 4 1.8 4 4v5l-11 3.4",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M35 24v11H13V24",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M26 29h-4v-4c0-1.1.9-2 2-2s2 .9 2 2v4Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),systemArchitectFork:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:l.jsx("path",{d:"M24 21a5 5 0 1 0 0-10 5 5 0 0 0 0 10Zm11 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm-11 4a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm0-17.5v9.2M35 28v-3H24m-11 9a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm0-6v-3h11",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})}),talentAcquisitionSpecialist:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M27 35v-5.9c0-2.5-3.6-3.9-5-4.6-1.2-.6-3.4-2-3.4-4.2 0-2.1 1.8-3.3 3.4-3.3 1.6 0 3.4 1.2 3.4 3.3 0 2.1-2.2 3.6-3.4 4.2-1.5.8-5 2.2-5 4.6V33",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M23 35c6.627 0 12-5.373 12-12s-5.373-12-12-12-12 5.373-12 12 5.373 12 12 12Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"m38 38-6-6",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),teamLeads:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 38c7.732 0 14-6.268 14-14s-6.268-14-14-14-14 6.268-14 14 6.268 14 14 14Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M24 31.834a4.375 4.375 0 1 0 0-8.75 4.375 4.375 0 0 0 0 8.75Zm7 4.785c-1.476-2.628-4.09-4.375-7.07-4.375-2.888 0-5.432 1.64-6.93 4.132M32 24a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M37.422 27.524c-1.527-1.838-3.78-3-6.292-3a8.016 8.016 0 0 0-4.084 1.116M16 24a3 3 0 1 1 0-6 3 3 0 0 1 0 6Zm-5.125 3.509c1.336-1.838 3.307-3 5.506-3 1.298 0 2.517.405 3.573 1.116",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),ticket:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M19 15v19",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M9.26 28.74a1.09 1.09 0 0 0-.26.703v3.446c0 .295.122.577.338.786.216.208.51.325.816.325H39v-4.557c0-.256-.092-.504-.26-.702a1.16 1.16 0 0 0-.663-.385 4.65 4.65 0 0 1-2.652-1.545A4.345 4.345 0 0 1 34.385 24c0-1.024.367-2.018 1.04-2.811a4.65 4.65 0 0 1 2.652-1.545c.26-.05.495-.187.663-.385.168-.198.26-.446.26-.702V14H10.154c-.306 0-.6.117-.816.325a1.09 1.09 0 0 0-.338.786v3.446c0 .256.092.504.26.702.168.198.402.334.663.385a4.65 4.65 0 0 1 2.652 1.545A4.345 4.345 0 0 1 13.615 24a4.345 4.345 0 0 1-1.04 2.811 4.65 4.65 0 0 1-2.652 1.545 1.16 1.16 0 0 0-.663.385Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"})]}),time:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 38.25c7.87 0 14.25-6.38 14.25-14.25S31.87 9.75 24 9.75 9.75 16.13 9.75 24 16.13 38.25 24 38.25Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M32.313 23H22l6.878 6.878",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"bevel",fill:"none"})]}),uIDesigner:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 31c3.9 0 7-3.1 7-7s-3.1-7-7-7-7 3.1-7 7 3.2 7 7 7Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M9 24s4.3 11 15 11c9.7 0 14.3-9.5 15-11-.7-1.5-5.3-11-15-11C13.3 13 9 24 9 24Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M24 21c-1.7 0-3 1.3-3 3s1.3 3 3 3 3-1.3 3-3h-3v-3Z",fill:"currentColor"})]}),userJourney:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M20 23a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm16.243 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m22 22 4.243 4.243M18 22l-4.243 4.243",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("path",{d:"M28 31a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M34.243 22 30 26.243",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("path",{d:"M12 31a3 3 0 1 1 0-6 3 3 0 0 1 0 6Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})]}),user:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 38c7.732 0 14-6.268 14-14s-6.268-14-14-14-14 6.268-14 14 6.268 14 14 14Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M24 29a6 6 0 1 0 0-12 6 6 0 0 0 0 12Zm9.323 6.16A10.992 10.992 0 0 0 24 30a10.99 10.99 0 0 0-9.137 4.873",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),uxDesigner:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M35 18H17v19h18V18Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M17 32h-4V13h18v4",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M22 21v1.5c0 1.4 1.1 2.5 2.5 2.5s2.5-1.1 2.5-2.5V10c0-.6-.4-1-1-1h-5c-.6 0-1 .4-1 1v3",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]}),vacation:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M29.819 39.804C31.022 30.78 29.32 23.61 21.5 20",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("path",{d:"M21.697 18.894v10.651c-4.813-1.203-7.288-7.848 0-10.651Zm1.561.682H35.03c-1.203-4.813-9.53-6.728-11.772 0Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M21.697 19.454H8.803c1.416-5.763 10.651-7.287 12.791 0",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"m22.258 19.454 8.643-8.93c-5.076-3.074-13.128 1.643-8.643 8.93Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M17 37h19.06",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"round",fill:"none"})]}),valueMatrix:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 9v30m15-15H9",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("circle",{cx:"33.0993",cy:"17.2721",r:"2.48162",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("circle",{cx:"16.4449",cy:"32.2721",r:"2.48162",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("circle",{cx:"14.7904",cy:"14.9008",r:"2.48162",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("circle",{cx:"31.6654",cy:"30.8383",r:"2.48162",stroke:"currentColor",strokeWidth:"2",fill:"none"})]}),wordpress:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"48",height:"48",fill:"none",children:[l.jsx("path",{d:"M24 37c7.18 0 13-5.82 13-13s-5.82-13-13-13-13 5.82-13 13 5.82 13 13 13Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"M27.467 36.133c1.906-5.46 5.546-16.986 5.546-18.546 0-3.9-3.38-4.507-4.68-2.86C25.473 18.28 31.76 22.58 30.46 27m-10.013 9.047c.606-1.734 2.773-8.754 3.813-12.047",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M19.667 19.667h3.466l4.334 16.466m-15.6-16.466H16.2l4.247 15.6",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"10",fill:"none"})]})},u={halley3:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",d:"M40.12 70.16c15.13 0 29.6-12.5 29.6-29.61C69.72 21.54 53.14 11 40.12 11c-15.13 0-29.6 12.5-29.6 29.61 0 19.01 16.58 29.55 29.6 29.55Z",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M40.12 21.58c0 8.84-10.16 19-19 19 8.84 0 19.02 9.34 19.02 18.18 9.34 0 19.48-9.53 19.48-22.22C59.62 14.9 40.18 11 40.18 11",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M40.12 59.58c0-8.84 10.16-19 19-19-8.84 0-19-10.16-19-19-9.75 0-19.5 10.46-19.5 23.04 0 21.64 19.44 25.54 19.44 25.54",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"})]}),storybook:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{d:"M17 21v46h42a4 4 0 0 0 4-4V18",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M20 12h37.5a5.5 5.5 0 1 1 0 11h-7M17 23h19.5",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M36 20h15v29l-7.5-5-7.5 5V20Z",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"})]}),halley2:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{d:"M29.62 61.57c5.843 0 10.58-4.737 10.58-10.58s-4.737-10.58-10.58-10.58-10.58 4.737-10.58 10.58 4.737 10.58 10.58 10.58Z",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M35.44 17.54 15.8 37.18c-7.63 7.63-7.63 20 0 27.63 7.63 7.63 20 7.63 27.63 0l19.63-19.63M32.21 33.43 50.1 15.55m-2.92 32.84 17.88-17.88m-23.27 8.31L71.51 9.1",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"})]}),halley:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{d:"m47.9 48.93 16.92-16.92-2.83-2.83L47 44.17c.52 1.55.81 3.14.9 4.76Zm-5.25-11.81c.48.48.92.98 1.33 1.5l27.88-27.88-2.83-2.83-27.88 27.88c.52.41 1.02.85 1.5 1.33Zm-7.04-4.34L50.6 17.79l-2.83-2.83-16.92 16.92c1.61.09 3.21.39 4.76.9Z",fill:"currentColor"}),l.jsx("path",{d:"M29.89 71.99c-5.66 0-11.32-2.15-15.63-6.46-8.62-8.62-8.62-22.64 0-31.26L29.8 18.73l2.83 2.83L17.09 37.1c-7.06 7.06-7.06 18.55 0 25.61 7.06 7.06 18.55 7.06 25.61 0l15.54-15.54L61.07 50 45.53 65.54C41.22 69.85 35.56 72 29.9 72l-.01-.01Z",fill:"currentColor"}),l.jsx("path",{d:"M29.89 62.03c-6.54 0-11.86-5.32-11.86-11.86h4c0 4.33 3.53 7.86 7.86 7.86v4Z",fill:"currentColor"})]}),loggie:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M38.349 28.5H17.748a4.39 4.39 0 0 1-4.386-4.386 4.392 4.392 0 0 1 3.214-4.225l1.668-.46-.215-1.717a8.761 8.761 0 0 1-.07-1.101c0-4.745 3.861-8.605 8.607-8.605a8.6 8.6 0 0 1 8.201 5.987 9.63 9.63 0 0 0-3.453 2.371l2.93 2.723a5.547 5.547 0 0 1 4.105-1.79 5.608 5.608 0 0 1 5.602 5.601 5.608 5.608 0 0 1-5.602 5.602Zm19.65-9.5H47.114c-1.45-3.244-4.639-5.548-8.379-5.695a12.6 12.6 0 0 0-12.169-9.299c-6.95 0-12.606 5.655-12.606 12.605v.023a8.411 8.411 0 0 0-4.596 7.48c0 4.624 3.76 8.386 8.384 8.386H38.35c5.26 0 9.54-4.253 9.597-9.5H58a1 1 0 0 1 1 1v44a1 1 0 0 1-1 1H34c-.55 0-1-.448-1-1V53.833h-4V68c0 2.757 2.245 5 5 5h24c2.758 0 5-2.243 5-5V24c0-2.757-2.242-5-5-5Z",fill:"#D92327"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M44 65a2 2 0 1 0 4.001-.001A2 2 0 0 0 44 65ZM23 37a2 2 0 1 0 .001 4.001A2 2 0 0 0 23 37Zm0 8a2 2 0 1 0 .001 4.001A2 2 0 0 0 23 45Zm6 4h26v-4H29v4Zm0-8h26v-4H29v4Z",fill:"#D92327"})]}),nutsandbolts:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#b57ff8c8-9b82-49c8-9e5d-1d67a0cbe4df)",children:[l.jsx("path",{d:"M56.88 50c0 9.11-7.39 16.5-16.5 16.5s-16.5-7.35-16.5-16.76c0-9.11 7.69-18.84 20.1-18.84 14.43 0 22.19 7.75 25.78 16.81C62.23 45.86 56.88 50 56.88 50Z",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"square",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M46.94 45.11a2.55 2.55 0 1 0 0-5.1 2.55 2.55 0 0 0 0 5.1Z",fill:"#D92327"}),l.jsx("path",{d:"M54.92 23.96H25.85L11.31 49.14l14.54 25.18h29.07L65.15 56.6",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"square",fill:"none"}),l.jsx("path",{clipRule:"evenodd",d:"M40.54 10.18c4.5-4.74 9.97-4.16 9.97-4.16s.27 4.96-4.15 9.21c-4.72 4.54-9.37 3.2-9.37 3.2s-.46-4.03 3.55-8.25Z",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"square",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"b57ff8c8-9b82-49c8-9e5d-1d67a0cbe4df",children:l.jsx("path",{fill:"#fff",d:"M9 4h62.77v72.32H9z"})})})]}),bugsnatch:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M47.074 65.006c-7.45 0-13.89-4.346-16.967-10.627a17.227 17.227 0 0 0 6.025 1.089c8.7 0 15.894-6.48 17.064-14.86a4.375 4.375 0 0 1 1.628 2.599 4.402 4.402 0 0 1-.8 3.567l-1.2 1.6 3.2 2.4 1.198-1.6a8.466 8.466 0 0 0 1.522-6.767 8.463 8.463 0 0 0-4.053-5.63l-1.309-.757v-7.708c7.325 2.604 12.592 9.587 12.592 17.794 0 10.42-8.478 18.9-18.9 18.9ZM23.382 26.979a4.765 4.765 0 0 1 4.76-4.761h12.48c1.191 0 2.313.46 3.171 1.226-9.276 1.337-16.767 8.252-18.96 17.225a10.91 10.91 0 0 1-1.45-5.451v-8.24Zm10.5-14.011c2.481 0 4.5 2.018 4.5 4.5v.75h-9v-.75c0-2.482 2.018-4.5 4.5-4.5ZM28.42 49a18.79 18.79 0 0 1-.245-2.894c0-10.421 8.478-18.9 18.9-18.9.782 0 1.55.063 2.307.155v10.857c0 7.306-5.945 13.25-13.25 13.25a13.19 13.19 0 0 1-7.44-2.283L28.42 49Zm25.258-24.82c1.514-1.677 2.084-4.082 1.333-6.307l-.638-1.895-3.79 1.277.637 1.896a2.386 2.386 0 0 1-1.065 2.82l-1.759 1.016a8.809 8.809 0 0 0-6.014-4.565v-.954c0-4.687-3.814-8.5-8.5-8.5-4.687 0-8.5 3.813-8.5 8.5v1.202a8.797 8.797 0 0 0-5.118 4.5l-2.075-1.198a2.388 2.388 0 0 1-1.066-2.821l.64-1.896-3.793-1.277-.638 1.895a6.403 6.403 0 0 0 2.854 7.56l3.196 1.848v2.566H16.7a8.773 8.773 0 0 0-5.75 2.147l-1.745 1.512 2.62 3.023 1.746-1.513a4.773 4.773 0 0 1 3.13-1.17h2.682v1.372c0 .83.083 1.646.214 2.449l-1.423.823a6.383 6.383 0 0 0-1.909 9.352l1.2 1.6 3.2-2.4-1.2-1.6a2.352 2.352 0 0 1-.428-1.905 2.351 2.351 0 0 1 1.14-1.585l.633-.366a15.019 15.019 0 0 0 3.073 4.345l.296.29c.008 1.769.223 3.49.614 5.146l-.002.002.003.002a22.821 22.821 0 0 0 4.308 8.9l-9.974 8.544 2.602 3.038 10.116-8.665a22.8 22.8 0 0 0 15.23 5.818c12.626 0 22.9-10.273 22.9-22.9 0-10.331-6.88-19.082-16.297-21.925Z",fill:"#D92327"})}),locker:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#220e3690-9b2f-4b8e-a696-9d51e25d34ba)",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",children:[l.jsx("path",{d:"m49.65 25.13-1.56-7.78c-.98-4.87-5.28-8.54-10.24-8.34-6.35.26-10.71 6.05-9.51 12.02l1.62 8.06",fill:"none"}),l.jsx("path",{d:"M47.4 58.81c-1.46 1.65-3.45 2.82-5.75 3.19-3.57.57-6.86-.75-9.04-3.11m-2.83-15.28v3.74m21.35-3.74v3.74m-10.22-3.74v5.9c0 1.33-1.08 2.41-2.41 2.41",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M33.2 72h-6.9c-4.03 0-7.3-3.27-7.3-7.3v-6.23m42-.67v6.9c0 4.03-3.27 7.3-7.3 7.3h-6.3M19 43.6v-6.3c0-4.03 3.27-7.3 7.3-7.3h27.4c4.03 0 7.3 3.27 7.3 7.3v6.3",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"220e3690-9b2f-4b8e-a696-9d51e25d34ba",children:l.jsx("path",{fill:"#fff",d:"M17 7h46v67H17z"})})})]}),androidCollar:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{d:"M49.966 31.89a2.812 2.812 0 1 0 0-5.623 2.812 2.812 0 0 0 0 5.624Zm-19.922 0a2.812 2.812 0 1 0 0-5.623 2.812 2.812 0 0 0 0 5.624Z",fill:"#D8262C"}),l.jsx("path",{d:"M63.437 39.316V37.74a22.624 22.624 0 0 0-6.506-16.162l7.5-7.5a1.876 1.876 0 0 0-2.681-2.625l-7.688 7.696A24.066 24.066 0 0 0 40 14.81a24.075 24.075 0 0 0-14.063 4.322l-7.65-7.678a1.88 1.88 0 0 0-2.662 2.653l7.5 7.5a22.622 22.622 0 0 0-6.563 16.18v1.576A8.437 8.437 0 0 0 10 47.547v15a6.563 6.563 0 1 0 13.125 0v-.937l-3.75-1.763v2.7a2.812 2.812 0 1 1-5.625 0V53.37l16.716 7.782 9.45-8.232 9.459 8.232 16.875-7.857v9.253a2.812 2.812 0 1 1-5.625 0v-2.7l-3.75 1.763v.937a6.563 6.563 0 1 0 13.125 0v-15a8.438 8.438 0 0 0-6.563-8.23v-.002ZM40 18.56c11.41 0 19.687 8.072 19.687 19.18v1.979l-19.771 8.663-19.604-8.588V37.74c0-11.11 8.279-19.181 19.688-19.181ZM29.837 56.726 13.75 49.235v-1.688a4.688 4.688 0 0 1 4.303-4.687l18.403 8.062-6.619 5.804Zm20.157 0-6.619-5.766 18.44-8.1a4.688 4.688 0 0 1 4.435 4.687v1.613l-16.256 7.566Z",fill:"#D8262C"}),l.jsx("path",{d:"M39.916 63.466a2.812 2.812 0 1 0 0-5.624 2.812 2.812 0 0 0 0 5.624Z",fill:"#D8262C"})]}),emotionNormalize:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("g",{clipPath:"url(#ee4df90c-167b-448a-ab30-5dba022c0ddc)",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",children:l.jsx("path",{d:"M23.39 13 10.87 46.97h19.1l-7.51 20.98h.69l32.49-39.47H37.41L43.98 13H23.39Zm26.65 34.8H42v8.1h8.04m11.13-8.1h-8.04v.55l6.04 6.6v.95h-8.04m21.17-8.1h-8.04v.55l6.04 6.6v.95h-8.04",fill:"none"})}),l.jsx("defs",{children:l.jsx("clipPath",{id:"ee4df90c-167b-448a-ab30-5dba022c0ddc",children:l.jsx("path",{fill:"#fff",d:"M8 11h64.3v58.95H8z"})})})]}),analyticsCollector:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#a409605f-6a46-40b4-a544-f73c123ea70c)",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",children:[l.jsx("path",{d:"m14.05 38.41 20.32-20.55 5.7 4.7L50.63 12",fill:"none"}),l.jsx("path",{d:"M41.56 12h9.07v9.07M34.55 38.06v-11m8 11v-9m8 9v-13m9 13-.04-11",fill:"none"}),l.jsx("path",{d:"m35 38.36 9.17 9.17h31.39l-9.46-9.17H35Zm0 0v30.52h31V47.53",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m37.56 38.18-9.18 9.18H5l9-9h21v30.52H14V47.36",strokeLinejoin:"round",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"a409605f-6a46-40b4-a544-f73c123ea70c",children:l.jsx("path",{fill:"#fff",d:"M3 10h74.56v60.88H3z"})})})]}),loggy:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#b59e18ab-0238-4061-81f6-ee36b5bb4476)",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",children:[l.jsx("path",{clipRule:"evenodd",d:"m51.36 37.11-13.57 5.95c-2.8 1.04-5.35 2.68-7.46 4.79l-7.72 7.72L9.17 42.14l8.3-8.3c2.21-2.21 3.89-4.88 4.93-7.82l5.3-12.48c.97-2.75 4.48-3.55 6.54-1.49l18.54 18.54c2.04 2.04 1.29 5.51-1.42 6.52Z",fill:"none"}),l.jsx("path",{d:"m31.09 47.09 18.38 18.38a4.008 4.008 0 0 1 0 5.66 4.008 4.008 0 0 1-5.66 0L25.44 52.74M12 39.31l-2.83-2.83a4.008 4.008 0 0 1 0-5.66 4.008 4.008 0 0 1 5.66 0l2.83 2.83m7.77-14.78 20.58 20.58m.95-24.11c13.81 0 25 11.19 25 25 0 9.25-5.03 17.33-12.5 21.66m8.42-46.66c1.62 1.35 3.11 2.86 4.43 4.5M47.56 8c5.46 0 10.6 1.38 15.09 3.8",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"b59e18ab-0238-4061-81f6-ee36b5bb4476",children:l.jsx("path",{fill:"#fff",d:"M6 6h67.96v68.3H6z"})})})]}),japx:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M47.5 30a1 1 0 0 1-1-1v-5c0-2.757-2.243-5-5-5h-1v4h1a1 1 0 0 1 1 1v5c0 1.13.391 2.162 1.025 3a4.954 4.954 0 0 0-1.025 3v5a1 1 0 0 1-1 1h-1v4h1c2.757 0 5-2.243 5-5v-5a1 1 0 0 1 1-1h1v-4h-1Zm-19-6v5a1 1 0 0 1-1 1h-1v4h1a1 1 0 0 1 1 1v5c0 2.757 2.243 5 5 5h1v-4h-1a1 1 0 0 1-1-1v-5c0-1.13-.391-2.162-1.025-3a4.954 4.954 0 0 0 1.025-3v-5a1 1 0 0 1 1-1h1v-4h-1c-2.757 0-5 2.243-5 5Z",fill:"#D92327"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M65 31.404A6.604 6.604 0 0 1 58.404 38h-.84c1.048-4.05 1.928-9.01 2.381-15H65v8.404ZM25.884 50c-1.494-1.962-6.027-9.079-7.563-24.835-.194-1.998-1.292-3.887-2.353-5.714-.666-1.147-1.345-2.317-1.762-3.45h42.058c-.35 21.668-6.327 31.533-8.108 34H25.884ZM22 58h31v-4H22v4Zm36 4c1.103 0 2 .897 2 2v6H15v-6c0-1.103.897-2 2-2h41ZM32 10c0-1.103.897-2 2-2h7c1.103 0 2 .897 2 2v2H32v-2Zm28.18 9c.064-1.602.1-3.266.1-5v-2H47v-2c0-3.309-2.69-6-6-6h-7c-3.309 0-6 2.691-6 6v2H9.8v2c0 2.795 1.438 5.273 2.71 7.46.885 1.523 1.72 2.963 1.831 4.093 1.273 13.066 4.532 20.664 6.811 24.541A4.005 4.005 0 0 0 18 54v4h-1c-3.309 0-6 2.691-6 6v10h53V64c0-3.309-2.69-6-6-6h-1v-4c0-2.206-1.794-4-4-4h-.092c1.044-1.824 2.301-4.444 3.483-8h2.013C64.247 42 69 37.247 69 31.404V19h-8.82Z",fill:"#D92327"})]}),viper:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M47.31 15.395a2.673 2.673 0 1 1-5.346 0 2.673 2.673 0 0 1 5.345 0Zm-12.06 7.841.322 1.974.32 1.974h.002l-.016.003a12.043 12.043 0 0 0-.461.094 16.45 16.45 0 0 0-1.34.364c-1.11.35-2.427.895-3.501 1.68l-2.359-3.231c1.563-1.141 3.334-1.846 4.653-2.263a20.506 20.506 0 0 1 2.17-.557l.145-.027.043-.007.014-.003h.005l.003-.001Zm.646 3.948Zm-4.381 23.382A4.265 4.265 0 0 0 32.418 59H62v4H32.418a8.265 8.265 0 0 1-1.747-16.344l.844 3.91Z",fill:"#D8262C"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M44.637 9.187a6.178 6.178 0 0 0-5.297 2.938l-.59.963-4.484-.039h-2.294a2.163 2.163 0 0 0-2.028 2.916m0 0 1.466 3.944a3.213 3.213 0 0 0 3.011 2.093h.876l1.73 1.838a2.29 2.29 0 0 0 1.666.72h9.97a5.607 5.607 0 0 0 4.002-1.682l2.777-2.833 2.856 2.8-2.777 2.833a9.608 9.608 0 0 1-6.859 2.881h-9.969a6.287 6.287 0 0 1-4.579-1.978l-.598-.636a7.214 7.214 0 0 1-5.855-4.642l-1.467-3.945c-1.495-4.026 1.483-8.309 5.778-8.309h2.31l2.32.02a10.184 10.184 0 0 1 8.035-3.882 10.2 10.2 0 0 1 8.617 4.736c3.131.124 6.265.76 8.76 2.25 2.944 1.759 4.885 4.655 4.885 8.777 0 2.574-1.078 4.877-2.449 6.88-1.367 2-3.163 3.891-4.826 5.625l-.247.257c-1.619 1.686-3.092 3.221-4.197 4.743-1.165 1.604-1.718 2.928-1.718 4.095 0 1.443.535 2.218 1.325 2.73.92.598 2.388.951 4.33.951h9.466v4h-9.466c-2.303 0-4.663-.398-6.508-1.596-1.977-1.283-3.147-3.35-3.147-6.085 0-2.416 1.127-4.581 2.481-6.446 1.274-1.752 2.927-3.474 4.483-5.094l.311-.324c1.696-1.768 3.26-3.43 4.412-5.114 1.148-1.678 1.75-3.185 1.75-4.622 0-2.637-1.133-4.266-2.936-5.343-1.934-1.156-4.73-1.708-7.899-1.708h-1.268l-.54-1.147a6.21 6.21 0 0 0-5.619-3.565",fill:"#D8262C"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M43.754 33.77c-3.403 3.571-6.537 8.387-6.537 13.915 0 2.891.55 4.944 1.36 6.42.801 1.459 1.92 2.468 3.266 3.186C44.642 58.786 48.362 59 52 59v4c-3.584 0-8.255-.16-12.04-2.18-1.95-1.04-3.672-2.574-4.89-4.79-1.208-2.2-1.853-4.952-1.853-8.345 0-7.04 3.955-12.807 7.642-16.675a42.43 42.43 0 0 1 5.117-4.546 37.477 37.477 0 0 1 1.698-1.21 24.492 24.492 0 0 1 .627-.407l.04-.024.011-.007.004-.003h.002c0-.001.001-.001 1.038 1.709l1.037 1.71-.002.001-.021.014-.1.062a33.499 33.499 0 0 0-1.925 1.349 38.453 38.453 0 0 0-4.63 4.112Zm-15.719-4.35c-.517-.333-1.817-.301-2.728 1.112l-3.362-2.167c1.729-2.683 5.346-4.183 8.257-2.308 2.91 1.876 3.039 5.789 1.312 8.472l-3.364-2.165c.91-1.414.402-2.611-.114-2.944",fill:"#D8262C"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M28.69 16.334C19.14 20.648 12.5 30.256 12.5 41.409c0 15.188 12.313 27.5 27.5 27.5 12.711 0 23.413-8.625 26.561-20.346.612-2.28.94-4.678.94-7.154 0-5.906-1.86-11.371-5.026-15.85l3.267-2.309A31.365 31.365 0 0 1 71.5 41.41c0 2.83-.374 5.576-1.076 8.19v.001C66.818 63.025 54.566 72.91 40 72.91c-17.396 0-31.5-14.103-31.5-31.5 0-12.782 7.614-23.783 18.544-28.72l1.647 3.645Z",fill:"#D8262C"})]}),retrofitConverter:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#9b332062-dac8-4c98-a8de-b2c94972285b)",children:[l.jsx("path",{d:"M50.62 29.39a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm-21.24 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z",fill:"#D92327"}),l.jsx("path",{d:"M55.3 18.31 64.61 9m-39.88 9.31L15.42 9",stroke:"#D8262C",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M40 13.16c13.67 0 23 10.05 23 22.46v3.46c3.87 0 7 3.13 7 7v15c0 2.76-2.24 5-5 5s-5-2.24-5-5v-1M40 13.16c-13.67 0-23 10.05-23 22.46v3.46c-3.87 0-7 3.13-7 7v15c0 2.76 2.24 5 5 5s5-2.24 5-5v-1",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M50.63 46.46c1.24 1.98 1.94 4.34 1.89 6.85-.12 6.91-5.83 12.42-12.75 12.3M31.21 62a12.479 12.479 0 0 1-3.73-9.14c.12-6.91 5.83-12.42 12.75-12.3 1.16.02 2.28.2 3.34.51",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"m37.9 34.47 6.41 6.41-6.41 6.41m6.41 11.9-6.41 6.42 6.41 6.41",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"9b332062-dac8-4c98-a8de-b2c94972285b",children:l.jsx("path",{fill:"#fff",d:"M8 7h64v66.43H8z"})})})]}),actionChainer:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#8fd5ce72-f7f5-433f-9cbe-d0ff386e1519)",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",children:[l.jsx("path",{d:"M45.26 40.09c-7.35-1.03-13-7.34-13-14.97C32.25 16.77 39.02 10 47.38 10S62.5 16.77 62.5 25.12c0 5.22-2.64 9.82-6.67 12.54M32.25 55.73c0-4.18 1.69-7.96 4.43-10.69m0 0a15.07 15.07 0 0 1 10.69-4.43c8.35 0 15.12 6.77 15.12 15.12s-6.77 15.12-15.12 15.12c-6.77 0-12.5-4.45-14.43-10.59",fill:"none"}),l.jsx("path",{d:"M32.24 25.25c7.35 1.03 13 7.34 13 14.97 0 8.35-6.77 15.12-15.12 15.12S15 48.58 15 40.23c0-7.31 5.18-13.4 12.07-14.81",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"8fd5ce72-f7f5-433f-9cbe-d0ff386e1519",children:l.jsx("path",{fill:"#fff",d:"M13 8h51.5v64.85H13z"})})})]}),eightshiftCodingStandard:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#c541bc7a-6ebf-4be7-aa73-0a1fe1b59ca1)",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",children:[l.jsx("path",{d:"m48.91 47.32 11.94 10.57c2.11 1.91 2.19 5.2.17 7.21a4.988 4.988 0 0 1-7.21-.17l-10.5-12.02",fill:"none"}),l.jsx("path",{d:"M30.89 56.78c12.09 0 21.89-9.8 21.89-21.89S42.98 13 30.89 13 9 22.8 9 34.89s9.8 21.89 21.89 21.89Z",fill:"none"}),l.jsx("path",{d:"M30.89 48.71c7.632 0 13.82-6.187 13.82-13.82s-6.188-13.82-13.82-13.82c-7.633 0-13.82 6.187-13.82 13.82s6.187 13.82 13.82 13.82Z",fill:"none"}),l.jsx("path",{d:"m36.89 27.75-9.63 9.62 9.95 9.95m25.01-16.46 7.18 7.17-7.42 7.42M57.8 23.08l-5.12 9.74",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"c541bc7a-6ebf-4be7-aa73-0a1fe1b59ca1",children:l.jsx("path",{fill:"#fff",d:"M7 11h65.22v57.56H7z"})})})]}),eightshiftDashboardMonitor:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#fa4060d1-31f9-47ee-a144-aacf7aecc8c0)",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",children:[l.jsx("path",{d:"M38.61 59H16c-2.76 0-5-2.24-5-5V14h45c2.76 0 5 2.24 5 5v16.65",fill:"none"}),l.jsx("path",{d:"M53 66c8.837 0 16-7.163 16-16s-7.163-16-16-16-16 7.163-16 16 7.163 16 16 16Z",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"M53 55a5 5 0 1 0 0-10 5 5 0 0 0 0 10ZM27.75 37.61l-2.97-1.05a6.547 6.547 0 0 1-4-8.36 6.547 6.547 0 0 1 8.36-4l2.97 1.05",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"m33.97 36.58-5.21-1.87m7.55-5.01-5.55-1.99",fill:"none"}),l.jsx("path",{d:"M22.02 25.2c-1.51-.53-3.07.67-3.6 2.18-.53 1.51-.15 3.25 1.36 3.78m7.36 8.13 5.85-16.31",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"M19.76 27.88C15.69 26.45 11 23.45 11 16m42 29 7.39-7.39m-3.85 15.93v10.45M48 50l-7.39-7.39",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"fa4060d1-31f9-47ee-a144-aacf7aecc8c0",children:l.jsx("path",{fill:"#fff",d:"M9 12h62v56H9z"})})})]}),eightshiftGdpr:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#6d947cbc-7947-41d2-a0cc-c23e805d3752)",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"square",children:[l.jsx("path",{d:"M58.75 65h-37.5C17.8 65 15 62.2 15 58.75v-37.5C15 17.8 17.8 15 21.25 15h37.5C62.2 15 65 17.8 65 21.25v37.5C65 62.2 62.2 65 58.75 65Z",fill:"none"}),l.jsx("path",{d:"M50 27H23v27h27V27Z",fill:"none"}),l.jsx("path",{d:"m29.99 38.01 6 5.99L55 24.99",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"6d947cbc-7947-41d2-a0cc-c23e805d3752",children:l.jsx("path",{fill:"#fff",d:"M13 13h54v54H13z"})})})]}),eightshiftForms:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#b212a30b-8a5c-4319-844a-5cc0a5b35d11)",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",children:[l.jsx("path",{d:"M57 28H23v22h34V28Z",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"M33 35v10",fill:"none"}),l.jsx("path",{d:"M31 34h4m-4 10h4m23.75 21h-37.5C17.8 65 15 62.2 15 58.75v-37.5C15 17.8 17.8 15 21.25 15h37.5C62.2 15 65 17.8 65 21.25v37.5C65 62.2 62.2 65 58.75 65Z",strokeLinecap:"square",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"b212a30b-8a5c-4319-844a-5cc0a5b35d11",children:l.jsx("path",{fill:"#fff",d:"M13 13h54v54H13z"})})})]}),eightshiftDocs:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#74116306-3519-4f7a-bb59-c558ed93b8b5)",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",children:[l.jsx("path",{d:"M61 22.63c4.09 0 7.41 3.32 7.41 7.41v27.78c0 4.09-3.32 7.41-7.41 7.41H18.41c-4.09-.01-7.41-3.32-7.41-7.42V30.03c0-4.09 3.32-7.41 7.41-7.41",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"M39.71 17.53c-4.02-3.97-8.41-5.67-21.3.74v37.88c0 .41.33.74.74.74h15.38a5.17 5.17 0 0 1 5.17 5.17v2.68-2.68a5.17 5.17 0 0 1 5.17-5.17h15.38c.41 0 .74-.33.74-.74V18.27c-12.88-6.41-17.27-4.71-21.28-.74Z",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"M61 28.58c-12.89-6.41-17.28-4.7-21.3-.74M61 40.05c-12.89-6.41-17.28-4.7-21.3-.74M61 51.51c-12.89-6.41-17.28-4.7-21.3-.74",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"74116306-3519-4f7a-bb59-c558ed93b8b5",children:l.jsx("path",{fill:"#fff",d:"M9 12h61.41v55.22H9z"})})})]}),eightshiftFrontendLibs:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#d52dd685-4b43-4f14-83c7-7f9f9c5e6138)",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"square",children:[l.jsx("path",{d:"M41.11 14v15.36h15.35",fill:"none"}),l.jsx("path",{d:"M57.46 59.89v6.86H16V13h26.11l15.35 15.36v15",fill:"none"}),l.jsx("path",{d:"M63.68 44h-33v15h33V44Z",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"d52dd685-4b43-4f14-83c7-7f9f9c5e6138",children:l.jsx("path",{fill:"#fff",d:"M14 11h51.68v57.75H14z"})})})]}),eightshiftLibs1:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#6483b84f-b870-4980-baac-7fbb0ef69e71)",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",children:[l.jsx("path",{d:"M44.43 14v15.36h15.35",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"M61 67H19V13h26.81L61 28.43V67Z",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"m41.7 58.66-3.98-1.4a8.787 8.787 0 0 1-5.37-11.22 8.787 8.787 0 0 1 11.22-5.37l3.98 1.4m2.49 15.2-6.99-2.5m9.72-6.17-6.6-2.36",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"M34 42c-2.03-.71-4.11.9-4.83 2.92-.71 2.03-.2 4.37 1.83 5.08m9.87 10.91 7.85-21.89",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"M30.96 45.59C25.5 43.67 19 39 19 29",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"6483b84f-b870-4980-baac-7fbb0ef69e71",children:l.jsx("path",{fill:"#fff",d:"M17 11h46v58H17z"})})})]}),eightshiftLibs:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#3d82a66e-25df-490d-8f7b-15f3b6effac0)",children:[l.jsx("path",{d:"M67 13H13v54h54V13Z",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"M61 63a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm-42 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm42-42a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm-42 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z",fill:"#D92327"}),l.jsx("path",{d:"M40 59c10.493 0 19-8.507 19-19s-8.507-19-19-19-19 8.507-19 19 8.507 19 19 19Z",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"M45.56 55.78c2.77-7.93 7.6-22.91 7.6-25.17 0-5.69-4.99-6.54-6.89-4.18-4.18 5.18 5.03 11.33 2.91 18.42m-4.76 11.62-7.51-24.85m-2.14 25.97c.89-2.48 3.55-10.16 5.1-14.94m-6.47-9.59h5.36m-3.99 23.41-7.51-24.85m-4.57 1.44h6.43",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"3d82a66e-25df-490d-8f7b-15f3b6effac0",children:l.jsx("path",{fill:"#fff",d:"M11 11h58v58H11z"})})})]}),boilerplate:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#6242c987-27ea-4f6e-8ebc-c4c779f67374)",children:[l.jsx("path",{d:"M67 13H13v54h54V13Z",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"M61 63a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm-42 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm42-42a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm-42 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z",fill:"#D92327"}),l.jsx("path",{d:"M40 59c10.493 0 19-8.507 19-19s-8.507-19-19-19-19 8.507-19 19 8.507 19 19 19Z",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"square",fill:"none"}),l.jsx("path",{d:"M45.56 55.78c2.77-7.93 7.6-22.91 7.6-25.17 0-5.69-4.99-6.54-6.89-4.18-4.18 5.18 5.03 11.33 2.91 18.42m-4.76 11.62-7.51-24.85m-2.14 25.97c.89-2.48 3.55-10.16 5.1-14.94m-6.47-9.59h5.36m-3.99 23.41-7.51-24.85m-4.57 1.44h6.43",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"6242c987-27ea-4f6e-8ebc-c4c779f67374",children:l.jsx("path",{fill:"#fff",d:"M11 11h58v58H11z"})})})]}),secretsCli:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#7b9b4ab6-7355-4ebe-b0e3-bfc8e2fd588c)",children:[l.jsx("path",{d:"M33.57 44.96a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm6 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm6 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm-12 5.37a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm6 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm6 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm-12 5.37a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm6 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm6 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm-6 5.37a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z",fill:"currentColor"}),l.jsx("path",{d:"M50.99 33.84v-9.1c0-5.65-3.97-10.7-9.54-11.59-7.14-1.13-13.3 4.35-13.3 11.27v9.42",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{clipRule:"evenodd",d:"M57.13 66.82H22c-2.21 0-4-1.79-4-4V37.84c0-2.21 1.79-4 4-4h35.13c2.21 0 4 1.79 4 4v24.99c0 2.2-1.79 3.99-4 3.99Z",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"square",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"7b9b4ab6-7355-4ebe-b0e3-bfc8e2fd588c",children:l.jsx("path",{fill:"#fff",d:"M16 11h47.13v57.82H16z"})})})]}),jsonapiQuerybuilder:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#7cba23f5-900c-48ef-a878-753eca73dbff)",children:[l.jsx("path",{d:"M51.53 50.41c7.693 0 13.93-6.237 13.93-13.93s-6.237-13.93-13.93-13.93S37.6 28.787 37.6 36.48s6.237 13.93 13.93 13.93Z",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M16.72 65.52h26.02m6.72-42.82V14H16.72v41.8m35.74-5.55V22.7m-3 36.1v-8.55M16.72 65.52c-3.71 0-6.72-3.01-6.72-6.72v-2.84h29.07m10.39 2.84c0 3.71-3.01 6.72-6.72 6.72",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M24.74 28.05a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm0 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z",fill:"currentColor"}),l.jsx("path",{d:"M38.24 37.05h6.5m-16-3h9.5m-9.5-8h12.89m19.68 20.34 9.7 9.83",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"7cba23f5-900c-48ef-a878-753eca73dbff",children:l.jsx("path",{fill:"#fff",d:"M8 12h64.43v55.52H8z"})})})]}),chartsPainter:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#565d328f-0ba9-42ac-a0b9-ff3a7d8d349a)",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",children:[l.jsx("path",{clipRule:"evenodd",d:"M69.65 40.33c0 16.2-13.13 29.33-29.33 29.33-17.61 0-8.54-10.9-13.75-15.65C20.69 48.64 11 56.58 11 40.33 11 24.13 24.13 11 40.33 11c16.2 0 29.32 13.13 29.32 29.33Z",fill:"none"}),l.jsx("path",{d:"M39.24 54.13a5.82 5.82 0 1 0 0-11.64 5.82 5.82 0 0 0 0 11.64Zm-4.51-8.43L13.17 29.25M43.45 45.7l22.6-19.46M39.24 53.53l1.09 16.12m-2.18-26.56-4.89-31.23m11.2 39.19 16.05 10.54m-24.8-9.45-7.19 7.53",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"565d328f-0ba9-42ac-a0b9-ff3a7d8d349a",children:l.jsx("path",{fill:"#fff",d:"M9 9h62.65v62.65H9z"})})})]}),princeofversionsFlutter:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M65 35H12V7.941l18.642 10.716-1.995 3.468L16 14.855V31h45V14.854l-12.647 7.271-1.995-3.468L65 7.941v27.06Z",fill:"currentColor"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M48.542 26.773 38.99 13.772l-9.552 13-3.222-2.367L38.99 7.015l12.775 17.39-3.223 2.368ZM46.18 39.374l-7.19 9.788-7.19-9.788h-4.963L38.99 55.917l12.153-16.543H46.18Z",fill:"currentColor"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"m59.12 39.374-20.13 27.49-20.129-27.49h-4.957L38.99 73.636l25.086-34.262H59.12Zm3.326-4.544h.327l-.213-.155-.114.156Zm-47.238 0h.327l-.115-.155-.212.156Z",fill:"currentColor"})]}),princeofversionsIos:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M65 35H12V7.941l18.642 10.716-1.995 3.468L16 14.855V31h45V14.854l-12.647 7.271-1.995-3.468L65 7.941v27.06Z",fill:"#D92327"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M48.542 26.773 38.99 13.772l-9.552 13-3.222-2.367L38.99 7.015l12.775 17.39-3.223 2.368ZM46.18 39.374l-7.19 9.788-7.19-9.788h-4.963L38.99 55.917l12.153-16.543H46.18Z",fill:"#D92327"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"m59.12 39.374-20.13 27.49-20.129-27.49h-4.957L38.99 73.636l25.086-34.262H59.12Zm3.326-4.544h.327l-.213-.155-.114.156Zm-47.238 0h.327l-.115-.155-.212.156Z",fill:"#D92327"})]}),mailgunCatcher:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#6b7dee8e-4328-4d1a-b9f9-4454efca0565)",children:[l.jsx("path",{d:"M32.73 31.08a2.23 2.23 0 1 0 0-4.46 2.23 2.23 0 0 0 0 4.46Z",fill:"#D92327"}),l.jsx("path",{d:"M40.56 27.24c.11.52.16 1.06.16 1.61 0 4.42-3.58 8-8 8s-8-3.58-8-8 3.58-8 8-8c3.87 0 7.1 2.75 7.84 6.39Z",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M19.04 36.85a15.73 15.73 0 0 1-2.16-8C16.87 20.1 23.97 13 32.73 13c8.12 0 14.82 6.1 15.74 13.97 0 2.21-1.68 3.99-3.89 3.99a4.01 4.01 0 0 1-3.95-3.34",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M8 36.86h49.19",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M52.34 36.86c.16 1.01.24 2.05.24 3.11 0 11.05-8.95 28-20 28s-20-16.95-20-28c0-1.05.08-2.07.23-3.07m39.77 3.07H73.2M32.73 38.4v29.57m10-29.57v25.57m-20-25.57v24.57M14.4 46.64h36.36m-33.36 10h30.36",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"6b7dee8e-4328-4d1a-b9f9-4454efca0565",children:l.jsx("path",{fill:"#fff",d:"M6 11h67.2v58.97H6z"})})})]}),prometheus:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#d1444ede-6423-4934-a1c1-57e98224a95c)",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",children:[l.jsx("path",{d:"m56.41 51.62 8.89-8.88 8.88 8.88M6.41 42.74l8.89 8.88 8.88-8.88M45.55 16h-10c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4ZM29.93 44.05l8.65 8.8 14.97-15.12",fill:"none"}),l.jsx("path",{d:"M65.39 44.12c.11.95.16 1.91.16 2.88 0 13.81-11.19 25-25 25-9.48 0-17.72-5.27-21.96-13.04m-2.96-10.03c-.05-.64-.07-1.28-.07-1.93 0-13.81 11.19-25 25-25 9.35 0 17.51 5.14 21.79 12.74",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"d1444ede-6423-4934-a1c1-57e98224a95c",children:l.jsx("path",{fill:"#fff",d:"M5 6h70.59v68H5z"})})})]}),phrasingplus:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#352f3457-050f-4a9d-b366-8e32d43769f6)",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",children:[l.jsx("path",{d:"M19 54V26h5.79c3.66 0 7.29 2.93 7.73 6.56.55 4.56-2.99 8.44-7.44 8.44H23m16 13V24m0 19.58c0-3.4 3.52-6.1 7-5.68 2.9.35 5 2.97 5 5.89V54m9-12.75V71m0-61v24",fill:"none"}),l.jsx("path",{d:"M58 61H10V17h31m31 5H48",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"352f3457-050f-4a9d-b366-8e32d43769f6",children:l.jsx("path",{fill:"#fff",d:"M8 10h64v61H8z"})})})]}),fiscalizer:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#b4e1974a-e322-4da4-a802-4e7ff20f4059)",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",children:[l.jsx("path",{d:"M45.64 66.1H34.05C19.66 66.1 8 54.44 8 40.05S19.66 14 34.05 14h11.59",fill:"none"}),l.jsx("path",{d:"M45.64 66.1c14.387 0 26.05-11.663 26.05-26.05S60.027 14 45.64 14 19.59 25.663 19.59 40.05 31.253 66.1 45.64 66.1ZM8 40.05h11.59M10.9 53.2h11.59M10.9 26.9h11.59",fill:"none"}),l.jsx("path",{d:"M52.27 31.34c-4.58-4.71-12.95-3.84-12.95 1.92 0 6.77 13.3 5.11 13.3 12.54 0 5.38-9.17 8.29-14.72 2.39m7.74 3.22v5.57m0-33.86v5.57",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"b4e1974a-e322-4da4-a802-4e7ff20f4059",children:l.jsx("path",{fill:"#fff",d:"M6 12h67.69v56.1H6z"})})})]}),enumeration:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#2243c74e-e798-41a0-a62f-215549aaaeab)",children:[l.jsx("path",{d:"M56.12 48.66 39.49 30.99l5.09-7.34h23.07l5.09 7.34-16.62 17.67Z",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M13.72 65.52h26.02m6.72-46.47V14H13.72v41.8m32.74 3V38.95M13.72 65.52C10.01 65.52 7 62.51 7 58.8v-2.84h19.07m20.39 2.84c0 3.71-3.01 6.72-6.72 6.72",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M21.74 25.05a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm0 7.66a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm6 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm-6 7.67a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm6 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm6 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm-12 7.67a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm6 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm6 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm6 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z",fill:"#D92327"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"2243c74e-e798-41a0-a62f-215549aaaeab",children:l.jsx("path",{fill:"#fff",d:"M5 12h70.31v55.52H5z"})})})]}),phrasing:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{d:"M26 29v26h-4V25h7.792c4.705 0 9.153 3.718 9.713 8.32.693 5.713-3.738 10.68-9.429 10.68H28v-4h2.076c3.297 0 5.862-2.874 5.459-6.197-.31-2.544-3.013-4.803-5.743-4.803H26Zm20 26h-4V25h4v30Z",fill:"#D8262C"}),l.jsx("path",{d:"M46 44.583h-4c0-4.597 4.558-8.231 9.237-7.662C55.124 37.393 58 40.838 58 44.8V55h-4V44.8c0-1.988-1.418-3.686-3.245-3.909-2.388-.29-4.755 1.597-4.755 3.692ZM63 9h4v63h-4V9Z",fill:"#D8262C"}),l.jsx("path",{d:"M17 60h46v4H13V16h50v4H17v40Z",fill:"#D8262C"})]}),mobxJsonapi:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M12.892 17.646a.203.203 0 0 0-.018.073c0 .005 0 .026.018.072.019.05.062.137.156.258.196.255.56.59 1.172.974 1.229.77 3.14 1.537 5.679 2.21 5.049 1.34 12.135 2.19 20.039 2.19 7.904 0 14.989-.85 20.037-2.19 2.54-.673 4.45-1.44 5.679-2.21.612-.383.976-.72 1.172-.974.094-.121.137-.208.156-.258.018-.046.018-.067.018-.072 0-.006 0-.027-.018-.073a1.065 1.065 0 0 0-.156-.258c-.196-.255-.56-.59-1.172-.974-1.229-.77-3.14-1.538-5.679-2.211-5.049-1.339-12.133-2.19-20.037-2.19s-14.99.851-20.039 2.19c-2.54.673-4.45 1.44-5.679 2.21-.612.384-.976.72-1.172.975a1.06 1.06 0 0 0-.156.258Zm5.982-7.31c5.47-1.45 12.917-2.323 21.064-2.323S55.531 8.886 61 10.336c2.72.722 5.066 1.615 6.778 2.689C69.388 14.034 71 15.568 71 17.719c0 2.15-1.612 3.684-3.222 4.693C66.066 23.486 63.72 24.38 61 25.1c-5.47 1.45-12.915 2.324-21.062 2.324-8.148 0-15.594-.874-21.064-2.324-2.72-.721-5.066-1.614-6.778-2.688-1.61-1.009-3.222-2.543-3.222-4.693 0-2.15 1.612-3.685 3.222-4.694 1.712-1.074 4.058-1.967 6.778-2.689Zm48.104 21.87a.24.24 0 0 0 .022-.09h4c0 2.247-1.742 3.83-3.473 4.865-1.852 1.107-4.398 2.023-7.367 2.75l-.951-3.885c2.788-.683 4.9-1.482 6.267-2.299.681-.407 1.094-.77 1.32-1.05a1.19 1.19 0 0 0 .182-.291ZM67 46.515h4c0 1.9-1.258 3.327-2.615 4.307-1.404 1.013-3.32 1.859-5.54 2.56l-1.205-3.815c2.027-.64 3.49-1.33 4.404-1.989.451-.326.706-.6.838-.796.12-.177.118-.258.118-.267Z",fill:"#D8262C"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M9 60.846V18h4v42.846c0 .019.066.566 1.41 1.487 1.237.849 3.15 1.72 5.674 2.5 5.023 1.551 12.07 2.622 19.916 2.622 7.847 0 14.893-1.07 19.916-2.623 2.524-.78 4.437-1.65 5.674-2.499 1.344-.921 1.41-1.468 1.41-1.487V18h4v42.846c0 2.105-1.557 3.696-3.148 4.786-1.698 1.164-4.031 2.18-6.755 3.022-5.473 1.69-12.927 2.801-21.097 2.801-8.17 0-15.624-1.11-21.097-2.801-2.724-.842-5.057-1.858-6.755-3.022C10.558 64.542 9 62.951 9 60.846Z",fill:"#D8262C"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M50.994 50.313V50.3a3.259 3.259 0 0 1 .01-.279 6.056 6.056 0 0 1 .757-2.56c.887-1.574 2.63-2.884 5.514-2.884v4c-1.468 0-1.865.556-2.03.849a2.06 2.06 0 0 0-.25.878v7.091c0 1.865-.837 3.361-2.141 4.333-1.242.925-2.8 1.306-4.284 1.306v-4c.853 0 1.507-.225 1.894-.513.323-.241.53-.565.53-1.126v-7.08Z",fill:"#D8262C"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M50.464 35.426c-.387-.288-1.04-.513-1.894-.513v-4c1.484 0 3.042.381 4.284 1.306 1.304.972 2.14 2.468 2.14 4.333v6.235a1.917 1.917 0 0 0 .027.232c.034.195.102.43.224.647.165.293.563.85 2.03.85v4c-2.884 0-4.627-1.312-5.514-2.886a6.06 6.06 0 0 1-.767-2.84v-6.238c0-.561-.207-.884-.53-1.126ZM27.02 32.22c1.241-.926 2.8-1.307 4.284-1.307v4c-.853 0-1.507.226-1.894.514-.323.24-.53.564-.53 1.125v6.238a3.95 3.95 0 0 1-.01.279 6.062 6.062 0 0 1-.757 2.56c-.887 1.575-2.63 2.886-5.514 2.886v-4c1.467 0 1.865-.556 2.03-.85a2.066 2.066 0 0 0 .25-.878v-6.235c0-1.865.837-3.361 2.141-4.333Z",fill:"#D8262C"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M28.88 50.313V50.3a3.942 3.942 0 0 0-.01-.279 6.057 6.057 0 0 0-.757-2.56c-.887-1.574-2.63-2.884-5.514-2.884v4c1.468 0 1.865.556 2.03.849a2.063 2.063 0 0 1 .25.878v7.091c0 1.865.837 3.361 2.141 4.333 1.241.925 2.8 1.306 4.284 1.306v-4c-.853 0-1.507-.225-1.894-.513-.323-.241-.53-.565-.53-1.126v-7.08Zm6.843-3.613a2.583 2.583 0 1 1-5.167 0 2.583 2.583 0 0 1 5.167 0Zm6.817.03a2.583 2.583 0 1 1-5.169.001 2.583 2.583 0 0 1 5.168 0Zm6.816-.03a2.583 2.583 0 1 1-5.169.001 2.583 2.583 0 0 1 5.17-.002Zm-36.961-9.728C10.67 35.921 9 34.335 9 32.116h4c0 .024.046.569 1.476 1.44 1.33.81 3.404 1.608 6.19 2.29l-.952 3.885c-2.972-.728-5.492-1.646-7.319-2.759Zm-.864 13.834C10.18 49.804 9 48.378 9 46.515h4c0 .026.012.41.915 1.079.875.65 2.297 1.335 4.32 1.973l-1.205 3.815c-2.226-.703-4.12-1.552-5.499-2.576Z",fill:"#D8262C"})]}),mjolnir:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{d:"M41.419 41.419 15.756 67.083 8.124 59.45l22.53-22.53",stroke:"#D8262C",strokeWidth:"4",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"m56.18 10.872 7.632 7.63m1.624 18.968.227-6.986-10.856-10.857L43.948 8.77l-6.986.227-9.905 9.904-.226 6.986L37.69 36.744 40.945 40",stroke:"#D8262C",strokeWidth:"4",fill:"none"}),l.jsx("path",{clipRule:"evenodd",d:"M72.133 52.327c0 9.504-7.704 17.208-17.208 17.208-9.504 0-17.208-7.704-17.208-17.208 0-9.504 7.704-17.208 17.208-17.208 9.504 0 17.208 7.704 17.208 17.208Z",stroke:"#D8262C",strokeWidth:"4",fill:"none"}),l.jsx("path",{d:"M47 45h16m-18 7h20m-18 7h16",stroke:"#D8262C",strokeWidth:"4",fill:"none"})]}),mina:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{d:"m19.944 19.053-2.767-2.889A32.888 32.888 0 0 1 40 7a32.888 32.888 0 0 1 22.826 9.168l-2.767 2.888A28.889 28.889 0 0 0 40 11a28.889 28.889 0 0 0-20.055 8.053Z",fill:"#D8262C"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"m65.581 19.035-25.58 22.484-25.578-22.486-1.286 1.8A32.856 32.856 0 0 0 7 39.999c0 18.226 14.774 33 33 33s33-14.774 33-33a32.856 32.856 0 0 0-6.133-19.164l-1.286-1.8Zm-50.412 5.98 24.83 21.83 24.836-21.829A28.86 28.86 0 0 1 69 40c0 16.017-12.984 29-29 29S11 56.016 11 40c0-5.366 1.461-10.51 4.169-14.985Z",fill:"#D8262C"}),l.jsx("path",{d:"M53 32h4v20h-4V32Zm-30 0h4v20h-4V32Z",fill:"#D8262C"})]}),mediaBlender:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{d:"M14 23v36h-4V19h11v4h-7Zm51 0H27v-4h42v42H21v-4h44V23Z",fill:"#D8262C"}),l.jsx("path",{d:"M23 66h37v4H19V10h41v43h-4V14H23v52Z",fill:"#D8262C"}),l.jsx("path",{d:"M46 34h-7v-4h11v11h-4v-7ZM33 47h7v4H29V40h4v7Z",fill:"#D8262C"}),l.jsx("path",{d:"m32.34 50.597-2.83-2.829 16.517-16.516 2.828 2.829L32.34 50.597Z",fill:"#D8262C"})]}),material:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M16 17v48h48V17H16Zm44 44H20V21h40v40Z",fill:"#D8262C"}),l.jsx("path",{d:"m21.902 64.272-2.828-2.828 23.771-23.771 20.78 22.332-2.929 2.725-17.955-19.296-20.839 20.838Z",fill:"#D8262C"}),l.jsx("path",{d:"m34.064 47.55-2.665 2.983a12.38 12.38 0 0 1-4.143-9.214c-.021-6.85 5.515-12.422 12.365-12.443 6.852-.021 12.423 5.514 12.444 12.366a12.359 12.359 0 0 1-1.725 6.353l-3.44-2.038a8.359 8.359 0 0 0 1.166-4.303 8.404 8.404 0 0 0-8.431-8.378 8.404 8.404 0 0 0-8.378 8.43 8.38 8.38 0 0 0 2.808 6.245ZM67 21v-4h6v4h-6Zm0 44v-4h6v4h-6Zm-7 3h4v6h-4v-6Zm-44 0h4v6h-4v-6ZM60 8h4v6h-4V8ZM16 8h4v6h-4V8ZM7 21v-4h6v4H7Zm0 44v-4h6v4H7Z",fill:"#D8262C"})]}),learnquery:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M35.647 50.402a2.564 2.564 0 1 1-5.129.001 2.564 2.564 0 0 1 5.129-.001Z",fill:"#D8262C"}),l.jsx("path",{d:"M15.442 42.174a10.21 10.21 0 0 1 1.25 3.198 15.89 15.89 0 0 1 .324 3.219v13.594c0 .895.206 1.416.576 1.728.477.4 1.146.616 2.096.616h3.706v4h-3.706c-1.843 0-3.426-.509-4.671-1.555-1.348-1.135-2.001-2.787-2.001-4.79V48.592c0-.83-.08-1.634-.24-2.408a6.212 6.212 0 0 0-.765-1.953c-.341-.57-.82-1.086-1.449-1.552-.605-.449-1.426-.812-2.475-1.074l-.039-3.87c2.064-.56 3.304-1.443 3.884-2.624a10.54 10.54 0 0 0 1.084-4.723v-12.91c0-2.005.652-3.659 1.997-4.792 1.244-1.053 2.829-1.564 4.675-1.564h3.706v4h-3.706c-.948 0-1.616.215-2.094.62-.372.313-.578.836-.578 1.737v12.909c0 2.293-.5 4.465-1.494 6.487a7.833 7.833 0 0 1-2.315 2.791 9.26 9.26 0 0 1 2.235 2.509Zm50.24-5.299a14.54 14.54 0 0 1-1.494-6.489V17.477c0-.9-.207-1.423-.58-1.738-.477-.403-1.145-.619-2.092-.619H57.81v-4h3.706c1.844 0 3.43.512 4.674 1.564 1.345 1.137 1.998 2.79 1.998 4.793v12.91c0 1.684.36 3.252 1.084 4.724.58 1.18 1.819 2.062 3.882 2.622l-.038 3.87c-1.048.262-1.87.626-2.474 1.074-.629.466-1.108.983-1.45 1.554a6.205 6.205 0 0 0-.764 1.95c-.16.777-.24 1.58-.24 2.41v13.593c0 2.001-.654 3.654-2.002 4.79-1.243 1.046-2.827 1.554-4.67 1.554H57.81v-4h3.706c.95 0 1.619-.215 2.094-.614.371-.313.578-.835.578-1.73V48.591c0-1.098.107-2.173.323-3.221.235-1.132.653-2.2 1.25-3.196a9.28 9.28 0 0 1 2.235-2.509 7.831 7.831 0 0 1-2.314-2.79Z",fill:"#D8262C"}),l.jsx("path",{d:"M22 22h4v34h-4V22Zm33.08 22.772 3.84 1.12a8.897 8.897 0 0 1-2.71 4.277c-.392.346-.8.65-1.241.94-.168.11-.336.213-.521.325l-.405.239c-1.369.807-2.98 1.2-4.802 1.2-1.42 0-2.78-.273-4.062-.82a9.877 9.877 0 0 1-3.395-2.401c-.964-1.042-1.714-2.306-2.254-3.777-.538-1.462-.801-3.1-.801-4.907 0-1.808.263-3.446.8-4.908.543-1.476 1.303-2.744 2.285-3.788a10.072 10.072 0 0 1 3.403-2.39 10.347 10.347 0 0 1 4.099-.82c1.7 0 3.241.358 4.599 1.085 2 1.072 3.957 3.246 4.974 6.178l-3.779 1.311c-.674-1.945-1.94-3.35-3.084-3.963-.753-.403-1.646-.61-2.71-.61a6.36 6.36 0 0 0-2.528.498c-.775.33-1.457.81-2.06 1.452-.6.638-1.082 1.44-1.444 2.426-.366.998-.555 2.172-.555 3.529 0 1.356.189 2.53.555 3.528.364.991.844 1.8 1.436 2.44a5.875 5.875 0 0 0 2.029 1.438c.78.333 1.607.5 2.492.5 1.14 0 2.052-.223 2.768-.646.872-.515 1.13-.684 1.556-1.059a4.917 4.917 0 0 0 1.515-2.397Z",fill:"#D8262C"}),l.jsx("path",{d:"M55 29h4v30h-4V29Z",fill:"#D8262C"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M35.647 36.086a2.564 2.564 0 1 1-5.129.001 2.564 2.564 0 0 1 5.129-.001Z",fill:"#D8262C"})]}),goldfinger:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M50.125 30.349a3.022 3.022 0 1 0 0-6.044 3.022 3.022 0 0 0 0 6.044Zm-20.25 0a3.022 3.022 0 1 0 0-6.044 3.022 3.022 0 0 0 0 6.044Z",fill:"#D8262C"}),l.jsx("path",{d:"M56.714 19.642a2 2 0 1 1-2.828-2.829l9.313-9.312a2 2 0 1 1 2.828 2.829l-9.313 9.312Zm-30.566-2.829a2 2 0 0 1-2.829 2.829l-9.312-9.312a2 2 0 1 1 2.829-2.83l9.312 9.312ZM12 69h7v4H8V63h4v6Zm53-30h-7v-4h11v23a7 7 0 0 1-7 7H48v8H37v-4h7v-8h18a3 3 0 0 0 3-3V39Zm-21 0h-7v-4h11v11h-4v-7Z",fill:"#D8262C"}),l.jsx("path",{d:"M45.608 11.695c11.27 2.49 19.167 12.043 19.167 23.786h-4c0-9.842-6.57-17.79-16.03-19.88C30.698 12.497 19 22.227 19 36.864V39h-6v7H9V35h6.055c.976-16.132 14.582-26.834 30.552-23.305Zm-19.784 52.3a2 2 0 1 1 3.999.07l-.065 3.72a2 2 0 1 1-4-.07l.066-3.72Z",fill:"#D8262C"}),l.jsx("path",{d:"M37.62 62.766a2 2 0 1 1-3.908.857c-1.351-6.166-10.551-6.163-11.909.002a2 2 0 0 1-3.906-.86c2.28-10.35 17.452-10.357 19.723.001Z",fill:"#D8262C"}),l.jsx("path",{d:"M40.184 54.34a2 2 0 1 1-3.198 2.403c-4.435-5.904-14.134-5.914-18.551-.008a2 2 0 0 1-3.203-2.396c6.017-8.045 18.918-8.032 24.952.002Z",fill:"#D8262C"}),l.jsx("path",{d:"M37.103 43.71a2 2 0 0 1-1.972 3.48c-4.505-2.552-10.352-2.56-14.847-.014a2 2 0 1 1-1.971-3.48c5.719-3.24 13.063-3.23 18.79.014Z",fill:"#D8262C"})]}),princeofversionsAndroid:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#ceddb96d-a637-4e4d-8ae1-945c531d84ae)",children:[l.jsx("path",{d:"M50.62 30.39a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm-21.24 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z",fill:"#D92327"}),l.jsx("path",{d:"M55.3 19.31 64.61 10m-39.88 9.31L15.42 10",stroke:"#D8262C",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M40 14.16c13.67 0 23 10.05 23 22.46v3.46c3.87 0 7 3.13 7 7v15c0 2.76-2.24 5-5 5s-5-2.24-5-5v-1M40 14.16c-13.67 0-23 10.05-23 22.46v3.46c-3.87 0-7 3.13-7 7v15c0 2.76 2.24 5 5 5s5-2.24 5-5v-1",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{d:"M53.62 42.83H26.5v27.12h27.12V42.83Z",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"m35.16 61.18 11.25-11.25m-8.94-.38h9.06v9.07m-4.09 4.59h-9.07v-9.07",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"ceddb96d-a637-4e4d-8ae1-945c531d84ae",children:l.jsx("path",{fill:"#fff",d:"M8 8h64v63.95H8z"})})})]}),complexify1:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#1d4d076d-d9fd-4398-af3c-68e39a67f183)",children:[l.jsx("path",{d:"M48.62 31.39a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm-21.24 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z",fill:"#D92327"}),l.jsx("path",{d:"M53.3 20.31 62.61 11m-39.88 9.31L13.42 11",stroke:"#D8262C",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M38 15.16c13.67 0 23 10.05 23 22.46v3.46M38 15.16c-13.67 0-23 10.05-23 22.46v3.46c-3.87 0-7 3.13-7 7v15c0 2.76 2.24 5 5 5s5-2.24 5-5v-1",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",fill:"none"}),l.jsx("path",{clipRule:"evenodd",d:"M65.51 55.64H30.87a6.5 6.5 0 1 1 0-13h34.64a6.5 6.5 0 1 1 0 13Z",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M58.17 49.14h5.85",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{clipRule:"evenodd",d:"M65.51 68.64H30.87a6.5 6.5 0 1 1 0-13h34.64a6.5 6.5 0 1 1 0 13Z",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M32.15 62.14H38",stroke:"#D92327",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"1d4d076d-d9fd-4398-af3c-68e39a67f183",children:l.jsx("path",{fill:"#fff",d:"M6 9h68.01v61.64H6z"})})})]}),jsonapix:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{d:"M44.867 62.34v-2h-2v2h2Zm24.184-22.262 1.175 1.618-.011-3.244-1.164 1.626ZM44.774 17.663l-2-.022-.022 2.022h2.022v-2Zm.093-8.348v-2H42.89l-.022 1.977 2 .023ZM78.25 43.153l.958 1.756 1.042-.569v-1.187h-2ZM44.867 70.686h-2v2h2v-2ZM78.25 37.54h2v-1.11l-.94-.587-1.06 1.696Zm-1.559 6.464.958 1.755-.958-1.755Zm-.51-7.757-1.06 1.696 1.06-1.696ZM66.75 38.43l1.164-1.626-1.164 1.626Zm-3.344-6.464 2-.01-2 .01Zm3.32 9.802 1.175 1.618-1.175-1.618Zm-1.3 15.572v-9.1h-4v9.1h4ZM67.9 43.386l2.326-1.69-2.35-3.236-2.327 1.69 2.351 3.236Zm2.315-4.934-2.302-1.648-2.328 3.253 2.302 1.647 2.328-3.252Zm-4.81-6.496-.047-9.328-4 .02.047 9.328 4-.02Zm-7.047-16.293H44.774v4h13.584v-4Zm-11.584 2.023.093-8.35-4-.044-.093 8.349 4 .045Zm-1.907-6.371h15.614v-4H44.867v4Zm24.614 9v7.452h4v-7.452h-4Zm7.811 21.082-1.559.851 1.916 3.511 1.559-.85-1.916-3.511Zm-7.81 11.385v6.904h4v-6.904h-4Zm-9 15.904H44.866v4H60.48v-4ZM44.867 64.34h13.558v-4H44.867v4Zm2 6.346V62.34h-4v8.346h4Zm28.254-32.743 2.068 1.293 2.12-3.392-2.068-1.293-2.12 3.392Zm1.128-.403v5.613h4V37.54h-4Zm-.517 4.708a12 12 0 0 0-6.252 10.534h4a8 8 0 0 1 4.168-7.023l-1.916-3.511ZM69.48 27.767a12 12 0 0 0 5.64 10.176l2.12-3.392a8 8 0 0 1-3.76-6.784h-4Zm-9-16.452a9 9 0 0 1 9 9h4c0-7.18-5.82-13-13-13v4Zm4.877 11.313a7 7 0 0 0-7-6.965v4a3 3 0 0 1 3 2.985l4-.02Zm2.555 14.176a6 6 0 0 1-2.508-4.848l-4 .02a10 10 0 0 0 4.18 8.08l2.328-3.252ZM65.426 48.24a6 6 0 0 1 2.474-4.854l-2.35-3.237a10 10 0 0 0-4.124 8.091h4Zm4.055 11.446a9 9 0 0 1-9 9v4c7.18 0 13-5.82 13-13h-4Zm-8.055-2.346a3 3 0 0 1-3 3v4a7 7 0 0 0 7-7h-4Z",fill:"#D8262C"}),l.jsx("path",{d:"M46.67 62.29h2.756a5 5 0 0 0 5-5v-9.1a8 8 0 0 1 3.299-6.473l2.326-1.69-2.29-1.639a8 8 0 0 1-3.344-6.488l-.02-9.245a5 5 0 0 0-5-4.99H46.63",stroke:"#D8262C",strokeWidth:"4",strokeLinejoin:"bevel",fill:"none"}),l.jsx("path",{d:"M44.972 17.66v2h2v-2h-2ZM20.505 39.922l-1.175-1.618.01 3.244 1.165-1.626Zm24.467 22.321h2v-2h-2v2Zm0 8.442v2h2v-2h-2ZM11.306 35.847l-.74-1.858-1.26.501v1.357h2ZM44.972 9.314h2v-2h-2v2ZM11.306 43.46h-2v1.262l1.138.543.862-1.805Zm.466-7.799-.74-1.858.74 1.858Zm11.014 5.894-1.164 1.626 1.164-1.626Zm.045-3.323-1.175-1.618 1.175 1.618ZM24.13 22.66v9.1h4v-9.1h-4Zm-2.474 13.954-2.326 1.69 2.35 3.236 2.326-1.69-2.35-3.236Zm-2.315 4.934 2.28 1.633 2.33-3.253-2.282-1.632-2.328 3.252Zm4.789 6.512v9.183h4V48.06h-4Zm7 16.183h13.842v-4H31.13v4Zm11.842-2v8.442h4v-8.442h-4Zm2 6.442H29.074v4h15.898v-4Zm-24.898-9v-6.687h-4v6.687h4Zm-8.029-21.98.466-.185-1.479-3.717-.466.186 1.48 3.716Zm8.03-11.335v-6.056h-4v6.056h4Zm9-15.056h15.897v-4H29.074v4Zm15.897 4.346H31.13v4h13.842v-4Zm-2-6.346v8.346h4V9.314h-4ZM13.242 42.17l-1.075-.514-1.723 3.61 1.076.514 1.723-3.61Zm.064 1.291v-7.613h-4v7.613h4Zm-.795-5.94a12 12 0 0 0 7.563-11.15h-4a8 8 0 0 1-5.042 7.433l1.48 3.717Zm7.563 15.478a12 12 0 0 0-6.832-10.83l-1.722 3.61a8 8 0 0 1 4.554 7.22h4Zm9 15.687a9 9 0 0 1-9-9h-4c0 7.18 5.82 13 13 13v-4ZM24.13 57.243a7 7 0 0 0 7 7v-4a3 3 0 0 1-3-3h-4Zm-2.508-14.062a6 6 0 0 1 2.508 4.879h4a10 10 0 0 0-4.18-8.132l-2.328 3.253ZM24.13 31.76a6 6 0 0 1-2.474 4.854l2.35 3.237a10 10 0 0 0 4.124-8.091h-4Zm-4.056-11.446a9 9 0 0 1 9-9v-4c-7.18 0-13 5.82-13 13h4Zm8.056 2.346a3 3 0 0 1 3-3v-4a7 7 0 0 0-7 7h4Z",fill:"#D8262C"}),l.jsx("path",{d:"M34.251 70.685H20.074c-6.075 0-11-4.924-11-11v-7.948a8 8 0 0 0-4.554-7.22L2.306 43.46v-7.613l1.726-.687a8 8 0 0 0 5.042-7.433v-7.413c0-6.075 4.925-11 11-11h14.177M3.275 35.757h8.03m-8.029 8.012h8.736m46.604-3.357h10.207",stroke:"#D8262C",strokeWidth:"4",fill:"none"})]}),sentinelIos:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#d1111247-3645-4ffc-b34f-2ee979a20fa4)",children:[l.jsx("path",{d:"M41.08 58.49a3.08 3.08 0 1 0 0-6.16 3.08 3.08 0 0 0 0 6.16Zm9.66-1.21a1.87 1.87 0 1 0 0-3.74 1.87 1.87 0 0 0 0 3.74Zm-4.89 2.74a1.21 1.21 0 1 0 0-2.42 1.21 1.21 0 0 0 0 2.42Zm0-7.23a1.21 1.21 0 1 0 0-2.42 1.21 1.21 0 0 0 0 2.42Zm-14.61 4.49a1.87 1.87 0 1 0 0-3.74 1.87 1.87 0 0 0 0 3.74Zm4.9 2.74a1.21 1.21 0 1 0 0-2.42 1.21 1.21 0 0 0 0 2.42Zm0-7.23a1.21 1.21 0 1 0 0-2.42 1.21 1.21 0 0 0 0 2.42Z",fill:"currentColor"}),l.jsx("path",{clipRule:"evenodd",d:"M40.99 65.14c-4.25.08-7.61-1.39-9.72-3.72-.09 0-.17.01-.26.01A6.01 6.01 0 0 1 25 55.42c0-3.32 2.69-6.01 6.01-6.01.13 0 .25 0 .38.01 2.06-2.21 5.57-3.65 9.61-3.72 4.03.07 7.55 1.52 9.61 3.72.12-.01.25-.01.38-.01 3.32 0 6.01 2.69 6.01 6.01a6.01 6.01 0 0 1-6.01 6.01c-.09 0-.17 0-.26-.01-2.13 2.33-5.48 3.79-9.74 3.72Z",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M57.7 54.46h16.29m-17.65 4.35 5.65 5.65h11m-23.64-1.79 7.64 10.79h8m-8-20 15.5-15.5v-12.5",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M69.11 22.46a3.325 3.325 0 0 0 3.25 4c1.83 0 3.32-1.49 3.32-3.32 0-.23-.03-.46-.07-.68h-6.5Zm7.88 28.76a3.325 3.325 0 0 0-4 3.25c0 1.83 1.49 3.32 3.32 3.32.23 0 .46-.03.68-.07v-6.5Zm-2 10a3.325 3.325 0 0 0-4 3.25c0 1.83 1.49 3.32 3.32 3.32.23 0 .46-.03.68-.07v-6.5Zm-8 9a3.325 3.325 0 0 0-4 3.25c0 1.83 1.49 3.32 3.32 3.32.23 0 .46-.03.68-.07v-6.5Z",fill:"currentColor"}),l.jsx("path",{d:"M24.82 54.46H7m18 4-6 6H8m24.64-1.79L25 73.46h-8m8-20L9.5 37.96v-12.5",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M12.89 22.46a3.325 3.325 0 0 1-3.25 4c-1.83 0-3.32-1.49-3.32-3.32 0-.23.03-.46.07-.68h6.5ZM4 51.22a3.325 3.325 0 0 1 4 3.25c0 1.83-1.49 3.32-3.32 3.32-.23 0-.46-.03-.68-.07v-6.5Zm2 10a3.325 3.325 0 0 1 4 3.25c0 1.83-1.49 3.32-3.32 3.32-.23 0-.46-.03-.68-.07v-6.5Zm9 9a3.325 3.325 0 0 1 4 3.25c0 1.83-1.49 3.32-3.32 3.32-.23 0-.46-.03-.68-.07v-6.5Z",fill:"currentColor"}),l.jsx("path",{d:"M22.77 51.23c-1.31-3.45-2.13-7.17-2.13-10.61 0-10.38 6.48-15.82 12.56-15.82 3.95 0 7.02 2.28 9.07 2.28 1.76 0 5.04-2.42 9.3-2.42 7.33 0 10.22 5.22 10.22 5.22s-5.64 2.88-5.64 9.88c0 4.94 2.75 7.85 4.8 9.34",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{clipRule:"evenodd",d:"M44.893 11.318c3.66-3.756 8.104-3.3 8.104-3.3s.218 3.93-3.37 7.3c-3.838 3.603-7.614 2.534-7.614 2.534s-.374-3.195 2.88-6.534Z",stroke:"currentColor",strokeWidth:"4",strokeMiterlimit:"10",strokeLinecap:"round",fill:"none"}),l.jsx("path",{d:"M48.32 39.56a2.46 2.46 0 1 0 0-4.92 2.46 2.46 0 0 0 0 4.92Zm-12.2 0a2.46 2.46 0 1 0 0-4.92 2.46 2.46 0 0 0 0 4.92Z",fill:"currentColor"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"d1111247-3645-4ffc-b34f-2ee979a20fa4",children:l.jsx("path",{fill:"#fff",d:"M4 4h72.99v72.78H4z"})})})]}),sentinel:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsxs("g",{clipPath:"url(#3a7f3d86-f747-40d4-a256-dd9949fd3403)",fill:"#D92327",children:[l.jsx("path",{d:"M48.35 28.04c1.3 0 2.36-1.06 2.36-2.36 0-1.3-1.06-2.36-2.36-2.36-1.3 0-2.36 1.06-2.36 2.36 0 1.31 1.06 2.36 2.36 2.36Zm-16.72 0c1.3 0 2.36-1.06 2.36-2.36 0-1.3-1.06-2.36-2.36-2.36-1.3 0-2.36 1.06-2.36 2.36 0 1.31 1.06 2.36 2.36 2.36Zm8.45 23.99a3.08 3.08 0 1 0 0-6.16 3.08 3.08 0 0 0 0 6.16Zm9.66-4.95c-1.03 0-1.87.84-1.87 1.87 0 1.03.84 1.87 1.87 1.87 1.03 0 1.87-.84 1.87-1.87 0-1.03-.83-1.87-1.87-1.87Zm-4.89 4.06c-.67 0-1.21.54-1.21 1.21 0 .67.54 1.21 1.21 1.21.67 0 1.21-.54 1.21-1.21 0-.67-.54-1.21-1.21-1.21Zm0-4.81a1.21 1.21 0 1 0 0-2.42 1.21 1.21 0 0 0 0 2.42Zm-14.61.75c-1.03 0-1.87.84-1.87 1.87 0 1.03.84 1.87 1.87 1.87 1.03 0 1.87-.84 1.87-1.87 0-1.03-.84-1.87-1.87-1.87Zm4.9 4.06c-.67 0-1.21.54-1.21 1.21 0 .67.54 1.21 1.21 1.21.67 0 1.21-.54 1.21-1.21 0-.67-.54-1.21-1.21-1.21Zm0-4.81a1.21 1.21 0 1 0 0-2.42 1.21 1.21 0 0 0 0 2.42Z",fill:"none"}),l.jsx("path",{d:"M77.31 44.68c-1.08 0-2.03.52-2.63 1.32h-8.69v-5.49c0-.22-.01-.44-.03-.65l7.53-7.53V19.2c.71-.61 1.18-1.5 1.18-2.52 0-.23-.03-.46-.07-.68h-6.49a3.328 3.328 0 0 0 1.39 3.43v11.24l-5.15 5.15A7.546 7.546 0 0 0 60 33.15v-.2c0-5.33-1.97-10.03-5.25-13.5l6.03-6.03c.78-.78.78-2.05 0-2.83-.78-.78-2.05-.78-2.83 0l-6.25 6.25c-3.22-2.22-7.2-3.51-11.6-3.55v-.01h-.2v.01c-4.4.04-8.37 1.33-11.59 3.54l-6.24-6.24c-.78-.78-2.05-.78-2.83 0-.78.78-.78 2.05 0 2.83l6.02 6.02c-3.29 3.47-5.27 8.17-5.27 13.51v.2a7.495 7.495 0 0 0-4.35 2.67l-5.14-5.15V19.43A3.315 3.315 0 0 0 11.89 16h-6.5c-.04.22-.07.45-.07.68 0 1.01.46 1.91 1.18 2.52v13.13l7.52 7.52c-.02.22-.03.44-.03.66V46H5.31a3.29 3.29 0 0 0-2.63-1.32c-.23 0-.46.03-.68.07v6.49c.22.05.45.07.68.07 1.08 0 2.03-.52 2.63-1.32h8.68v3.07c0 1.51.57 2.89 1.5 3.93H7.31a3.29 3.29 0 0 0-2.63-1.32c-.23 0-.46.03-.68.07v6.49c.22.05.45.07.68.07 1.08 0 2.03-.52 2.63-1.32h10.52l2-2h.22c2.39 0 4.45-1.43 5.39-3.47.96.67 2.07 1.13 3.28 1.33L22.97 65h-5.65a3.29 3.29 0 0 0-2.63-1.32c-.23 0-.46.03-.68.07v6.49c.22.05.45.07.68.07 1.08 0 2.03-.52 2.63-1.32h7.72l7.14-10.09c2.23 1.2 4.88 1.83 7.82 1.76h.31c2.8 0 5.35-.62 7.51-1.78L54.96 69h7.72c.61.8 1.55 1.32 2.63 1.32.23 0 .46-.03.68-.07v-6.49c-.22-.05-.45-.07-.68-.07-1.08 0-2.03.52-2.63 1.32h-5.65l-5.76-8.14c1.2-.19 2.31-.66 3.27-1.33.94 2.04 3 3.47 5.39 3.47h.13c.03 0 .07 0 .1-.01l2 2h10.51c.61.8 1.55 1.32 2.63 1.32.23 0 .46-.03.68-.07v-6.49c-.22-.05-.45-.07-.68-.07-1.08 0-2.03.52-2.63 1.32h-8.19c.93-1.05 1.5-2.42 1.5-3.93V50h8.69c.61.8 1.55 1.32 2.63 1.32.23 0 .46-.03.68-.07v-6.49c-.21-.05-.44-.08-.67-.08ZM21.5 37h2.49v-4.05c0-9.05 6.72-15.62 16-15.67 9.28.05 16 6.62 16 15.67V37h2.49c1.27 0 2.37.68 2.99 1.69l-5.25 5.25a7.973 7.973 0 0 0-5.81-2.99c-2.52-2.3-6.26-3.65-10.46-3.72-4.14.07-7.87 1.42-10.39 3.72a8.005 8.005 0 0 0-5.8 2.99l-5.25-5.25A3.503 3.503 0 0 1 21.5 37Zm.49 16.07c0 1.07-.87 1.93-1.93 1.93h-.13c-1.07 0-1.93-.87-1.93-1.93v-4.99c0-.03.01-.05.01-.08s-.01-.05-.01-.08v-4.1l4.08 4.08c-.05.34-.08.69-.08 1.05v4.12h-.01Zm27.99-.11-1.11-.05-.63.7c-1.85 2.04-4.79 3.14-8.21 3.06h-.08c-3.42.07-6.36-1.03-8.21-3.06l-.63-.7-1.11.05c-2.21 0-4.01-1.8-4.01-4.01s1.8-4.01 4.01-4.01c.08 0 .17 0 .25.01l.95.05.64-.69c1.75-1.87 4.8-3.03 8.11-3.09 3.38.06 6.43 1.21 8.18 3.09l.65.69.94-.06c2.28-.13 4.27 1.71 4.27 4.01 0 2.21-1.8 4.01-4.01 4.01Zm8.01.11v-4.12c0-.35-.03-.7-.08-1.04l4.08-4.08v9.24c0 1.07-.87 1.93-1.93 1.93h-.13a1.94 1.94 0 0 1-1.94-1.93Z",fill:"none"})]}),l.jsx("defs",{children:l.jsx("clipPath",{id:"3a7f3d86-f747-40d4-a256-dd9949fd3403",children:l.jsx("path",{fill:"#fff",d:"M2 10h75.99v60.32H2z"})})})]}),goldeneye:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M65 38.224V36.54c0-6.86-2.604-12.884-6.943-17.241l7.969-7.97a2 2 0 1 0-2.828-2.828l-8.204 8.204C50.871 13.778 45.719 12.08 40 12.08c-5.71 0-10.854 1.692-14.974 4.612l-8.19-8.191a2 2 0 1 0-2.828 2.828l7.952 7.953C17.611 23.64 15 29.672 15 36.54v1.684c-4.003.912-7 4.5-7 8.776v15c0 3.86 3.141 7 7 7s7-3.14 7-7v-1h-4v1c0 1.655-1.346 3-3 3s-3-1.345-3-3V47c0-2.756 2.243-5 5-5h2v-5.46c0-11.854 8.832-20.46 21-20.46s21 8.606 21 20.46V42h2c2.757 0 5 2.244 5 5v15c0 1.655-1.346 3-3 3s-3-1.345-3-3v-1h-4v1c0 3.86 3.141 7 7 7s7-3.14 7-7V47c0-4.275-2.997-7.864-7-8.776Zm-35.625-13.92a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm21.25 0a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm-2.498 33.697-5.656 9.797c2.713-.474 5.222-1.767 7.249-3.722.423-.407.805-.843 1.169-1.293L48.127 58Zm-7.528 5.037H29.327l.12.142c.155.183.31.366.477.54a13.893 13.893 0 0 0 7.915 4.099l2.76-4.781Zm-8.808-13.18 4.983-9.471a13.887 13.887 0 0 0-6.493 3.537c-.423.407-.805.844-1.169 1.293l2.679 4.642Zm7.096-4.896h11.786l-.117-.139c-.156-.184-.311-.368-.48-.543a13.89 13.89 0 0 0-8.623-4.197l-2.566 4.879Zm14.179 4h-5.538l5.64 9.77a13.966 13.966 0 0 0-.102-9.77Zm-26.234.308a13.967 13.967 0 0 0 .103 9.768h5.537l-5.64-9.768Zm10.26 9.768h5.816L45.818 54l-2.91-5.038h-6.124l-2.627 4.993 2.935 5.083ZM40.42 36.01c.02 0 .04.002.06.004a17.87 17.87 0 0 1 12.475 5.489 17.882 17.882 0 0 1 5.042 12.82 17.88 17.88 0 0 1-5.5 12.632 17.872 17.872 0 0 1-12.82 5.042 17.88 17.88 0 0 1-12.632-5.5 17.88 17.88 0 0 1-5.042-12.82 17.88 17.88 0 0 1 5.5-12.632c3.46-3.34 8.052-5.115 12.821-5.042l.048.003a.774.774 0 0 0 .048.004Z",fill:"#D92327"})}),dox:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"m29.082 24-6.044 8.71 17.335 18.426 17.334-18.427L51.663 24h-22.58Zm20.487 4 3.004 4.328-12.2 12.97-12.201-12.97L31.175 28H49.57Z",fill:"#D8262C"}),l.jsx("path",{d:"M63 23a2 2 0 1 1 0-4c5.523 0 10 4.477 10 10v30c0 5.523-4.477 10-10 10H17c-5.523 0-10-4.477-10-10V29c0-5.523 4.477-10 10-10a2 2 0 1 1 0 4 6 6 0 0 0-6 6v30a6 6 0 0 0 6 6h46a6 6 0 0 0 6-6V29a6 6 0 0 0-6-6Z",fill:"#D8262C"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"m65 15.054-1.11-.552C51.855 8.522 45.534 8.252 40 12.8c-5.534-4.549-11.855-4.279-23.89 1.702l-1.11.552v42.148A2.798 2.798 0 0 0 17.798 60h16.614A3.588 3.588 0 0 1 38 63.588v2.897h4v-2.897A3.588 3.588 0 0 1 45.588 60h16.614A2.798 2.798 0 0 0 65 57.202V15.054Zm-25 3.252 1.405-1.388c4.377-4.321 8.74-4.619 19.595.622V56H45.588A7.57 7.57 0 0 0 40 58.455 7.568 7.568 0 0 0 34.412 56H19V17.54c10.854-5.241 15.218-4.943 19.595-.622L40 18.306Z",fill:"#D8262C"})]}),cookies:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M49.534 28.406a3.171 3.171 0 1 1-6.342 0 3.171 3.171 0 0 1 6.342 0Zm-16.52 23.667a3.355 3.355 0 1 1-6.71 0 3.355 3.355 0 0 1 6.71 0ZM27.316 36.78a3.26 3.26 0 1 0 0-6.52 3.26 3.26 0 0 0 0 6.52Z",fill:"#D8262C"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M38.467 15.12c-13.995 0-25.341 11.347-25.341 25.343 0 13.997 11.346 25.342 25.341 25.342.837 0 1.665-.041 2.482-.122a12.291 12.291 0 0 1-.136-1.823c0-3.486 1.467-6.62 3.802-8.839a14.74 14.74 0 0 1-.908-5.095c0-7.135 5.015-13.091 11.71-14.551.597-3.165 2.41-5.9 4.937-7.694-4.4-7.517-12.555-12.56-21.887-12.56ZM9.126 40.463c0-16.205 13.136-29.343 29.341-29.343 11.573 0 21.575 6.7 26.35 16.423l.892 1.816-1.826.87a8.219 8.219 0 0 0-4.666 6.983l-.09 1.702-1.695.181c-5.466.584-9.725 5.21-9.725 10.831 0 1.718.408 3.338 1.124 4.793l.744 1.512-1.363.99c-2.064 1.498-3.399 3.912-3.399 6.64 0 .987.175 1.936.492 2.809l.807 2.223-2.326.427c-1.724.316-3.5.485-5.319.485-16.205 0-29.341-13.136-29.341-29.342Z",fill:"#D8262C"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M66.424 44.544c-4.838-1.727-10.16.793-11.888 5.63l11.888-5.63Zm-8.111 6.949a16.13 16.13 0 0 1 7.732.78c.901.323 1.752.718 2.552 1.176a5.302 5.302 0 0 0-10.284-1.956Zm8.111-6.95c4.84 1.727 7.358 7.051 5.632 11.887l-.001.004a9.453 9.453 0 0 1-.526 1.182l-1.155 2.213-1.908-1.609a12.199 12.199 0 0 0-3.767-2.18 12.178 12.178 0 0 0-8.017-.064l-2.359.794-.268-2.474a9.261 9.261 0 0 1 .48-4.12l.001-.001",fill:"#D8262C"})]}),complexify:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{d:"M16.596 37.558c0-12.926 10.479-22.404 23.404-22.404 12.926 0 23.405 9.478 23.405 22.404",stroke:"#D8262C",strokeWidth:"4",fill:"none"}),l.jsx("path",{clipRule:"evenodd",d:"M10 68h60V43H10v25Z",stroke:"#D8262C",strokeWidth:"4",fill:"none"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M59.035 58.152a2.915 2.915 0 1 0 0-5.829 2.915 2.915 0 0 0 0 5.83Zm-12.632 0a2.915 2.915 0 1 0 .001-5.829 2.915 2.915 0 0 0 0 5.83Zm-12.631 0a2.915 2.915 0 1 0 0-5.83 2.915 2.915 0 0 0 0 5.83Zm-12.632 0a2.915 2.915 0 1 0 0-5.83 2.915 2.915 0 0 0 0 5.83Z",fill:"#D8262C"}),l.jsx("path",{d:"m55.3 20.227 9.313-9.312m-39.88 9.312-9.312-9.312",stroke:"#D8262C",strokeWidth:"4",strokeLinecap:"round",fill:"none"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M50.125 33.349a3.022 3.022 0 1 0 0-6.044 3.022 3.022 0 0 0 0 6.044Zm-20.25 0a3.022 3.022 0 1 0 0-6.044 3.022 3.022 0 0 0 0 6.044Z",fill:"#D8262C"})]}),annotationClustering:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M53.405 56.358C61.25 48.661 66 40.705 66 32.763 66 18.533 54.358 7 40 7 25.643 7 14 18.533 14 32.763c0 7.842 4.748 15.772 12.591 23.505 2.692 2.654 5.569 5.097 8.446 7.278a81.121 81.121 0 0 0 2.788 2.025 54.402 54.402 0 0 0 1.087.734l1.08.695 1.084-.688a52.045 52.045 0 0 0 1.089-.725 79.041 79.041 0 0 0 2.79-2.003 84.524 84.524 0 0 0 8.45-7.226Zm-2.81-3.021c-2.557 2.496-5.304 4.797-8.05 6.846A75.618 75.618 0 0 1 40.007 62a77.683 77.683 0 0 1-2.544-1.843c-2.748-2.072-5.496-4.393-8.054-6.903C22.252 46.234 18 39.168 18 32.676 18 20.706 27.849 11 40 11c12.152 0 22 9.706 22 21.676 0 6.593-4.25 13.676-11.405 20.66Z",fill:"#D92327"}),l.jsx("path",{d:"M42.747 40v4H28v-2c0-2.69 1.54-4.53 4.937-7.135.348-.266.7-.531 1.394-1.051 3.485-2.62 4.736-4.046 4.736-5.651 0-1.61-1.502-3.163-3.28-3.163-1.737 0-3.213.994-3.63 3.052l-3.851-.806c.83-4.1 4.018-6.246 7.482-6.246C39.75 21 43 24.359 43 28.163c0 3.407-1.809 5.467-6.331 8.867-.698.524-1.034.776-1.365 1.03-.982.753-1.723 1.388-2.256 1.94h9.699ZM47 22h4v22h-4V22Zm6.637 43.503c-2.192-.729-5.328-1.268-8.898-1.509l.269-3.992C53.88 60.6 60 62.634 60 66.427 60 70.766 51.45 73 40.5 73S21 70.766 21 66.427c0-3.02 3.576-4.74 9.37-5.762A53.426 53.426 0 0 1 36.036 60l.264 3.993a49.448 49.448 0 0 0-5.238.612c-2.168.383-3.928.89-5.084 1.445a5.6 5.6 0 0 0-.674.377l.121.077c.686.424 1.786.85 3.205 1.22C31.714 68.53 35.956 69 40.5 69s8.786-.47 11.869-1.275c1.419-.37 2.52-.796 3.205-1.22.043-.026.083-.052.12-.077-.45-.302-1.15-.623-2.057-.924Z",fill:"#D92327"})]}),andoidinspector:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[l.jsx("path",{d:"M18.596 37.558h-4c0-13.868 11.198-24.405 25.404-24.405 14.207 0 25.405 10.537 25.405 24.405V57.25h-4V37.558c0-11.603-9.355-20.405-21.405-20.405s-21.404 8.802-21.404 20.405Z",fill:"#D8262C"}),l.jsx("path",{d:"M56.714 21.642a2 2 0 1 1-2.828-2.829l9.313-9.312a2 2 0 1 1 2.828 2.829l-9.313 9.312Zm-30.566-2.829a2 2 0 0 1-2.829 2.829l-9.312-9.312a2 2 0 1 1 2.829-2.83l9.312 9.312Z",fill:"#D8262C"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M20.048 69.64c9.6 2.121 19.102-3.942 21.223-13.541 2.122-9.6-3.941-19.103-13.542-21.224-9.599-2.121-19.101 3.942-21.221 13.542-2.122 9.6 3.94 19.102 13.54 21.223Zm6.818-30.86c7.443 1.646 12.144 9.013 10.5 16.455-1.645 7.443-9.012 12.144-16.455 10.5-7.443-1.646-12.142-9.012-10.498-16.456 1.644-7.442 9.011-12.143 16.453-10.498Z",fill:"#D8262C"}),l.jsx("path",{d:"m47.726 59.572-8.839-1.952.863-3.906 4.933 1.09.761-3.444 24.124 5.33-2.815 12.741-20.558-4.541.863-3.906 16.652 3.679 1.09-4.93-16.313-3.605-.761 3.444ZM17.794 51.69l-3.906-.863c1.342-6.076 7.355-9.913 13.432-8.57l-.863 3.905a7.266 7.266 0 0 0-8.663 5.528Z",fill:"#D8262C"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M50.125 32.35a3.023 3.023 0 1 0-.001-6.046 3.023 3.023 0 0 0 .001 6.045Zm-20.25 0a3.023 3.023 0 1 0-.001-6.046 3.023 3.023 0 0 0 .001 6.045Z",fill:"#D8262C"})]})},p={error:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"M4.222 19.778 19.778 4.222m-15.556 0 15.556 15.556",stroke:"currentColor",strokeWidth:"2",fill:"none"})}),warningCircle:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M12 23C5.925 23 1 18.075 1 12S5.925 1 12 1s11 4.925 11 11-4.925 11-11 11ZM3 12a9 9 0 1 0 18 0 9 9 0 0 0-18 0Zm10-6v7h-2V6h2Z",fill:"currentColor"}),l.jsx("circle",{cx:"1.25",cy:"1.25",r:"1.25",transform:"matrix(1 0 0 -1 10.75 18)",fill:"currentColor"})]}),warning:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"M1 21 12 2l11 19H1Zm2.883-1.667h16.234L12 5.333l-8.117 14Zm8.187-1.283a.815.815 0 0 0 .83-.836.815.815 0 0 0-.836-.83.814.814 0 0 0-.83.836.814.814 0 0 0 .836.83Zm-.837-2.85H12.9V9.8h-1.667v5.4Z",fill:"currentColor"})}),lightbulb:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"M11.975 23a2.42 2.42 0 0 1-1.302-.353 1.844 1.844 0 0 1-.788-.967h-.257c-.495 0-.924-.182-1.288-.545a1.761 1.761 0 0 1-.545-1.288v-3.924a8.44 8.44 0 0 1-2.773-2.96C4.341 11.753 4 10.422 4 8.975c0-2.218.775-4.102 2.324-5.651C7.873 1.774 9.757 1 11.975 1s4.102.775 5.651 2.324c1.55 1.549 2.324 3.433 2.324 5.651 0 1.46-.34 2.793-1.022 3.997a8.465 8.465 0 0 1-2.773 2.951v3.924c0 .495-.182.924-.545 1.288a1.761 1.761 0 0 1-1.288.545h-.257c-.147.41-.41.732-.788.967a2.416 2.416 0 0 1-1.302.353Zm-2.347-3.153h4.694V18.71H9.628v1.137Zm0-2.237h4.694v-1.082H9.628v1.082Zm-.238-2.915h1.888v-3.502L8.785 8.7l.953-.953 2.237 2.236 2.237-2.236.953.953-2.493 2.493v3.502h1.888c1.063-.501 1.922-1.267 2.576-2.296.654-1.03.98-2.171.98-3.424 0-1.723-.592-3.178-1.778-4.363-1.185-1.186-2.64-1.779-4.363-1.779-1.723 0-3.178.593-4.363 1.779-1.186 1.185-1.779 2.64-1.779 4.363 0 1.253.327 2.394.981 3.424.654 1.03 1.513 1.795 2.576 2.296Z",fill:"currentColor"})}),checkmark:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"M20 7 9 18l-5-5",stroke:"currentColor",strokeWidth:"2",fill:"none"})}),info:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:[l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1ZM3 12a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm10 5v-7h-2v7h2Z",fill:"currentColor"}),l.jsx("circle",{cx:"12",cy:"7.25",r:"1.25",fill:"currentColor"})]}),keepOut:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1ZM3 12a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm5 1h8v-2H8v2Z",fill:"currentColor"})}),person:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:[l.jsx("path",{d:"M20 23a8 8 0 1 0-16 0",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("circle",{cx:"12",cy:"8",r:"6",stroke:"currentColor",strokeWidth:"2",fill:"none"})]}),sun:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:[l.jsx("path",{d:"M12 16a4 4 0 1 0 0-8 4 4 0 0 0 0 8Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),l.jsx("path",{d:"M12 4.196V2.5M6.482 6.482l-1.2-1.2M4.196 12H2.5m3.982 5.518-1.2 1.2M12 19.804V21.5m5.518-3.982 1.2 1.2M19.804 12H21.5m-3.982-5.518 1.2-1.2",stroke:"currentColor",strokeWidth:"1.80952",strokeLinecap:"square",strokeLinejoin:"round",fill:"none"})]}),page:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M6 1a3 3 0 0 0-3 3v16a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V9a1 1 0 0 0-.24-.65l-6-7A1 1 0 0 0 14 1H6ZM5 4a1 1 0 0 1 1-1h6v7h7v10a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V4Zm12.826 4L14 3.537V8h3.826Z",fill:"currentColor"})}),play:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"M21 12 7 20V4l14 8Z",stroke:"currentColor",strokeWidth:"2",fill:"none"})}),moon:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"m4.44 16.295-.14-.868-1.33.214.732 1.132.738-.478ZM9.82 4.188l-.139-.868-1.331.214.733 1.132.738-.478Zm.388 4.295c0 3.5-2.559 6.406-5.908 6.944l.28 1.736a8.794 8.794 0 0 0 7.386-8.68h-1.758ZM9.083 4.666a6.997 6.997 0 0 1 1.125 3.817h1.758A8.756 8.756 0 0 0 10.56 3.71l-1.476.956Zm.877.39a7.09 7.09 0 0 1 1.127-.09V3.208a8.85 8.85 0 0 0-1.406.112l.28 1.736Zm1.127-.09A7.034 7.034 0 0 1 18.121 12h1.758a8.792 8.792 0 0 0-8.792-8.792v1.758ZM18.121 12a7.034 7.034 0 0 1-7.034 7.034v1.758A8.792 8.792 0 0 0 19.879 12h-1.758Zm-7.034 7.034a7.027 7.027 0 0 1-5.909-3.216l-1.476.955a8.786 8.786 0 0 0 7.385 4.02v-1.76Z",fill:"currentColor"})}),search:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M10.5 3a7.5 7.5 0 1 0 4.55 13.462l.043.045 5.2 5.2a1 1 0 0 0 1.414-1.414l-5.2-5.2a1.116 1.116 0 0 0-.045-.042A7.5 7.5 0 0 0 10.5 3ZM5 10.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0Z",fill:"currentColor"})}),book:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:[l.jsx("path",{d:"M4 19.5V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("path",{d:"M21 22H6.5a2.5 2.5 0 0 1 0-5H21",stroke:"currentColor",strokeWidth:"2",fill:"none"}),l.jsx("path",{d:"M21 17h-.5a2.5 2.5 0 0 0 0 5h.5",stroke:"currentColor",strokeWidth:"2",fill:"none"})]}),chartBar:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"M14.944 21V3h-6.06v18m6.059 0-.002-10.21a1 1 0 0 1 1-1H21V21h-6.056Zm0 0H8.884m0 0v-6.442a1 1 0 0 0-1-1H3V21h5.885Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"})}),chartLine:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"M3 3.5V21h19.5M3 19.556l9.152-9.167 3.051 3.056L21 7.75",stroke:"currentColor",strokeWidth:"2",fill:"none"})}),paperClip:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"m21.438 11.662-9.19 9.19a6.003 6.003 0 1 1-8.49-8.49l9.19-9.19a4.002 4.002 0 0 1 5.66 5.66l-9.2 9.19a2.001 2.001 0 1 1-2.83-2.83l8.49-8.48",stroke:"currentColor",strokeWidth:"2",fill:"none"})}),settings:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"m8.756 4.255 1.271-1.826a1 1 0 0 1 .82-.429h1.806a1 1 0 0 1 .819.426L14.73 4.22m-5.974.035c-.347.495-.923.738-1.535.695m1.535-.695c-.349.494-.923.74-1.535.695m0 0-2.25-.142a1 1 0 0 0-.835.364l-1.14 1.39a1 1 0 0 0-.179.943l.656 2.02m0 0c.09.288.1.597.037.889m-.037-.889c.09.288.101.596.036.892m0-.003c-.064.288-.202.56-.407.78m.408-.78v.003m-.408.778-1.486 1.598a1 1 0 0 0-.24.916l.403 1.668a1 1 0 0 0 .628.704l2.041.749c.285.11.531.29.718.515m-2.064-6.15c.206-.219.343-.49.407-.778m1.657 6.928c.185.226.31.5.36.795m-.36-.795c.186.226.313.499.36.795m-.36-.795-.003-.003a1.973 1.973 0 0 0-.038-.045m.4.843.348 2.136a1 1 0 0 0 .566.746l1.628.756a1 1 0 0 0 .91-.034l1.913-1.07m0 0a1.75 1.75 0 0 1 .857-.225m-.857.224a1.707 1.707 0 0 1 .857-.224m0 0a1.786 1.786 0 0 1 .861.224m-.861-.224c.297 0 .595.074.861.224m0 0 2.004 1.085a1 1 0 0 0 .907.023l1.62-.774a1 1 0 0 0 .558-.754l.312-2.075m0 0a1.68 1.68 0 0 1 .355-.801m-.355.801c.045-.298.17-.573.355-.801m0 0a1.74 1.74 0 0 1 .71-.518m-.71.518c.183-.227.425-.408.71-.518m0 0 2.063-.808a1 1 0 0 0 .61-.708l.386-1.69a1 1 0 0 0-.24-.9l-1.496-1.619m0 0a1.738 1.738 0 0 1-.425-.766m.425.766a1.76 1.76 0 0 1-.425-.766m0 0a1.598 1.598 0 0 1 .022-.86l.647-2.073a1 1 0 0 0-.182-.933l-1.113-1.353a1 1 0 0 0-.845-.362l-2.223.163m0 0a1.76 1.76 0 0 1-.87-.162m.87.162a1.737 1.737 0 0 1-.87-.162m0 0a1.735 1.735 0 0 1-.678-.568m.678.568a1.714 1.714 0 0 1-.678-.568M3.51 10.417v-.004m11.626 1.598c0 1.865-1.546 3.376-3.453 3.376-1.906 0-3.452-1.511-3.452-3.376s1.546-3.377 3.452-3.377c1.907 0 3.453 1.512 3.453 3.377Z",stroke:"currentColor",strokeWidth:"2",strokeMiterlimit:"16",fill:"none"})}),postItNote:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"M3.852 20.148h10.74v-5.555h5.556V3.852H3.852v16.296Zm0 1.852c-.51 0-.945-.181-1.308-.544A1.783 1.783 0 0 1 2 20.148V3.852c0-.51.181-.945.544-1.308A1.783 1.783 0 0 1 3.852 2h16.296c.51 0 .945.181 1.308.544.363.363.544.799.544 1.308v11.481L15.333 22H3.852Zm2.963-8.148V12h5v1.852h-5Zm0-4.445V7.556h10.37v1.851H6.815Z",fill:"currentColor"})}),verified:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"m8.633 22.5-1.9-3.233-3.716-.784.4-3.683L1 12l2.417-2.783-.4-3.684 3.716-.783 1.9-3.25L12 3.017 15.367 1.5l1.916 3.25 3.7.783-.4 3.684L23 12l-2.417 2.8.4 3.683-3.7.784-1.916 3.233L12 20.983 8.633 22.5Zm.734-2.167L12 19.217l2.7 1.116 1.583-2.466 2.867-.717-.283-2.917L20.833 12l-1.966-2.283.283-2.917-2.867-.667-1.633-2.466L12 4.783 9.3 3.667 7.717 6.133 4.85 6.8l.283 2.917L3.167 12l1.966 2.233L4.85 17.2l2.867.667 1.65 2.466Zm1.566-4.933L16.6 9.767 15.383 8.6l-4.45 4.417-2.3-2.35L7.4 11.883l3.533 3.517Z",fill:"currentColor"})}),danger:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"M7.833 22 2 16.167V7.833L7.833 2h8.334L22 7.833v8.334L16.167 22H7.833Zm.834-5.37L12 13.296l3.333 3.334 1.297-1.297L13.296 12l3.334-3.333-1.297-1.297L12 10.704 8.667 7.37 7.37 8.667 10.704 12 7.37 15.333l1.297 1.297Zm-.056 3.518h6.778l4.76-4.76V8.612l-4.76-4.76H8.61l-4.76 4.76v6.778l4.76 4.76Z",fill:"currentColor"})}),checkCircle:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"M10.55 16.567 17.617 9.5l-1.234-1.217-5.833 5.834-2.95-2.95-1.217 1.216 4.167 4.184ZM12 22a9.696 9.696 0 0 1-3.883-.788 10.13 10.13 0 0 1-3.184-2.145 10.129 10.129 0 0 1-2.145-3.184A9.696 9.696 0 0 1 2 12a9.74 9.74 0 0 1 .788-3.9 10.028 10.028 0 0 1 2.145-3.175 10.2 10.2 0 0 1 3.184-2.137A9.696 9.696 0 0 1 12 2a9.74 9.74 0 0 1 3.9.788 10.098 10.098 0 0 1 3.175 2.137c.9.9 1.613 1.958 2.137 3.175A9.738 9.738 0 0 1 22 12a9.696 9.696 0 0 1-.788 3.883 10.2 10.2 0 0 1-2.137 3.184c-.9.905-1.958 1.62-3.175 2.145A9.738 9.738 0 0 1 12 22Zm0-1.667c2.322 0 4.292-.81 5.908-2.433 1.617-1.622 2.425-3.589 2.425-5.9 0-2.322-.808-4.292-2.425-5.908C16.292 4.475 14.322 3.667 12 3.667c-2.311 0-4.278.808-5.9 2.425C4.478 7.708 3.667 9.678 3.667 12c0 2.311.81 4.278 2.433 5.9 1.622 1.622 3.589 2.433 5.9 2.433Z",fill:"currentColor"})})},f=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter(Boolean).join(" ")},b=e=>{var t,n,s,a;const{type:r="info",children:i,title:c}=e,d={note:{label:"Note",icon:p.postItNote,iconClass:"text-violet-30"},tip:{label:"Tip",icon:p.lightbulb,iconClass:"text-sand-30"},info:{label:"Info",icon:p.info,iconClass:"text-sky-30"},caution:{label:"Caution",icon:p.warning,iconClass:"text-candy-30"},danger:{label:"Danger",icon:p.danger,iconClass:"text-candy-30"},success:{label:"Success",icon:p.checkCircle,iconClass:"text-olive-30"}};return r&&Object.keys(d).includes(r)?l.jsxs("div",{className:f(`es-alert es-alert--${r}`,"m-0 my-10 pl-10 pr-0 py-4 border-l-4 border-l-infinum","info"===r&&"border-l-sky-30","tip"===r&&"border-l-sand-30","note"===r&&"border-l-violet-30","success"===r&&"border-l-olive-30","danger"===r&&"border-l-candy-30","caution"===r&&"border-l-candy-30"),children:[":es-hide-title:"!==c&&l.jsxs("i",{className:"flex gap-1.5 items-center font-sans text-12 uppercase not-italic leading-none font-medium mb-2",children:[(null==(t=d[r])?void 0:t.icon)&&o.cloneElement(null==(n=d[r])?void 0:n.icon,{className:f("w-6 h-6",null==(s=d[r])?void 0:s.iconClass)}),l.jsx("span",{className:"text-grey-500",children:c??(null==(a=d[r])?void 0:a.label)})]}),l.jsx("div",{className:"font-sans text-16 text-black",children:i})]}):null},h=e=>{const{label:t,url:n,external:s=(null==n?void 0:n.startsWith("http")),anchor:o=(null==n?void 0:n.startsWith("#"))}=e;let a={};s&&(a={rel:"noopener noreferrer",target:"_blank"});const r="group isolate overflow-hidden relative bg-infinum text-white hover:text-white px-7.5 py-3.75 rounded-full inline-flex items-center gap-3 cursor-pointer text-16 font-bold before:bg-black before:absolute before:inset-0 before:-z-10 before:translate-y-full-plus-px hover:before:translate-y-0 focus:before:translate-y-0 before:transition-transform before:duration-300 hover:decoration-transparent focus:outline-offset-4 focus:outline-infinum";if(o){const e=()=>{const e=document.querySelector(n);e&&e.scrollIntoView({behavior:"smooth",block:"start",inline:"nearest"})};return l.jsxs("button",{className:r,onClick:e,children:[l.jsx("span",{className:"group-hover:translate-x-3 group-focus:translate-x-3 transition duration-500",children:t}),l.jsx("svg",{className:"group-hover:opacity-0 group-hover:translate-x-3 group-hover:scale-75 group-focus:opacity-0 group-focus:translate-x-3 group-focus:scale-75 origin-right transition duration-500",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 17 16",fill:"none",height:"16",width:"17",children:l.jsx("path",{d:"M.5 8h14M9.234 2.725l5.978 5.979m-5.978 4.57 5.978-5.978",stroke:"currentColor",strokeWidth:"2",fill:"none"})})]})}return l.jsxs("a",{className:r,href:n,...a,children:[l.jsx("span",{className:"group-hover:translate-x-3 group-focus:translate-x-3 transition duration-500",children:t}),l.jsx("svg",{className:"group-hover:opacity-0 group-hover:translate-x-3 group-hover:scale-75 group-focus:opacity-0 group-focus:translate-x-3 group-focus:scale-75 origin-right transition duration-500",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 17 16",fill:"none",height:"16",width:"17",children:l.jsx("path",{d:"M.5 8h14M9.234 2.725l5.978 5.979m-5.978 4.57 5.978-5.978",stroke:"currentColor",strokeWidth:"2",fill:"none"})})]})},m=e=>{const{title:t,subtitle:n,cards:s}=e;return l.jsxs("div",{className:" gap-gutter px-side-padding p-side-padding py-10 desktop:pt-24 desktop:pb-36 desktop:grid desktop:grid-cols-12 desktop:auto-rows-auto",children:[l.jsxs("div",{className:"col-start-1 col-span-3 row-start-1 row-span-full mb-10 desktop:mb-0 max-w-xl",children:[l.jsx("h3",{className:"text-36 font-bold mb-4 desktop:mb-1",children:t}),l.jsx("p",{className:"text-16",children:n})]}),l.jsx("div",{className:"col-start-5 col-span-8 flex flex-col items-start gap-y-20 desktop:grid desktop:grid-cols-fit20 desktop:auto-rows-auto desktop:gap-x-gutter",children:s.map(((e,t)=>{let{icon:n,text:s,buttonLabel:a,buttonUrl:r}=e;return l.jsxs("div",{children:[l.jsx("div",{className:"w-20 h-20 bg-infinum text-white rounded-full flex items-center justify-center mb-5",children:o.cloneElement(n,{className:"w-20 h-20"})}),l.jsx("h4",{className:"text-h3 font-bold font-display mb-10 max-w-prose-mini",children:s}),a&&r&&l.jsx(h,{label:a,url:r})]},t)}))})]})},g=e=>{const{title:t,buttonLabel:n,buttonUrl:s,imageUrl:o,imageAlt:a,gray:r=!1}=e;return l.jsxs("div",{className:"px-side-padding desktop:pr-0 py-10 desktop:py-20 desktop:grid desktop:grid-cols-2 desktop:items-center gap-gutter border-t border-t-grey-200 "+(r?"bg-grey-100":""),children:[l.jsxs("div",{className:"mb-10 desktop:mb-0 text-center desktop:text-left flex flex-col items-center desktop:block max-w-xl",children:[l.jsx("h3",{className:"text-h3 font-bold font-display mb-4 desktop:mb-10",children:t}),l.jsx(h,{label:n,url:s})]}),l.jsx("img",{className:"w-full",src:o,alt:a})]})},v=e=>{const{title:t,text:n,imageUrl:s,imageAlt:o,gray:a=!1,sticky:r=!1}=e;return l.jsxs("div",{className:f("desktop:grid desktop:grid-cols-12 gap-gutter px-side-padding p-side-padding desktop:py-20",a&&"bg-grey-100"),children:[l.jsxs("div",{className:f("col-start-9 col-span-4 mb-10 desktop:mb-0 max-w-lg desktop:max-w-full row-start-1",r&&"desktop:self-start desktop:sticky desktop:top-navbar desktop:pt-10"),children:[l.jsx("h1",{className:"text-h3 font-bold font-display mb-5",children:t}),l.jsx("span",{className:"text-18",children:n})]}),l.jsx("img",{className:"col-start-1 col-span-6 row-start-1 w-full",src:s,alt:o})]})},y=()=>l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 200 18",width:"200",height:"18",fill:"none",children:[l.jsx("path",{d:"M48.603 1.133h-5.4v15.666h5.4V1.133Zm28.465 0v15.733h-5.866L58.002 6.8v10.067h-5.4V1.133h6.466l12.6 9.6v-9.6h5.4ZM102.131 5.4H86.865v2.866h14.666v4.067H86.865v4.533H81.53V1.133h20.6v4.266Zm8.738-4.267h-5.4v15.666h5.4V1.133Zm28.868 0v15.733h-5.8L120.67 6.8v10.067h-5.334V1.133h6.401l12.6 9.6v-9.6h5.4Zm9.593 8.133c0 1.133.267 2.067.933 2.667.667.667 1.867.933 3.534.933h2.866c3.067 0 4.6-1.2 4.6-3.6V1.133h5.4v8.133c0 2.267-.733 4.2-2.133 5.6-1.467 1.467-3.6 2.2-6.6 2.2h-5.333c-1.534 0-2.867-.2-4-.6-1.134-.4-2.2-1.133-3.2-2.2-1-1.066-1.467-2.733-1.467-5V1.133h5.4v8.133Zm26.8 7.6h-5.333V1.133h7.733l6.667 10.333 6.533-10.333h7.867v15.733h-5.334v-10.6l-6.733 10.6h-4.467l-6.933-10.6v10.6Z",fill:"currentColor"}),l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M8.866 5.07c-2.151 0-3.81 1.66-3.81 3.93 0 2.19 1.648 3.88 3.77 3.93.94-.006 1.846-.376 3.02-1.333.848-.693 1.688-1.563 2.678-2.63-.963-1.037-1.786-1.886-2.617-2.564C10.725 5.44 9.814 5.07 8.866 5.07Zm9.103.166c-.946-1.01-1.903-1.977-2.87-2.766C13.405 1.09 11.396 0 8.866 0 3.809 0 0 4.044 0 9c0 4.901 3.808 8.911 8.759 9h.045c2.531 0 4.54-1.09 6.232-2.47.989-.807 1.967-1.8 2.933-2.832.966 1.033 1.944 2.025 2.932 2.832 1.692 1.38 3.702 2.47 6.233 2.47C32.112 18 36 13.972 36 9c0-5.005-3.982-9-8.928-9-2.531 0-4.54 1.09-6.233 2.47-.967.79-1.924 1.757-2.87 2.766Zm3.445 3.73c.99 1.068 1.83 1.938 2.679 2.63 1.182.965 2.093 1.334 3.041 1.334 2.105 0 3.81-1.677 3.81-3.93 0-2.22-1.735-3.93-3.872-3.93-.948 0-1.86.369-3.041 1.333-.831.678-1.654 1.527-2.617 2.564Z",fill:"#D82828"})]}),k={twitter:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"M22.46 6c-.77.35-1.6.58-2.46.69.88-.53 1.56-1.37 1.88-2.38-.83.5-1.75.85-2.72 1.05C18.37 4.5 17.26 4 16 4c-2.35 0-4.27 1.92-4.27 4.29 0 .34.04.67.11.98C8.28 9.09 5.11 7.38 3 4.79c-.37.63-.58 1.37-.58 2.15 0 1.49.75 2.81 1.91 3.56-.71 0-1.37-.2-1.95-.5v.03c0 2.08 1.48 3.82 3.44 4.21a4.22 4.22 0 0 1-1.93.07 4.28 4.28 0 0 0 4 2.98 8.521 8.521 0 0 1-5.33 1.84c-.34 0-.68-.02-1.02-.06C3.44 20.29 5.7 21 8.12 21 16 21 20.33 14.46 20.33 8.79c0-.19 0-.37-.01-.56.84-.6 1.56-1.36 2.14-2.23Z",fill:"currentColor"})}),clutch:l.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:[l.jsx("path",{d:"M16.121 15.696a5.351 5.351 0 0 1-3.615 1.34c-3.065 0-5.316-2.25-5.316-5.339 0-3.089 2.179-5.243 5.316-5.243a5.483 5.483 0 0 1 3.64 1.316l.67.575 2.969-2.969-.743-.694a9.609 9.609 0 0 0-6.536-2.443C6.999 2.24 3 6.214 3 11.673c0 5.46 4.094 9.554 9.506 9.554a9.611 9.611 0 0 0 6.584-2.49l.718-.67-3.017-2.97-.67.599Z",fill:"currentColor"}),l.jsx("circle",{cx:"12.362",cy:"11.7211",r:"3.18451",fill:"currentColor"})]}),dribbble:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M2 12C2 6.477 6.477 2 12 2A10 10 0 1 1 2 12Zm14.86-6.09A7.726 7.726 0 0 0 12 4.2c-.57 0-1.12.07-1.66.18.66.87 1.66 2.29 2.69 4.27 1.47-.65 2.81-1.51 3.83-2.74ZM8.55 5c.55.65 1.63 2.06 2.79 4.25-2.34.71-4.73.87-6.16.87h-.13c-.24 0-.45 0-.62-.01C5 7.87 6.5 6 8.55 5ZM4.2 11.89V12c0 1.91.7 3.66 1.84 5 .41-.61 1.12-1.54 2.15-2.5 1.08-.97 2.54-1.96 4.4-2.58-.15-.36-.3-.7-.45-1.03-2.78.87-5.52 1-7.08 1.01h-.01c-.34 0-.63 0-.85-.01Zm12.22 6.53A57.5 57.5 0 0 0 15 13.17c.5-.07 1-.11 1.58-.11h.02c.93 0 1.95.12 3.06.37a7.788 7.788 0 0 1-3.24 4.99ZM12 19.8c-1.74 0-3.34-.57-4.64-1.54.28-.45.87-1.32 1.82-2.22.96-.93 2.32-1.89 4.05-2.46.59 1.67 1.13 3.57 1.54 5.71-.86.33-1.77.51-2.77.51Zm6.13-12.62a7.823 7.823 0 0 1 1.66 4.45 15.32 15.32 0 0 0-3.19-.35h-.01c-.8 0-1.55.07-2.26.19l-.027-.067c-.16-.395-.313-.774-.493-1.143 1.58-.69 3.09-1.68 4.32-3.08Z",fill:"currentColor"})}),facebook:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{d:"M22 11.994c0-5.522-4.478-10-10-10s-10 4.478-10 10c0 4.99 3.656 9.128 8.438 9.879v-6.988h-2.54v-2.891h2.54V9.79c0-2.506 1.493-3.89 3.777-3.89 1.094 0 2.239.195 2.239.195v2.46h-1.262c-1.242 0-1.63.771-1.63 1.563v1.876h2.774l-.443 2.891h-2.33v6.988c4.78-.75 8.437-4.887 8.437-9.879Z",fill:"currentColor"})}),instagram:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M7.8 2h8.4C19.4 2 22 4.6 22 7.8v8.4a5.8 5.8 0 0 1-5.8 5.8H7.8C4.6 22 2 19.4 2 16.2V7.8A5.8 5.8 0 0 1 7.8 2Zm-.2 2A3.6 3.6 0 0 0 4 7.6v8.8C4 18.39 5.61 20 7.6 20h8.8a3.6 3.6 0 0 0 3.6-3.6V7.6C20 5.61 18.39 4 16.4 4H7.6Zm10.9 2.75a1.25 1.25 0 1 0-2.5 0 1.25 1.25 0 0 0 2.5 0ZM12 7a5 5 0 1 1 0 10 5 5 0 0 1 0-10Zm-3 5a3 3 0 1 1 6 0 3 3 0 0 1-6 0Z",fill:"currentColor"})}),linkedin:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",fill:"none",children:l.jsx("path",{clipRule:"evenodd",fillRule:"evenodd",d:"M21 5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5Zm-2.5 8.2v5.3h-2.79v-4.93a1.4 1.4 0 0 0-1.4-1.4c-.77 0-1.39.63-1.39 1.4v4.93h-2.79v-8.37h2.79v1.11c.48-.78 1.47-1.3 2.32-1.3 1.8 0 3.26 1.46 3.26 3.26ZM6.88 8.56a1.686 1.686 0 0 0 0-3.37 1.69 1.69 0 0 0-1.69 1.69c0 .93.76 1.68 1.69 1.68Zm1.39 1.57v8.37H5.5v-8.37h2.77Z",fill:"currentColor"})})},x=e=>{const{footer:t}=e;if(!t)return null;const{copyright:n,links:s}=t,o=null==s?void 0:s[0].items;return l.jsxs("div",{className:"es-footer flex flex-col desktop:flex-row items-center gap-8 desktop:justify-between px-side-padding py-8 border-t border-t-grey-200 bg-grey-100",children:[l.jsx("a",{href:"https://infinum.com",children:l.jsx(y,{})}),l.jsx("span",{className:"text-14",children:n}),l.jsx("div",{className:"flex gap-2",children:o.map(((e,t)=>{let{href:n,icon:s}=e;return l.jsx("a",{href:n,children:k[s]},t)}))})]})},w=e=>{const{title:t,subtitle:n,buttonLabel:s,buttonUrl:o,imageUrl:a,imageAlt:r,gray:i=!1,extendImage:c=!1}=e;return l.jsxs("div",{className:f("flex flex-col-reverse desktop:grid desktop:grid-cols-2 gap-gutter p-side-padding pb-20 desktop:pb-side-padding desktop:pt-20 items-center",i&&"bg-grey-100",c&&"desktop:pb-0 desktop:gap-y-0 desktop:grid-rows-[auto_9rem]",!c&&"desktop:pb-36"),children:[l.jsxs("div",{className:"space-y-5",children:[l.jsx("h1",{className:"text-h2 font-display font-bold max-w-[15ch]",children:t}),l.jsx("p",{className:"text-16 max-w-sm",children:n}),l.jsx(h,{label:s,url:o})]}),l.jsx("img",{className:f("w-full mb-5 desktop:mb-0",c&&"desktop:row-span-2"),src:a,alt:r})]})},_=e=>{const{title:t,cards:n,gray:s=!1,osProjectIcons:a=!1}=e;return l.jsxs("div",{className:f("px-side-padding py-10 desktop:py-24",s&&"bg-grey-100"),children:[l.jsx("h3",{className:"text-h3 font-bold font-display mb-4 desktop:mb-20",children:t}),l.jsx("div",{className:"-mx-side-padding px-side-padding tablet:mx-0 tablet:px-0 max-tablet:no-scrollbar grid grid-rows-2 auto-cols-auto grid-flow-col tablet:grid-flow-row overflow-x-auto tablet:overflow-x-hidden gap-10 desktop:gap-y-20 tablet:grid-cols-2 desktop:grid-cols-4 tablet:auto-rows-auto tablet:gap-x-20 desktop:gap-x-gutter",children:n.map(((e,t)=>{let{icon:n,text:s,url:r}=e;return l.jsxs("a",{className:"hover:no-underline hover:text-infinum w-64 desktop:w-auto",href:r,children:[o.cloneElement(n,{className:f("text-infinum",a?"w-20 h-20 -mx-2":"w-24 h-24 -mx-5")}),l.jsx("h4",{className:"text-24 font-bold",children:s})]},t)}))})]})},j=e=>{const{title:t,imageUrl:n,imageAlt:s,children:o,gray:a=!1}=e;return l.jsxs("div",{className:f("desktop:grid desktop:grid-cols-12 gap-gutter px-side-padding p-side-padding pt-0 desktop:pb-36 items-center",a&&"bg-grey-100"),children:[l.jsx("img",{className:"col-start-1 col-span-5 w-full",src:n,alt:s}),l.jsxs("div",{className:"col-start-7 col-span-6 max-w-lg desktop:max-w-xl",children:[l.jsx("h1",{className:"text-h3 font-bold font-display mb-5",children:t}),l.jsx("span",{className:"text-18",children:o})]})]})},C=e=>{const{title:t,subtitle:n,cards:s}=e;return l.jsxs("div",{className:"gap-gutter px-side-padding p-side-padding py-10 desktop:py-24 desktop:grid desktop:grid-cols-12 desktop:auto-rows-auto",children:[l.jsxs("div",{className:"col-start-1 col-span-3 row-start-1 row-span-full mb-10 desktop:mb-0 max-w-xl",children:[l.jsx("h3",{className:"text-36 font-bold mb-4 desktop:mb-1",children:t}),l.jsx("p",{className:"text-16",children:n})]}),l.jsx("div",{className:"col-start-5 col-span-8 flex flex-col items-start gap-y-10 desktop:grid desktop:grid-cols-fit20 desktop:auto-rows-auto desktop:gap-x-gutter",children:s.map(((e,t)=>{let{title:n,subtitle:s}=e;return l.jsxs("div",{children:[l.jsx("h4",{className:"text-24 font-bold mb-1.5",children:n}),l.jsx("p",{className:"text-16",children:s})]},t)}))})]})},S=e=>{const{imageUrl:t,imageAlt:n,title:s,description:o,url:a,newTab:r=!1}=e,i=l.jsxs(l.Fragment,{children:[l.jsx("img",{className:"aspect-[3/2] object-cover mb-2 border border-grey-100",src:t,alt:n}),l.jsx("h2",{className:"transition-colors group-hover:text-infinum -mb-2",children:s}),l.jsx("p",{children:o})]});let c={};return r&&(c={target:"_blank",rel:"noopener noreferrer"}),a?l.jsx("a",{href:a,className:"max-w-sm flex flex-col gap-4 group hover:no-underline transition hover:scale-105",...c,children:i}):l.jsx("div",{className:"max-w-sm flex flex-col",children:i})}},34164:(e,t,n)=>{"use strict";function s(e){var t,n,o="";if("string"==typeof e||"number"==typeof e)o+=e;else if("object"==typeof e)if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(n=s(e[t]))&&(o&&(o+=" "),o+=n)}else for(n in e)e[n]&&(o&&(o+=" "),o+=n);return o}n.d(t,{A:()=>o});const o=function(){for(var e,t,n=0,o="",a=arguments.length;n<a;n++)(e=arguments[n])&&(t=s(e))&&(o&&(o+=" "),o+=t);return o}},71765:(e,t,n)=>{"use strict";n.d(t,{My:()=>M,f4:()=>ee});var s,o,a,r,i,c,l,d=n(96540),u=n(34164),p=Object.create,f=Object.defineProperty,b=Object.defineProperties,h=Object.getOwnPropertyDescriptor,m=Object.getOwnPropertyDescriptors,g=Object.getOwnPropertyNames,v=Object.getOwnPropertySymbols,y=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty,x=Object.prototype.propertyIsEnumerable,w=(e,t,n)=>t in e?f(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,_=(e,t)=>{for(var n in t||(t={}))k.call(t,n)&&w(e,n,t[n]);if(v)for(var n of v(t))x.call(t,n)&&w(e,n,t[n]);return e},j=(e,t)=>b(e,m(t)),C=(e,t)=>{var n={};for(var s in e)k.call(e,s)&&t.indexOf(s)<0&&(n[s]=e[s]);if(null!=e&&v)for(var s of v(e))t.indexOf(s)<0&&x.call(e,s)&&(n[s]=e[s]);return n},S=(s={"../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js"(e,t){var n=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},s={util:{encode:function e(t){return t instanceof o?new o(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function e(t,n){var o,a;switch(n=n||{},s.util.type(t)){case"Object":if(a=s.util.objId(t),n[a])return n[a];for(var r in o={},n[a]=o,t)t.hasOwnProperty(r)&&(o[r]=e(t[r],n));return o;case"Array":return a=s.util.objId(t),n[a]?n[a]:(o=[],n[a]=o,t.forEach((function(t,s){o[s]=e(t,n)})),o);default:return t}},getLanguage:function(t){for(;t;){var n=e.exec(t.className);if(n)return n[1].toLowerCase();t=t.parentElement}return"none"},setLanguage:function(t,n){t.className=t.className.replace(RegExp(e,"gi"),""),t.classList.add("language-"+n)},isActive:function(e,t,n){for(var s="no-"+t;e;){var o=e.classList;if(o.contains(t))return!0;if(o.contains(s))return!1;e=e.parentElement}return!!n}},languages:{plain:n,plaintext:n,text:n,txt:n,extend:function(e,t){var n=s.util.clone(s.languages[e]);for(var o in t)n[o]=t[o];return n},insertBefore:function(e,t,n,o){var a=(o=o||s.languages)[e],r={};for(var i in a)if(a.hasOwnProperty(i)){if(i==t)for(var c in n)n.hasOwnProperty(c)&&(r[c]=n[c]);n.hasOwnProperty(i)||(r[i]=a[i])}var l=o[e];return o[e]=r,s.languages.DFS(s.languages,(function(t,n){n===l&&t!=e&&(this[t]=r)})),r},DFS:function e(t,n,o,a){a=a||{};var r=s.util.objId;for(var i in t)if(t.hasOwnProperty(i)){n.call(t,i,t[i],o||i);var c=t[i],l=s.util.type(c);"Object"!==l||a[r(c)]?"Array"!==l||a[r(c)]||(a[r(c)]=!0,e(c,n,i,a)):(a[r(c)]=!0,e(c,n,null,a))}}},plugins:{},highlight:function(e,t,n){var a={code:e,grammar:t,language:n};if(s.hooks.run("before-tokenize",a),!a.grammar)throw new Error('The language "'+a.language+'" has no grammar.');return a.tokens=s.tokenize(a.code,a.grammar),s.hooks.run("after-tokenize",a),o.stringify(s.util.encode(a.tokens),a.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var s in n)t[s]=n[s];delete t.rest}var o=new i;return c(o,o.head,e),r(e,o,t,o.head,0),function(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}(o)},hooks:{all:{},add:function(e,t){var n=s.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=s.hooks.all[e];if(n&&n.length)for(var o,a=0;o=n[a++];)o(t)}},Token:o};function o(e,t,n,s){this.type=e,this.content=t,this.alias=n,this.length=0|(s||"").length}function a(e,t,n,s){e.lastIndex=t;var o=e.exec(n);if(o&&s&&o[1]){var a=o[1].length;o.index+=a,o[0]=o[0].slice(a)}return o}function r(e,t,n,i,d,u){for(var p in n)if(n.hasOwnProperty(p)&&n[p]){var f=n[p];f=Array.isArray(f)?f:[f];for(var b=0;b<f.length;++b){if(u&&u.cause==p+","+b)return;var h=f[b],m=h.inside,g=!!h.lookbehind,v=!!h.greedy,y=h.alias;if(v&&!h.pattern.global){var k=h.pattern.toString().match(/[imsuy]*$/)[0];h.pattern=RegExp(h.pattern.source,k+"g")}for(var x=h.pattern||h,w=i.next,_=d;w!==t.tail&&!(u&&_>=u.reach);_+=w.value.length,w=w.next){var j=w.value;if(t.length>e.length)return;if(!(j instanceof o)){var C,S=1;if(v){if(!(C=a(x,_,e,g))||C.index>=e.length)break;var M=C.index,E=C.index+C[0].length,L=_;for(L+=w.value.length;M>=L;)L+=(w=w.next).value.length;if(_=L-=w.value.length,w.value instanceof o)continue;for(var A=w;A!==t.tail&&(L<E||"string"==typeof A.value);A=A.next)S++,L+=A.value.length;S--,j=e.slice(_,L),C.index-=_}else if(!(C=a(x,0,j,g)))continue;M=C.index;var T=C[0],P=j.slice(0,M),R=j.slice(M+T.length),N=_+j.length;u&&N>u.reach&&(u.reach=N);var Z=w.prev;if(P&&(Z=c(t,Z,P),_+=P.length),l(t,Z,S),w=c(t,Z,new o(p,m?s.tokenize(T,m):T,y,T)),R&&c(t,w,R),S>1){var O={cause:p+","+b,reach:N};r(e,t,n,w.prev,_,O),u&&O.reach>u.reach&&(u.reach=O.reach)}}}}}}function i(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function c(e,t,n){var s=t.next,o={value:n,prev:t,next:s};return t.next=o,s.prev=o,e.length++,o}function l(e,t,n){for(var s=t.next,o=0;o<n&&s!==e.tail;o++)s=s.next;t.next=s,s.prev=t,e.length-=o}return o.stringify=function e(t,n){if("string"==typeof t)return t;if(Array.isArray(t)){var o="";return t.forEach((function(t){o+=e(t,n)})),o}var a={type:t.type,content:e(t.content,n),tag:"span",classes:["token",t.type],attributes:{},language:n},r=t.alias;r&&(Array.isArray(r)?Array.prototype.push.apply(a.classes,r):a.classes.push(r)),s.hooks.run("wrap",a);var i="";for(var c in a.attributes)i+=" "+c+'="'+(a.attributes[c]||"").replace(/"/g,""")+'"';return"<"+a.tag+' class="'+a.classes.join(" ")+'"'+i+">"+a.content+"</"+a.tag+">"},s}();t.exports=n,n.default=n}},function(){return o||(0,s[g(s)[0]])((o={exports:{}}).exports,o),o.exports}),M=((e,t,n)=>(n=null!=e?p(y(e)):{},((e,t,n,s)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of g(t))k.call(e,o)||o===n||f(e,o,{get:()=>t[o],enumerable:!(s=h(t,o))||s.enumerable});return e})(!t&&e&&e.__esModule?n:f(n,"default",{value:e,enumerable:!0}),e)))(S());M.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},M.languages.markup.tag.inside["attr-value"].inside.entity=M.languages.markup.entity,M.languages.markup.doctype.inside["internal-subset"].inside=M.languages.markup,M.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(M.languages.markup.tag,"addInlined",{value:function(e,t){var n;(t=((n=((n={})["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:M.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i,{"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}}))["language-"+t]={pattern:/[\s\S]+/,inside:M.languages[t]},{}))[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:n},M.languages.insertBefore("markup","cdata",t)}}),Object.defineProperty(M.languages.markup.tag,"addAttribute",{value:function(e,t){M.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:M.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),M.languages.html=M.languages.markup,M.languages.mathml=M.languages.markup,M.languages.svg=M.languages.markup,M.languages.xml=M.languages.extend("markup",{}),M.languages.ssml=M.languages.xml,M.languages.atom=M.languages.xml,M.languages.rss=M.languages.xml,a=M,r={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},c="(?:[^\\\\-]|"+(i=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/).source+")",c=RegExp(c+"-"+c),l={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"},a.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:"operator"},"char-class-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:c,inside:{escape:i,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":r,"char-set":{pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},escape:i}},"special-escape":r,"char-set":{pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":l}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:i,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:"punctuation",inside:{"group-name":l}},{pattern:/\)/,alias:"punctuation"}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:"number"},alternation:{pattern:/\|/,alias:"keyword"}},M.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},M.languages.javascript=M.languages.extend("clike",{"class-name":[M.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),M.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,M.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:M.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:M.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:M.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:M.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:M.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),M.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:M.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),M.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),M.languages.markup&&(M.languages.markup.tag.addInlined("script","javascript"),M.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),M.languages.js=M.languages.javascript,M.languages.actionscript=M.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/}),M.languages.actionscript["class-name"].alias="function",delete M.languages.actionscript.parameter,delete M.languages.actionscript["literal-property"],M.languages.markup&&M.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:M.languages.markup}}),function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(M),function(e){var t=e.languages.javadoclike={parameter:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(t,"addSupport",{value:function(t,n){(t="string"==typeof t?[t]:t).forEach((function(t){var s=function(e){e.inside||(e.inside={}),e.inside.rest=n},o="doc-comment";if(a=e.languages[t]){var a,r=a[o];if((r=r||(a=e.languages.insertBefore(t,"comment",{"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:!0,alias:"comment"}}))[o])instanceof RegExp&&(r=a[o]={pattern:r}),Array.isArray(r))for(var i=0,c=r.length;i<c;i++)r[i]instanceof RegExp&&(r[i]={pattern:r[i]}),s(r[i]);else s(r)}}))}}),t.addSupport(["java","javascript","php"],t)}(M),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;(t=(e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css,e.languages.markup))&&(t.tag.addInlined("style","css"),t.tag.addAttribute("style","css"))}(M),function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,n=(t=(e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+t.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[t,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}}),{pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0}),{pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0});e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,number:n})}(M),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,s="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",o=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),a=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function r(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,(function(){return s})).replace(/<<value>>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,(function(){return s}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,(function(){return s})).replace(/<<key>>/g,(function(){return"(?:"+o+"|"+a+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:r(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:r(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:r(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:r(a),lookbehind:!0,greedy:!0},number:{pattern:r(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(M),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(/<inner>/g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var s=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,o=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return s})),a=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source,r=(e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+o+a+"(?:"+o+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+o+a+")(?:"+o+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(s),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+o+")"+a+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+o+"$"),inside:{"table-header":{pattern:RegExp(s),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,s=t.length;n<s;n++){var o,a=t[n];"code"!==a.type?e(a.content):(o=a.content[1],a=a.content[3],o&&a&&"code-language"===o.type&&"code-block"===a.type&&"string"==typeof o.content&&(o=o.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),o="language-"+(o=(/[a-z][\w-]*/i.exec(o)||[""])[0].toLowerCase()),a.alias?"string"==typeof a.alias?a.alias=[a.alias,o]:a.alias.push(o):a.alias=[o]))}}(e.tokens)})),e.hooks.add("wrap",(function(t){if("code-block"===t.type){for(var n="",s=0,o=t.classes.length;s<o;s++){var a=t.classes[s];if(a=/language-(.+)/.exec(a)){n=a[1];break}}var l,d=e.languages[n];d?t.content=e.highlight(t.content.replace(r,"").replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,(function(e,t){var n;return"#"===(t=t.toLowerCase())[0]?(n="x"===t[1]?parseInt(t.slice(2),16):Number(t.slice(1)),c(n)):i[t]||e})),d,n):n&&"none"!==n&&e.plugins.autoloader&&(l="md-"+(new Date).valueOf()+"-"+Math.floor(1e16*Math.random()),t.attributes.id=l,e.plugins.autoloader.loadLanguages(n,(function(){var t=document.getElementById(l);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))})))}})),RegExp(e.languages.markup.tag.pattern.source,"gi")),i={amp:"&",lt:"<",gt:">",quot:'"'},c=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(M),M.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:M.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},M.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n<t.length;){var s=t[n++];if("keyword"===s.type&&"mutation"===s.content){var o=[];if(u(["definition-mutation","punctuation"])&&"("===d(1).content){n+=2;var a=p(/^\($/,/^\)$/);if(-1===a)continue;for(;n<a;n++){var r=d(0);"variable"===r.type&&(f(r,"variable-input"),o.push(r.content))}n=a+1}if(u(["punctuation","property-query"])&&"{"===d(0).content&&(n++,f(d(0),"property-mutation"),0<o.length)){var i=p(/^\{$/,/^\}$/);if(-1!==i)for(var c=n;c<i;c++){var l=t[c];"variable"===l.type&&0<=o.indexOf(l.content)&&f(l,"variable-input")}}}}function d(e){return t[n+e]}function u(e,t){t=t||0;for(var n=0;n<e.length;n++){var s=d(n+t);if(!s||s.type!==e[n])return}return 1}function p(e,s){for(var o=1,a=n;a<t.length;a++){var r=t[a],i=r.content;if("punctuation"===r.type&&"string"==typeof i)if(e.test(i))o++;else if(s.test(i)&&0==--o)return a}return-1}function f(e,t){var n=e.alias;n?Array.isArray(n)||(e.alias=n=[n]):e.alias=n=[],n.push(t)}})),M.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,s=t.inside.interpolation,o=s.inside["interpolation-punctuation"],a=s.pattern.source;function r(t,s){if(e.languages[t])return{pattern:RegExp("((?:"+s+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function i(t,n,s){return t={code:t,grammar:n,language:s},e.hooks.run("before-tokenize",t),t.tokens=e.tokenize(t.code,t.grammar),e.hooks.run("after-tokenize",t),t.tokens}function c(t,n,r){var c=e.tokenize(t,{interpolation:{pattern:RegExp(a),lookbehind:!0}}),l=0,d={},u=(c=i(c.map((function(e){if("string"==typeof e)return e;var n,s;for(e=e.content;-1!==t.indexOf((s=l++,n="___"+r.toUpperCase()+"_"+s+"___")););return d[n]=e,n})).join(""),n,r),Object.keys(d));return l=0,function t(n){for(var a=0;a<n.length;a++){if(l>=u.length)return;var r,c,p,f,b,h,m,g=n[a];"string"==typeof g||"string"==typeof g.content?(r=u[l],-1!==(m=(h="string"==typeof g?g:g.content).indexOf(r))&&(++l,c=h.substring(0,m),b=d[r],p=void 0,(f={})["interpolation-punctuation"]=o,3===(f=e.tokenize(b,f)).length&&((p=[1,1]).push.apply(p,i(f[1],e.languages.javascript,"javascript")),f.splice.apply(f,p)),p=new e.Token("interpolation",f,s.alias,b),f=h.substring(m+r.length),b=[],c&&b.push(c),b.push(p),f&&(t(h=[f]),b.push.apply(b,h)),"string"==typeof g?(n.splice.apply(n,[a,1].concat(b)),a+=b.length-1):g.content=b)):(m=g.content,Array.isArray(m)?t(m):t([m]))}}(c),new e.Token(r,c,"language-"+r,t)}e.languages.javascript["template-string"]=[r("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),r("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),r("svg",/\bsvg/.source),r("markdown",/\b(?:markdown|md)/.source),r("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),r("sql",/\bsql/.source),t].filter(Boolean);var l={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function d(e){return"string"==typeof e?e:Array.isArray(e)?e.map(d).join(""):d(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in l&&function t(n){for(var s=0,o=n.length;s<o;s++){var a,r,i,l=n[s];"string"!=typeof l&&(a=l.content,Array.isArray(a)?"template-string"===l.type?(l=a[1],3===a.length&&"string"!=typeof l&&"embedded-code"===l.type&&(r=d(l),l=l.alias,l=Array.isArray(l)?l[0]:l,i=e.languages[l])&&(a[1]=c(r,i,l))):t(a):"string"!=typeof a&&t([a]))}}(t.tokens)}))}(M),function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(M),function(e){var t=e.languages.javascript,n=/\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/.source,s="(@(?:arg|argument|param|property)\\s+(?:"+n+"\\s+)?)";e.languages.jsdoc=e.languages.extend("javadoclike",{parameter:{pattern:RegExp(s+/(?:(?!\s)[$\w\xA0-\uFFFF.])+(?=\s|$)/.source),lookbehind:!0,inside:{punctuation:/\./}}}),e.languages.insertBefore("jsdoc","keyword",{"optional-parameter":{pattern:RegExp(s+/\[(?:(?!\s)[$\w\xA0-\uFFFF.])+(?:=[^[\]]+)?\](?=\s|$)/.source),lookbehind:!0,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:!0,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:!0,inside:t,alias:"language-javascript"},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\s+(?:<TYPE>\s+)?)[A-Z]\w*(?:\.[A-Z]\w*)*/.source.replace(/<TYPE>/g,(function(){return n}))),lookbehind:!0,inside:{punctuation:/\./}},{pattern:RegExp("(@[a-z]+\\s+)"+n),lookbehind:!0,inside:{string:t.string,number:t.number,boolean:t.boolean,keyword:e.languages.typescript.keyword,operator:/=>|\.\.\.|[&|?:*]/,punctuation:/[.,;=<>{}()[\]]/}}],example:{pattern:/(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:!0,inside:{code:{pattern:/^([\t ]*(?:\*\s*)?)\S.*$/m,lookbehind:!0,inside:t,alias:"language-javascript"}}}}),e.languages.javadoclike.addSupport("javascript",e.languages.jsdoc)}(M),function(e){e.languages.flow=e.languages.extend("javascript",{}),e.languages.insertBefore("flow","keyword",{type:[{pattern:/\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\b/,alias:"class-name"}]}),e.languages.flow["function-variable"].pattern=/(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i,delete e.languages.flow.parameter,e.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),Array.isArray(e.languages.flow.keyword)||(e.languages.flow.keyword=[e.languages.flow.keyword]),e.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/,lookbehind:!0})}(M),M.languages.n4js=M.languages.extend("javascript",{keyword:/\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/}),M.languages.insertBefore("n4js","constant",{annotation:{pattern:/@+\w+/,alias:"operator"}}),M.languages.n4jsd=M.languages.n4js,function(e){function t(e,t){return RegExp(e.replace(/<ID>/g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?<ID>/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],s=0;s<n.length;s++){var o=n[s],a=e.languages.javascript[o];o=(a="RegExp"===e.util.type(a)?e.languages.javascript[o]={pattern:a}:a).inside||{};(a.inside=o)["maybe-class-name"]=/^[A-Z][\s\S]*/}}(M),function(e){var t=e.util.clone(e.languages.javascript),n=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,s=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,o=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function a(e,t){return e=e.replace(/<S>/g,(function(){return n})).replace(/<BRACES>/g,(function(){return s})).replace(/<SPREAD>/g,(function(){return o})),RegExp(e,t)}function r(t){for(var n=[],s=0;s<t.length;s++){var o=t[s],a=!1;"string"!=typeof o&&("tag"===o.type&&o.content[0]&&"tag"===o.content[0].type?"</"===o.content[0].content[0].content?0<n.length&&n[n.length-1].tagName===i(o.content[0].content[1])&&n.pop():"/>"!==o.content[o.content.length-1].content&&n.push({tagName:i(o.content[0].content[1]),openedBraces:0}):0<n.length&&"punctuation"===o.type&&"{"===o.content?n[n.length-1].openedBraces++:0<n.length&&0<n[n.length-1].openedBraces&&"punctuation"===o.type&&"}"===o.content?n[n.length-1].openedBraces--:a=!0),(a||"string"==typeof o)&&0<n.length&&0===n[n.length-1].openedBraces&&(a=i(o),s<t.length-1&&("string"==typeof t[s+1]||"plain-text"===t[s+1].type)&&(a+=i(t[s+1]),t.splice(s+1,1)),0<s&&("string"==typeof t[s-1]||"plain-text"===t[s-1].type)&&(a=i(t[s-1])+a,t.splice(s-1,1),s--),t[s]=new e.Token("plain-text",a,null,a)),o.content&&"string"!=typeof o.content&&r(o.content)}}o=a(o).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=a(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:a(/<SPREAD>/.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:a(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var i=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(i).join(""):""};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||r(e.tokens)}))}(M),function(e){var t=e.util.clone(e.languages.typescript);(t=(e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"],e.languages.tsx.tag)).pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+t.pattern.source+")",t.pattern.flags),t.lookbehind=!0}(M),M.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source+"|"+/"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source+"|"+/"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source+")\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+/(?:elseif|if)\b/.source+"(?:[ \t]*"+/(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source+")+|"+/(?:else|endif)\b/.source+")"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},M.languages.swift["string-literal"].forEach((function(e){e.inside.interpolation.inside=M.languages.swift})),function(e){e.languages.kotlin=e.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin["class-name"];var t={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:e.languages.kotlin}};e.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:t},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:t},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete e.languages.kotlin.string,e.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),e.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(M),M.languages.c=M.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),M.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),M.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},M.languages.c.string],char:M.languages.c.char,comment:M.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:M.languages.c}}}}),M.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete M.languages.c.boolean,M.languages.objectivec=M.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete M.languages.objectivec["class-name"],M.languages.objc=M.languages.objectivec,M.languages.reason=M.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),M.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete M.languages.reason.function,function(e){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,n=0;n<2;n++)t=t.replace(/<self>/g,(function(){return t}));t=t.replace(/<self>/g,(function(){return/[^\s\S]/.source})),e.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(M),M.languages.go=M.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),M.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete M.languages.go["class-name"],function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(M),M.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},M.languages.python["string-interpolation"].inside.interpolation.inside.rest=M.languages.python,M.languages.py=M.languages.python;((e,t)=>{for(var n in t)f(e,n,{get:t[n],enumerable:!0})})({},{dracula:()=>E,duotoneDark:()=>L,duotoneLight:()=>A,github:()=>T,jettwaveDark:()=>H,jettwaveLight:()=>V,nightOwl:()=>P,nightOwlLight:()=>R,oceanicNext:()=>O,okaidia:()=>D,oneDark:()=>U,oneLight:()=>q,palenight:()=>B,shadesOfPurple:()=>I,synthwave84:()=>F,ultramin:()=>z,vsDark:()=>W,vsLight:()=>$});var E={plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},L={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]},A={plain:{backgroundColor:"#faf8f5",color:"#728fcb"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#b6ad9a"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#063289"}},{types:["property","function"],style:{color:"#b29762"}},{types:["tag-id","selector","atrule-id"],style:{color:"#2d2006"}},{types:["attr-name"],style:{color:"#896724"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule"],style:{color:"#728fcb"}},{types:["placeholder","variable"],style:{color:"#93abdc"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#896724"}}]},T={plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},P={plain:{color:"#d6deeb",backgroundColor:"#011627"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(99, 119, 119)",fontStyle:"italic"}},{types:["string","url"],style:{color:"rgb(173, 219, 103)"}},{types:["variable"],style:{color:"rgb(214, 222, 235)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation"],style:{color:"rgb(199, 146, 234)"}},{types:["selector","doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(255, 203, 139)"}},{types:["tag","operator","keyword"],style:{color:"rgb(127, 219, 202)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["property"],style:{color:"rgb(128, 203, 196)"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}}]},R={plain:{color:"#403f53",backgroundColor:"#FBFBFB"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(72, 118, 214)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(152, 159, 177)",fontStyle:"italic"}},{types:["string","builtin","char","constant","url"],style:{color:"rgb(72, 118, 214)"}},{types:["variable"],style:{color:"rgb(201, 103, 101)"}},{types:["number"],style:{color:"rgb(170, 9, 130)"}},{types:["punctuation"],style:{color:"rgb(153, 76, 195)"}},{types:["function","selector","doctype"],style:{color:"rgb(153, 76, 195)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(17, 17, 17)"}},{types:["tag"],style:{color:"rgb(153, 76, 195)"}},{types:["operator","property","keyword","namespace"],style:{color:"rgb(12, 150, 155)"}},{types:["boolean"],style:{color:"rgb(188, 84, 84)"}}]},N="#c5a5c5",Z="#8dc891",O={plain:{backgroundColor:"#282c34",color:"#ffffff"},styles:[{types:["attr-name"],style:{color:N}},{types:["attr-value"],style:{color:Z}},{types:["comment","block-comment","prolog","doctype","cdata","shebang"],style:{color:"#999999"}},{types:["property","number","function-name","constant","symbol","deleted"],style:{color:"#5a9bcf"}},{types:["boolean"],style:{color:"#ff8b50"}},{types:["tag"],style:{color:"#fc929e"}},{types:["string"],style:{color:Z}},{types:["punctuation"],style:{color:Z}},{types:["selector","char","builtin","inserted"],style:{color:"#D8DEE9"}},{types:["function"],style:{color:"#79b6f2"}},{types:["operator","entity","url","variable"],style:{color:"#d7deea"}},{types:["keyword"],style:{color:N}},{types:["atrule","class-name"],style:{color:"#FAC863"}},{types:["important"],style:{fontWeight:"400"}},{types:["bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}}]},D={plain:{color:"#f8f8f2",backgroundColor:"#272822"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"#f92672",fontStyle:"italic"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"#8292a2",fontStyle:"italic"}},{types:["string","url"],style:{color:"#a6e22e"}},{types:["variable"],style:{color:"#f8f8f2"}},{types:["number"],style:{color:"#ae81ff"}},{types:["builtin","char","constant","function","class-name"],style:{color:"#e6db74"}},{types:["punctuation"],style:{color:"#f8f8f2"}},{types:["selector","doctype"],style:{color:"#a6e22e",fontStyle:"italic"}},{types:["tag","operator","keyword"],style:{color:"#66d9ef"}},{types:["boolean"],style:{color:"#ae81ff"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)",opacity:.7}},{types:["tag","property"],style:{color:"#f92672"}},{types:["attr-name"],style:{color:"#a6e22e !important"}},{types:["doctype"],style:{color:"#8292a2"}},{types:["rule"],style:{color:"#e6db74"}}]},B={plain:{color:"#bfc7d5",backgroundColor:"#292d3e"},styles:[{types:["comment"],style:{color:"rgb(105, 112, 152)",fontStyle:"italic"}},{types:["string","inserted"],style:{color:"rgb(195, 232, 141)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation","selector"],style:{color:"rgb(199, 146, 234)"}},{types:["variable"],style:{color:"rgb(191, 199, 213)"}},{types:["class-name","attr-name"],style:{color:"rgb(255, 203, 107)"}},{types:["tag","deleted"],style:{color:"rgb(255, 85, 114)"}},{types:["operator"],style:{color:"rgb(137, 221, 255)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["keyword"],style:{fontStyle:"italic"}},{types:["doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}},{types:["url"],style:{color:"rgb(221, 221, 221)"}}]},I={plain:{color:"#9EFEFF",backgroundColor:"#2D2A55"},styles:[{types:["changed"],style:{color:"rgb(255, 238, 128)"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)"}},{types:["comment"],style:{color:"rgb(179, 98, 255)",fontStyle:"italic"}},{types:["punctuation"],style:{color:"rgb(255, 255, 255)"}},{types:["constant"],style:{color:"rgb(255, 98, 140)"}},{types:["string","url"],style:{color:"rgb(165, 255, 144)"}},{types:["variable"],style:{color:"rgb(255, 238, 128)"}},{types:["number","boolean"],style:{color:"rgb(255, 98, 140)"}},{types:["attr-name"],style:{color:"rgb(255, 180, 84)"}},{types:["keyword","operator","property","namespace","tag","selector","doctype"],style:{color:"rgb(255, 157, 0)"}},{types:["builtin","char","constant","function","class-name"],style:{color:"rgb(250, 208, 0)"}}]},F={plain:{backgroundColor:"linear-gradient(to bottom, #2a2139 75%, #34294f)",backgroundImage:"#34294f",color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"},styles:[{types:["comment","block-comment","prolog","doctype","cdata"],style:{color:"#495495",fontStyle:"italic"}},{types:["punctuation"],style:{color:"#ccc"}},{types:["tag","attr-name","namespace","number","unit","hexcode","deleted"],style:{color:"#e2777a"}},{types:["property","selector"],style:{color:"#72f1b8",textShadow:"0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475"}},{types:["function-name"],style:{color:"#6196cc"}},{types:["boolean","selector-id","function"],style:{color:"#fdfdfd",textShadow:"0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975"}},{types:["class-name","maybe-class-name","builtin"],style:{color:"#fff5f6",textShadow:"0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75"}},{types:["constant","symbol"],style:{color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"}},{types:["important","atrule","keyword","selector-class"],style:{color:"#f4eee4",textShadow:"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575"}},{types:["string","char","attr-value","regex","variable"],style:{color:"#f87c32"}},{types:["parameter"],style:{fontStyle:"italic"}},{types:["entity","url"],style:{color:"#67cdcc"}},{types:["operator"],style:{color:"ffffffee"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["entity"],style:{cursor:"help"}},{types:["inserted"],style:{color:"green"}}]},z={plain:{color:"#282a2e",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(197, 200, 198)"}},{types:["string","number","builtin","variable"],style:{color:"rgb(150, 152, 150)"}},{types:["class-name","function","tag","attr-name"],style:{color:"rgb(40, 42, 46)"}}]},W={plain:{color:"#9CDCFE",backgroundColor:"#1E1E1E"},styles:[{types:["prolog"],style:{color:"rgb(0, 0, 128)"}},{types:["comment"],style:{color:"rgb(106, 153, 85)"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"rgb(86, 156, 214)"}},{types:["number","inserted"],style:{color:"rgb(181, 206, 168)"}},{types:["constant"],style:{color:"rgb(100, 102, 149)"}},{types:["attr-name","variable"],style:{color:"rgb(156, 220, 254)"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"rgb(206, 145, 120)"}},{types:["selector"],style:{color:"rgb(215, 186, 125)"}},{types:["tag"],style:{color:"rgb(78, 201, 176)"}},{types:["tag"],languages:["markup"],style:{color:"rgb(86, 156, 214)"}},{types:["punctuation","operator"],style:{color:"rgb(212, 212, 212)"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"rgb(220, 220, 170)"}},{types:["class-name"],style:{color:"rgb(78, 201, 176)"}},{types:["char"],style:{color:"rgb(209, 105, 105)"}}]},$={plain:{color:"#000000",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(0, 128, 0)"}},{types:["builtin"],style:{color:"rgb(0, 112, 193)"}},{types:["number","variable","inserted"],style:{color:"rgb(9, 134, 88)"}},{types:["operator"],style:{color:"rgb(0, 0, 0)"}},{types:["constant","char"],style:{color:"rgb(129, 31, 63)"}},{types:["tag"],style:{color:"rgb(128, 0, 0)"}},{types:["attr-name"],style:{color:"rgb(255, 0, 0)"}},{types:["deleted","string"],style:{color:"rgb(163, 21, 21)"}},{types:["changed","punctuation"],style:{color:"rgb(4, 81, 165)"}},{types:["function","keyword"],style:{color:"rgb(0, 0, 255)"}},{types:["class-name"],style:{color:"rgb(38, 127, 153)"}}]},H={plain:{color:"#f8fafc",backgroundColor:"#011627"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#569CD6"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#f8fafc"}},{types:["attr-name","variable"],style:{color:"#9CDCFE"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#cbd5e1"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#D4D4D4"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#7dd3fc"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},V={plain:{color:"#0f172a",backgroundColor:"#f1f5f9"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#0c4a6e"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#0f172a"}},{types:["attr-name","variable"],style:{color:"#0c4a6e"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#64748b"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#475569"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#0e7490"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},U={plain:{backgroundColor:"hsl(220, 13%, 18%)",color:"hsl(220, 14%, 71%)",textShadow:"0 1px rgba(0, 0, 0, 0.3)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(220, 10%, 40%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(220, 14%, 71%)"}},{types:["attr-name","class-name","maybe-class-name","boolean","constant","number","atrule"],style:{color:"hsl(29, 54%, 61%)"}},{types:["keyword"],style:{color:"hsl(286, 60%, 67%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(355, 65%, 65%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value"],style:{color:"hsl(95, 38%, 62%)"}},{types:["variable","operator","function"],style:{color:"hsl(207, 82%, 66%)"}},{types:["url"],style:{color:"hsl(187, 47%, 55%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(220, 14%, 71%)"}}]},q={plain:{backgroundColor:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(230, 4%, 64%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(230, 8%, 24%)"}},{types:["attr-name","class-name","boolean","constant","number","atrule"],style:{color:"hsl(35, 99%, 36%)"}},{types:["keyword"],style:{color:"hsl(301, 63%, 40%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(5, 74%, 59%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value","punctuation"],style:{color:"hsl(119, 34%, 47%)"}},{types:["variable","operator","function"],style:{color:"hsl(221, 87%, 60%)"}},{types:["url"],style:{color:"hsl(198, 99%, 37%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(230, 8%, 24%)"}}]},G=(e,t)=>{const{plain:n}=e,s=e.styles.reduce(((e,n)=>{const{languages:s,style:o}=n;return s&&!s.includes(t)||n.types.forEach((t=>{const n=_(_({},e[t]),o);e[t]=n})),e}),{});return s.root=n,s.plain=j(_({},n),{backgroundColor:void 0}),s},K=/\r\n|\r|\n/,Y=e=>{0===e.length?e.push({types:["plain"],content:"\n",empty:!0}):1===e.length&&""===e[0].content&&(e[0].content="\n",e[0].empty=!0)},Q=(e,t)=>{const n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)},X=e=>{const t=[[]],n=[e],s=[0],o=[e.length];let a=0,r=0,i=[];const c=[i];for(;r>-1;){for(;(a=s[r]++)<o[r];){let e,l=t[r];const d=n[r][a];if("string"==typeof d?(l=r>0?l:["plain"],e=d):(l=Q(l,d.type),d.alias&&(l=Q(l,d.alias)),e=d.content),"string"!=typeof e){r++,t.push(l),n.push(e),s.push(0),o.push(e.length);continue}const u=e.split(K),p=u.length;i.push({types:l,content:u[0]});for(let t=1;t<p;t++)Y(i),c.push(i=[]),i.push({types:l,content:u[t]})}r--,t.pop(),n.pop(),s.pop(),o.pop()}return Y(i),c},J=({children:e,language:t,code:n,theme:s,prism:o})=>{const a=t.toLowerCase(),r=((e,t)=>{const[n,s]=(0,d.useState)(G(t,e)),o=(0,d.useRef)(),a=(0,d.useRef)();return(0,d.useEffect)((()=>{t===o.current&&e===a.current||(o.current=t,a.current=e,s(G(t,e)))}),[e,t]),n})(a,s),i=(e=>(0,d.useCallback)((t=>{var n=t,{className:s,style:o,line:a}=n,r=C(n,["className","style","line"]);const i=j(_({},r),{className:(0,u.A)("token-line",s)});return"object"==typeof e&&"plain"in e&&(i.style=e.plain),"object"==typeof o&&(i.style=_(_({},i.style||{}),o)),i}),[e]))(r),c=(e=>{const t=(0,d.useCallback)((({types:t,empty:n})=>{if(null!=e)return 1===t.length&&"plain"===t[0]?null!=n?{display:"inline-block"}:void 0:1===t.length&&null!=n?e[t[0]]:Object.assign(null!=n?{display:"inline-block"}:{},...t.map((t=>e[t])))}),[e]);return(0,d.useCallback)((e=>{var n=e,{token:s,className:o,style:a}=n,r=C(n,["token","className","style"]);const i=j(_({},r),{className:(0,u.A)("token",...s.types,o),children:s.content,style:t(s)});return null!=a&&(i.style=_(_({},i.style||{}),a)),i}),[t])})(r),l=(({prism:e,code:t,grammar:n,language:s})=>{const o=(0,d.useRef)(e);return(0,d.useMemo)((()=>{if(null==n)return X([t]);const e={code:t,grammar:n,language:s,tokens:[]};return o.current.hooks.run("before-tokenize",e),e.tokens=o.current.tokenize(t,n),o.current.hooks.run("after-tokenize",e),X(e.tokens)}),[t,n,s])})({prism:o,language:a,code:n,grammar:o.languages[a]});return e({tokens:l,className:`prism-code language-${a}`,style:null!=r?r.root:{},getLineProps:i,getTokenProps:c})},ee=e=>(0,d.createElement)(J,j(_({},e),{prism:e.prism||M,theme:e.theme||W,code:e.code,language:e.language}))},11561:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var s=!0,o="Invariant failed";function a(e,t){if(!e){if(s)throw new Error(o);var n="function"==typeof t?t():t,a=n?"".concat(o,": ").concat(n):o;throw new Error(a)}}},22654:e=>{"use strict";e.exports={}},84054:e=>{"use strict";e.exports=JSON.parse('{"/blog-91f":{"__comp":"a6aa9e1f","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"794bc8f2"},{"content":"13b613cc"},{"content":"5eed5ded"},{"content":"52c25d1c"},{"content":"c80bf43d"},{"content":"d0c63040"},{"content":"3d99f89d"},{"content":"3fd111c7"},{"content":"bca46e3f"}],"__props":"53a3e6dc"},"/blog/acf-in-a-project-255":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"c38fd7bd"},"/blog/adding-blocks-wpcli-90e":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"7c673fac"},"/blog/adding-fonts-cc9":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"590322ab"},"/blog/archive-245":{"__comp":"9e4087bc","__context":{"plugin":"36994c47"},"__props":"25003e4f"},"/blog/block-patterns-0e8":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"e801e723"},"/blog/block-variations-f90":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"f880b41b"},"/blog/components-and-blocks-2f2":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"96795ae1"},"/blog/initial-setup-c30":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"2747918f"},"/blog/making-your-project-multilingual-046":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"5ba3e239"},"/blog/modifying-blocks-color-theme-467":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"adb54813"},"/blog/multiple-same-components-16a":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"cd521b29"},"/blog/page/2-a68":{"__comp":"a6aa9e1f","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"daf8bbf9"},{"content":"6299beff"},{"content":"53a1ff94"},{"content":"9ca2f55b"},{"content":"e00f1d66"},{"content":"49403d8c"},{"content":"4f8601bc"},{"content":"efbb6268"}],"__props":"404e42f6"},"/blog/tags-4c4":{"__comp":"01a85c17","__context":{"plugin":"36994c47"},"sidebar":"814f3328","__props":"41756ce8"},"/blog/tags/acf-427":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"6299beff"}],"__props":"acf35250"},"/blog/tags/advanced-custom-fields-bed":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"6299beff"}],"__props":"e4e082a8"},"/blog/tags/assets-31a":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"53a1ff94"}],"__props":"429e0b25"},"/blog/tags/block-756":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"3fd111c7"},{"content":"daf8bbf9"}],"__props":"1ead2ae5"},"/blog/tags/blocks-fdc":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"5eed5ded"},{"content":"3d99f89d"},{"content":"e00f1d66"},{"content":"49403d8c"},{"content":"4f8601bc"}],"__props":"cfb00690"},"/blog/tags/boilerplate-2d4":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"794bc8f2"},{"content":"13b613cc"},{"content":"5eed5ded"},{"content":"52c25d1c"},{"content":"c80bf43d"},{"content":"d0c63040"},{"content":"3d99f89d"},{"content":"3fd111c7"},{"content":"bca46e3f"}],"__props":"86a402cb"},"/blog/tags/boilerplate/page/2-b92":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"daf8bbf9"},{"content":"6299beff"},{"content":"53a1ff94"},{"content":"9ca2f55b"},{"content":"e00f1d66"},{"content":"49403d8c"},{"content":"4f8601bc"},{"content":"efbb6268"}],"__props":"410c21ec"},"/blog/tags/class-c3e":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"d0c63040"}],"__props":"12d9b77d"},"/blog/tags/classes-2b8":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"5eed5ded"}],"__props":"e8ce9e6f"},"/blog/tags/colors-250":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"5eed5ded"}],"__props":"07a4eaaf"},"/blog/tags/components-c84":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"c80bf43d"},{"content":"3d99f89d"},{"content":"e00f1d66"},{"content":"49403d8c"},{"content":"4f8601bc"}],"__props":"c0da0a5f"},"/blog/tags/cpt-66f":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"bca46e3f"}],"__props":"43085e7a"},"/blog/tags/custom-post-type-07a":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"bca46e3f"}],"__props":"9e004082"},"/blog/tags/eightshift-afb":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"794bc8f2"},{"content":"13b613cc"},{"content":"5eed5ded"},{"content":"52c25d1c"},{"content":"c80bf43d"},{"content":"d0c63040"},{"content":"3d99f89d"},{"content":"3fd111c7"},{"content":"bca46e3f"}],"__props":"66092bc9"},"/blog/tags/eightshift/page/2-172":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"daf8bbf9"},{"content":"6299beff"},{"content":"53a1ff94"},{"content":"9ca2f55b"},{"content":"e00f1d66"},{"content":"49403d8c"},{"content":"4f8601bc"},{"content":"efbb6268"}],"__props":"e97e5233"},"/blog/tags/fonts-65b":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"9ca2f55b"}],"__props":"a5081791"},"/blog/tags/i-18-n-fad":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"52c25d1c"}],"__props":"9a2d1e33"},"/blog/tags/icons-c62":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"53a1ff94"}],"__props":"48b9a430"},"/blog/tags/images-744":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"5eed5ded"},{"content":"53a1ff94"}],"__props":"3784eb9f"},"/blog/tags/inner-blocks-85e":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"13b613cc"}],"__props":"4fec421e"},"/blog/tags/multilingual-58d":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"52c25d1c"}],"__props":"5239f41c"},"/blog/tags/patterns-c7b":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"3fd111c7"}],"__props":"615207d7"},"/blog/tags/plugins-479":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"5eed5ded"}],"__props":"c0779e58"},"/blog/tags/query-c5a":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"d0c63040"}],"__props":"027b80af"},"/blog/tags/service-0e3":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"d0c63040"}],"__props":"01ee484b"},"/blog/tags/setup-003":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"efbb6268"}],"__props":"50b72e32"},"/blog/tags/taxonomies-969":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"bca46e3f"}],"__props":"dba7b2ae"},"/blog/tags/taxonomy-3e8":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"bca46e3f"}],"__props":"ac9ee971"},"/blog/tags/templates-0ef":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"794bc8f2"}],"__props":"067e78b9"},"/blog/tags/terms-2b9":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"bca46e3f"}],"__props":"a6d8baa7"},"/blog/tags/theme-options-79e":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"6299beff"}],"__props":"9dd0e933"},"/blog/tags/variations-eec":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"daf8bbf9"}],"__props":"842a1dd5"},"/blog/tags/wpcli-cd0":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"49403d8c"}],"__props":"74ea67e3"},"/blog/tags/wrapper-812":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"c80bf43d"}],"__props":"19f0fe09"},"/blog/tips-useful-features-926":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"8962d52c"},"/blog/using-assets-30d":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"938b8490"},"/blog/using-cpts-and-taxonomies-330":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"39447efc"},"/blog/using-inner-blocks-2a3":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"62a6c31f"},"/blog/using-post-templates-e11":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"7df6cfaa"},"/blog/working-with-custom-queries-08b":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"be197d78"},"/blog/wrapper-as-a-standalone-component-646":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"39e353ee"},"/devkit-components-a51":{"__comp":"dc5b4777","__context":{"plugin":"a7456010"},"config":"5e9f5e1a"},"/playground-4ec":{"__comp":"801f3f5d","__context":{"plugin":"a7456010"},"config":"5e9f5e1a"},"/search-5de":{"__comp":"1a4e3797","__context":{"plugin":"c141421f"}},"/showcase-523":{"__comp":"5fc994c2","__context":{"plugin":"a7456010"},"config":"5e9f5e1a"},"/showcase-infinum-451":{"__comp":"f4a6cc60","__context":{"plugin":"a7456010"},"config":"5e9f5e1a"},"/docs-bfc":{"__comp":"5e95c892","__context":{"plugin":"aba21aa0"}},"/docs-a8c":{"__comp":"a7bd4aaa","__props":"7c110bd0"},"/docs-2ed":{"__comp":"a94703ab"},"/docs/additional-libraries/boilerplate-415":{"__comp":"17896441","content":"de657462"},"/docs/additional-libraries/boilerplate-plugin-572":{"__comp":"17896441","content":"426b1138"},"/docs/additional-libraries/coding-standards-3f7":{"__comp":"17896441","content":"bb98611a"},"/docs/additional-libraries/docs-690":{"__comp":"17896441","content":"230a0014"},"/docs/additional-libraries/forms-ef7":{"__comp":"17896441","content":"9bd54e26"},"/docs/additional-libraries/frontend-libs-ed2":{"__comp":"17896441","content":"85d49e2b"},"/docs/additional-libraries/libs-bb5":{"__comp":"17896441","content":"8df1c5c9"},"/docs/additional-libraries/storybook-de5":{"__comp":"17896441","content":"9cd71f2c"},"/docs/additional-libraries/stubs-37d":{"__comp":"17896441","content":"da20989d"},"/docs/basics/architecture-concepts-369":{"__comp":"17896441","content":"5d34a3e0"},"/docs/basics/autowiring-7b2":{"__comp":"17896441","content":"a97e7f15"},"/docs/basics/backend-208":{"__comp":"17896441","content":"9e4e2e8b"},"/docs/basics/basics-intro-5ef":{"__comp":"17896441","content":"9d107aac"},"/docs/basics/block-manifest-e79":{"__comp":"17896441","content":"c661d3f1"},"/docs/basics/block-structure-07d":{"__comp":"17896441","content":"6cbda4b6"},"/docs/basics/blocks-11f":{"__comp":"17896441","content":"46604707"},"/docs/basics/blocks-attributes-af2":{"__comp":"17896441","content":"d14f8ee5"},"/docs/basics/blocks-component-in-block-192":{"__comp":"17896441","content":"e9beab12"},"/docs/basics/blocks-component-manifest-e1e":{"__comp":"17896441","content":"10c1e86a"},"/docs/basics/blocks-component-structure-303":{"__comp":"17896441","content":"10db50b8"},"/docs/basics/blocks-faq-b30":{"__comp":"17896441","content":"7d063b53"},"/docs/basics/blocks-global-manifest-f33":{"__comp":"17896441","content":"40adba6a"},"/docs/basics/blocks-hooks-94b":{"__comp":"17896441","content":"afdc90ee"},"/docs/basics/blocks-important-5d6":{"__comp":"17896441","content":"e79e64be"},"/docs/basics/blocks-patterns-960":{"__comp":"17896441","content":"9cd35a7e"},"/docs/basics/blocks-registration-f7c":{"__comp":"17896441","content":"56802612"},"/docs/basics/blocks-reusable-dd9":{"__comp":"17896441","content":"02b9869f"},"/docs/basics/blocks-special-use-cases-08d":{"__comp":"17896441","content":"6b94b48b"},"/docs/basics/blocks-storybook-085":{"__comp":"17896441","content":"08cebe36"},"/docs/basics/blocks-structure-cf0":{"__comp":"17896441","content":"749660c3"},"/docs/basics/blocks-styles-ead":{"__comp":"17896441","content":"7cca0223"},"/docs/basics/blocks-transforms-676":{"__comp":"17896441","content":"541d824c"},"/docs/basics/blocks-variations-b5c":{"__comp":"17896441","content":"86405c0e"},"/docs/basics/blocks-wrapper-0ba":{"__comp":"17896441","content":"ce7d450a"},"/docs/basics/browser-sync-bc7":{"__comp":"17896441","content":"d1a0cea3"},"/docs/basics/dynamic-import-572":{"__comp":"17896441","content":"f8bbda75"},"/docs/basics/example-class-6fc":{"__comp":"17896441","content":"548faf69"},"/docs/basics/extending-classes-d49":{"__comp":"17896441","content":"8df52c09"},"/docs/basics/fonts-8ad":{"__comp":"17896441","content":"c62d4947"},"/docs/basics/frontend-5cf":{"__comp":"17896441","content":"3f56b28d"},"/docs/basics/global-settings-d51":{"__comp":"17896441","content":"aa47c437"},"/docs/basics/helpers-090":{"__comp":"17896441","content":"29014e21"},"/docs/basics/helpers-javascript-4aa":{"__comp":"17896441","content":"a2d3b782"},"/docs/basics/helpers-php-208":{"__comp":"17896441","content":"add2b463"},"/docs/basics/helpers-scss-ecb":{"__comp":"17896441","content":"fea00b33"},"/docs/basics/library-c60":{"__comp":"17896441","content":"dd059938"},"/docs/basics/manifest-7b6":{"__comp":"17896441","content":"da81302a"},"/docs/basics/namespaces-8b9":{"__comp":"17896441","content":"2b4fbe73"},"/docs/basics/rest-a66":{"__comp":"17896441","content":"e110487c"},"/docs/basics/rest-field-556":{"__comp":"17896441","content":"1385dc12"},"/docs/basics/rest-route-833":{"__comp":"17896441","content":"8c05f4d5"},"/docs/basics/tips-tricks-cd6":{"__comp":"17896441","content":"b31b2138"},"/docs/basics/webpack-311":{"__comp":"17896441","content":"048a2137"},"/docs/basics/wp-cli-1b9":{"__comp":"17896441","content":"8d5ae15a"},"/docs/basics/writing-styles-c33":{"__comp":"17896441","content":"13362ea9"},"/docs/crash-course/intro-b05":{"__comp":"17896441","content":"87f23a60"},"/docs/eightshift-frontend-libs-4c7":{"__comp":"17896441","content":"0aeeb10b"},"/docs/eightshift-libs-653":{"__comp":"17896441","content":"6f0e603d"},"/docs/legacy/v4/advanced/browsersync-dce":{"__comp":"17896441","content":"d88895d1"},"/docs/legacy/v4/advanced/components-color-palette-9de":{"__comp":"17896441","content":"bf7018cf"},"/docs/legacy/v4/advanced/components-heading-level-e03":{"__comp":"17896441","content":"5b767225"},"/docs/legacy/v4/advanced/docs-sass-bb0":{"__comp":"17896441","content":"0cbbedcd"},"/docs/legacy/v4/advanced/helpers-aliases-helpers-f74":{"__comp":"17896441","content":"8f5a650f"},"/docs/legacy/v4/advanced/helpers-components-helpers-0dd":{"__comp":"17896441","content":"81d5dffa"},"/docs/legacy/v4/advanced/helpers-error-logger-helpers-c39":{"__comp":"17896441","content":"4ec5858e"},"/docs/legacy/v4/advanced/helpers-object-helpers-ae8":{"__comp":"17896441","content":"0f1457e8"},"/docs/legacy/v4/advanced/helpers-shortcode-helpers-8da":{"__comp":"17896441","content":"f26f0cdb"},"/docs/legacy/v4/advanced/webpack-a16":{"__comp":"17896441","content":"41bc8270"},"/docs/legacy/v4/guides/blocks-block-from-components-742":{"__comp":"17896441","content":"a2dbf4e7"},"/docs/legacy/v4/guides/blocks-filter-block-attributes-override-7a3":{"__comp":"17896441","content":"9ec15741"},"/docs/legacy/v4/guides/blocks-get-actions-helper-5a2":{"__comp":"17896441","content":"2554564d"},"/docs/legacy/v4/guides/blocks-registration-51d":{"__comp":"17896441","content":"5cda8f59"},"/docs/legacy/v4/guides/blocks-render-block-view-helper-730":{"__comp":"17896441","content":"e12d4719"},"/docs/legacy/v4/guides/blocks-structure-9bb":{"__comp":"17896441","content":"e4399142"},"/docs/legacy/v4/guides/blocks-structure-block-item-be1":{"__comp":"17896441","content":"0655bd76"},"/docs/legacy/v4/guides/blocks-structure-component-65c":{"__comp":"17896441","content":"2a615d1d"},"/docs/legacy/v4/guides/blocks-structure-manifest-82a":{"__comp":"17896441","content":"f92772a6"},"/docs/legacy/v4/guides/columns-post-type-042":{"__comp":"17896441","content":"30241ed8"},"/docs/legacy/v4/guides/columns-taxonomy-4f7":{"__comp":"17896441","content":"51f93b96"},"/docs/legacy/v4/guides/columns-user-325":{"__comp":"17896441","content":"ec5d0804"},"/docs/legacy/v4/guides/config-f38":{"__comp":"17896441","content":"7d1194b2"},"/docs/legacy/v4/guides/di-container-fae":{"__comp":"17896441","content":"b3636d59"},"/docs/legacy/v4/guides/enqueue-4c0":{"__comp":"17896441","content":"44c6aa62"},"/docs/legacy/v4/guides/extending-classes-01a":{"__comp":"17896441","content":"43adcc08"},"/docs/legacy/v4/guides/fonts-custom-b05":{"__comp":"17896441","content":"1aa24188"},"/docs/legacy/v4/guides/fonts-icon-4fe":{"__comp":"17896441","content":"f8d85197"},"/docs/legacy/v4/guides/i18n-e23":{"__comp":"17896441","content":"ad6305cb"},"/docs/legacy/v4/guides/login-e1d":{"__comp":"17896441","content":"963c8ac0"},"/docs/legacy/v4/guides/manifest-054":{"__comp":"17896441","content":"7ee32c60"},"/docs/legacy/v4/guides/media-7ab":{"__comp":"17896441","content":"ce4b3df7"},"/docs/legacy/v4/guides/menu-eeb":{"__comp":"17896441","content":"fbe6399d"},"/docs/legacy/v4/guides/post-type-9ca":{"__comp":"17896441","content":"a737efbc"},"/docs/legacy/v4/guides/rest-field-example-4d3":{"__comp":"17896441","content":"c55525a9"},"/docs/legacy/v4/guides/rest-intro-d2a":{"__comp":"17896441","content":"2345a3b7"},"/docs/legacy/v4/guides/rest-route-example-f8d":{"__comp":"17896441","content":"7cf19012"},"/docs/legacy/v4/guides/taxonomy-8fa":{"__comp":"17896441","content":"286194e8"},"/docs/legacy/v4/versions-b91":{"__comp":"17896441","content":"43ac2fb4"},"/docs/legacy/v5/basics/autowiring-86b":{"__comp":"17896441","content":"0f187495"},"/docs/legacy/v5/basics/backend-020":{"__comp":"17896441","content":"7d66ff10"},"/docs/legacy/v5/basics/basics-intro-450":{"__comp":"17896441","content":"31b83fd6"},"/docs/legacy/v5/basics/block-manifest-c34":{"__comp":"17896441","content":"c72fb457"},"/docs/legacy/v5/basics/block-structure-1d8":{"__comp":"17896441","content":"07af796b"},"/docs/legacy/v5/basics/blocks-a36":{"__comp":"17896441","content":"a2947dce"},"/docs/legacy/v5/basics/blocks-attributes-386":{"__comp":"17896441","content":"2e9194de"},"/docs/legacy/v5/basics/blocks-component-in-block-500":{"__comp":"17896441","content":"fce92293"},"/docs/legacy/v5/basics/blocks-component-manifest-98d":{"__comp":"17896441","content":"325ddbed"},"/docs/legacy/v5/basics/blocks-component-structure-e00":{"__comp":"17896441","content":"147ca104"},"/docs/legacy/v5/basics/blocks-global-manifest-af7":{"__comp":"17896441","content":"6eb5397d"},"/docs/legacy/v5/basics/blocks-hooks-70e":{"__comp":"17896441","content":"ed3575d5"},"/docs/legacy/v5/basics/blocks-important-018":{"__comp":"17896441","content":"e8903528"},"/docs/legacy/v5/basics/blocks-intro-e9c":{"__comp":"17896441","content":"01980361"},"/docs/legacy/v5/basics/blocks-patterns-49d":{"__comp":"17896441","content":"ef02483f"},"/docs/legacy/v5/basics/blocks-registration-d9a":{"__comp":"17896441","content":"db98aa0c"},"/docs/legacy/v5/basics/blocks-reusable-426":{"__comp":"17896441","content":"06946b11"},"/docs/legacy/v5/basics/blocks-special-use-cases-665":{"__comp":"17896441","content":"e7328bb1"},"/docs/legacy/v5/basics/blocks-storybook-d41":{"__comp":"17896441","content":"962afcd6"},"/docs/legacy/v5/basics/blocks-structure-9e1":{"__comp":"17896441","content":"2a89e141"},"/docs/legacy/v5/basics/blocks-styles-ee7":{"__comp":"17896441","content":"d5f39101"},"/docs/legacy/v5/basics/blocks-transforms-ec2":{"__comp":"17896441","content":"22e7b626"},"/docs/legacy/v5/basics/blocks-variations-caf":{"__comp":"17896441","content":"9d954fea"},"/docs/legacy/v5/basics/blocks-wrapper-4ed":{"__comp":"17896441","content":"f0b5617d"},"/docs/legacy/v5/basics/browser-sync-609":{"__comp":"17896441","content":"67644baa"},"/docs/legacy/v5/basics/dynamic-import-710":{"__comp":"17896441","content":"8ae4ee15"},"/docs/legacy/v5/basics/example-class-34f":{"__comp":"17896441","content":"fd21cc65"},"/docs/legacy/v5/basics/extending-classes-034":{"__comp":"17896441","content":"fbe7d2e8"},"/docs/legacy/v5/basics/fonts-48f":{"__comp":"17896441","content":"2297cc0d"},"/docs/legacy/v5/basics/frontend-aab":{"__comp":"17896441","content":"27c45671"},"/docs/legacy/v5/basics/global-settings-f25":{"__comp":"17896441","content":"44f6c623"},"/docs/legacy/v5/basics/helpers-16d":{"__comp":"17896441","content":"9f7aca5a"},"/docs/legacy/v5/basics/helpers-javascript-525":{"__comp":"17896441","content":"7b2162ed"},"/docs/legacy/v5/basics/helpers-php-f50":{"__comp":"17896441","content":"7c785ce9"},"/docs/legacy/v5/basics/helpers-scss-722":{"__comp":"17896441","content":"5024c8a9"},"/docs/legacy/v5/basics/library-064":{"__comp":"17896441","content":"2c4528c6"},"/docs/legacy/v5/basics/manifest-300":{"__comp":"17896441","content":"6b207c51"},"/docs/legacy/v5/basics/namespaces-366":{"__comp":"17896441","content":"80d5addc"},"/docs/legacy/v5/basics/rest-b5c":{"__comp":"17896441","content":"e90b4b34"},"/docs/legacy/v5/basics/rest-field-748":{"__comp":"17896441","content":"56b8c1aa"},"/docs/legacy/v5/basics/rest-route-06a":{"__comp":"17896441","content":"ab8fc1e5"},"/docs/legacy/v5/basics/the-structure-5f7":{"__comp":"17896441","content":"795feea1"},"/docs/legacy/v5/basics/webpack-a4e":{"__comp":"17896441","content":"b8b9d8e8"},"/docs/legacy/v5/basics/wp-cli-eea":{"__comp":"17896441","content":"c7fa2f29"},"/docs/legacy/v5/basics/writing-styles-b5a":{"__comp":"17896441","content":"ae5745cc"},"/docs/legacy/v5/versions-183":{"__comp":"17896441","content":"fd4ea388"},"/docs/legacy/v6/basics/architecture-concepts-593":{"__comp":"17896441","content":"2bd83684"},"/docs/legacy/v6/basics/autowiring-53d":{"__comp":"17896441","content":"5bf26d11"},"/docs/legacy/v6/basics/backend-8fa":{"__comp":"17896441","content":"5f22e924"},"/docs/legacy/v6/basics/basics-intro-c4c":{"__comp":"17896441","content":"bc8a7ae5"},"/docs/legacy/v6/basics/block-manifest-a84":{"__comp":"17896441","content":"7ddf2558"},"/docs/legacy/v6/basics/block-structure-ad5":{"__comp":"17896441","content":"1f5f1faf"},"/docs/legacy/v6/basics/blocks-c9d":{"__comp":"17896441","content":"2d764dca"},"/docs/legacy/v6/basics/blocks-attributes-c2c":{"__comp":"17896441","content":"09d8acdc"},"/docs/legacy/v6/basics/blocks-component-in-block-745":{"__comp":"17896441","content":"cf4609e7"},"/docs/legacy/v6/basics/blocks-component-manifest-2c4":{"__comp":"17896441","content":"afb6799c"},"/docs/legacy/v6/basics/blocks-component-structure-90e":{"__comp":"17896441","content":"341e5e63"},"/docs/legacy/v6/basics/blocks-faq-523":{"__comp":"17896441","content":"8eb5a1d8"},"/docs/legacy/v6/basics/blocks-global-manifest-1ef":{"__comp":"17896441","content":"388ae04f"},"/docs/legacy/v6/basics/blocks-hooks-5ea":{"__comp":"17896441","content":"b4c9bdc9"},"/docs/legacy/v6/basics/blocks-important-500":{"__comp":"17896441","content":"6a5d09b2"},"/docs/legacy/v6/basics/blocks-patterns-f2c":{"__comp":"17896441","content":"c361232e"},"/docs/legacy/v6/basics/blocks-registration-184":{"__comp":"17896441","content":"901c0002"},"/docs/legacy/v6/basics/blocks-reusable-546":{"__comp":"17896441","content":"2e99cb0e"},"/docs/legacy/v6/basics/blocks-special-use-cases-2a9":{"__comp":"17896441","content":"163b78fe"},"/docs/legacy/v6/basics/blocks-storybook-1b3":{"__comp":"17896441","content":"bce2f7e5"},"/docs/legacy/v6/basics/blocks-structure-e67":{"__comp":"17896441","content":"2716246c"},"/docs/legacy/v6/basics/blocks-styles-862":{"__comp":"17896441","content":"bcdc9a5c"},"/docs/legacy/v6/basics/blocks-transforms-557":{"__comp":"17896441","content":"85434a08"},"/docs/legacy/v6/basics/blocks-variations-0cc":{"__comp":"17896441","content":"7b3a75e2"},"/docs/legacy/v6/basics/blocks-wrapper-daf":{"__comp":"17896441","content":"7c7e3f2e"},"/docs/legacy/v6/basics/browser-sync-c6f":{"__comp":"17896441","content":"4b8950e9"},"/docs/legacy/v6/basics/dynamic-import-4b8":{"__comp":"17896441","content":"cb3c2681"},"/docs/legacy/v6/basics/example-class-a23":{"__comp":"17896441","content":"186bf65f"},"/docs/legacy/v6/basics/extending-classes-1e8":{"__comp":"17896441","content":"20e43c84"},"/docs/legacy/v6/basics/fonts-bdb":{"__comp":"17896441","content":"812444b5"},"/docs/legacy/v6/basics/frontend-d05":{"__comp":"17896441","content":"1eef4415"},"/docs/legacy/v6/basics/global-settings-edf":{"__comp":"17896441","content":"688ea354"},"/docs/legacy/v6/basics/helpers-78b":{"__comp":"17896441","content":"41aa949a"},"/docs/legacy/v6/basics/helpers-javascript-e2e":{"__comp":"17896441","content":"5fbdd67a"},"/docs/legacy/v6/basics/helpers-php-17e":{"__comp":"17896441","content":"2c773ba3"},"/docs/legacy/v6/basics/helpers-scss-e87":{"__comp":"17896441","content":"3cc3f22b"},"/docs/legacy/v6/basics/library-b5d":{"__comp":"17896441","content":"9f25cf08"},"/docs/legacy/v6/basics/manifest-262":{"__comp":"17896441","content":"43d76b0c"},"/docs/legacy/v6/basics/namespaces-aad":{"__comp":"17896441","content":"b4f7c3fb"},"/docs/legacy/v6/basics/rest-8cd":{"__comp":"17896441","content":"6bcded04"},"/docs/legacy/v6/basics/rest-field-5ea":{"__comp":"17896441","content":"25b43794"},"/docs/legacy/v6/basics/rest-route-f95":{"__comp":"17896441","content":"dc46868d"},"/docs/legacy/v6/basics/tips-tricks-215":{"__comp":"17896441","content":"9ac95129"},"/docs/legacy/v6/basics/webpack-4a0":{"__comp":"17896441","content":"f5d62c05"},"/docs/legacy/v6/basics/wp-cli-0be":{"__comp":"17896441","content":"014fa81c"},"/docs/legacy/v6/basics/writing-styles-01b":{"__comp":"17896441","content":"40bcb702"},"/docs/legacy/v6/versions-76d":{"__comp":"17896441","content":"619eeade"},"/docs/legacy/v7/basics/architecture-concepts-f89":{"__comp":"17896441","content":"998cd6c6"},"/docs/legacy/v7/basics/autowiring-ad7":{"__comp":"17896441","content":"518baa20"},"/docs/legacy/v7/basics/backend-ab5":{"__comp":"17896441","content":"805db72d"},"/docs/legacy/v7/basics/basics-intro-c55":{"__comp":"17896441","content":"0cde639a"},"/docs/legacy/v7/basics/block-manifest-b00":{"__comp":"17896441","content":"aebfde4b"},"/docs/legacy/v7/basics/block-structure-ef3":{"__comp":"17896441","content":"ccea3a4d"},"/docs/legacy/v7/basics/blocks-bdd":{"__comp":"17896441","content":"24b57605"},"/docs/legacy/v7/basics/blocks-attributes-275":{"__comp":"17896441","content":"59c340d8"},"/docs/legacy/v7/basics/blocks-component-in-block-797":{"__comp":"17896441","content":"3124e7fd"},"/docs/legacy/v7/basics/blocks-component-manifest-df4":{"__comp":"17896441","content":"db6287e5"},"/docs/legacy/v7/basics/blocks-component-structure-3eb":{"__comp":"17896441","content":"73699c74"},"/docs/legacy/v7/basics/blocks-faq-771":{"__comp":"17896441","content":"d7756765"},"/docs/legacy/v7/basics/blocks-global-manifest-d03":{"__comp":"17896441","content":"98c40af1"},"/docs/legacy/v7/basics/blocks-hooks-393":{"__comp":"17896441","content":"326267d5"},"/docs/legacy/v7/basics/blocks-important-e27":{"__comp":"17896441","content":"281e3fe0"},"/docs/legacy/v7/basics/blocks-patterns-56a":{"__comp":"17896441","content":"19a6ffde"},"/docs/legacy/v7/basics/blocks-registration-c5d":{"__comp":"17896441","content":"c6cd348e"},"/docs/legacy/v7/basics/blocks-reusable-cab":{"__comp":"17896441","content":"0bea9cd5"},"/docs/legacy/v7/basics/blocks-special-use-cases-d35":{"__comp":"17896441","content":"1d1d00c8"},"/docs/legacy/v7/basics/blocks-storybook-be3":{"__comp":"17896441","content":"b6915d5f"},"/docs/legacy/v7/basics/blocks-structure-6be":{"__comp":"17896441","content":"0cf6d2ee"},"/docs/legacy/v7/basics/blocks-styles-d9e":{"__comp":"17896441","content":"0242a13a"},"/docs/legacy/v7/basics/blocks-transforms-a31":{"__comp":"17896441","content":"89c5f7f6"},"/docs/legacy/v7/basics/blocks-variations-3a5":{"__comp":"17896441","content":"66151e3f"},"/docs/legacy/v7/basics/blocks-wrapper-9cc":{"__comp":"17896441","content":"5c125432"},"/docs/legacy/v7/basics/browser-sync-07b":{"__comp":"17896441","content":"ba4d70ca"},"/docs/legacy/v7/basics/dynamic-import-dd2":{"__comp":"17896441","content":"e71b04e6"},"/docs/legacy/v7/basics/example-class-790":{"__comp":"17896441","content":"f407a811"},"/docs/legacy/v7/basics/extending-classes-cca":{"__comp":"17896441","content":"31e124ed"},"/docs/legacy/v7/basics/fonts-432":{"__comp":"17896441","content":"46ddaac3"},"/docs/legacy/v7/basics/frontend-105":{"__comp":"17896441","content":"714feb36"},"/docs/legacy/v7/basics/global-settings-722":{"__comp":"17896441","content":"bc5075fb"},"/docs/legacy/v7/basics/helpers-b56":{"__comp":"17896441","content":"4eaf1272"},"/docs/legacy/v7/basics/helpers-javascript-78b":{"__comp":"17896441","content":"f00dda52"},"/docs/legacy/v7/basics/helpers-php-a34":{"__comp":"17896441","content":"ee924e36"},"/docs/legacy/v7/basics/helpers-scss-41e":{"__comp":"17896441","content":"ca69ab29"},"/docs/legacy/v7/basics/library-d7a":{"__comp":"17896441","content":"90c2c848"},"/docs/legacy/v7/basics/manifest-eac":{"__comp":"17896441","content":"35144e55"},"/docs/legacy/v7/basics/namespaces-8ad":{"__comp":"17896441","content":"3a244aec"},"/docs/legacy/v7/basics/rest-479":{"__comp":"17896441","content":"37703fea"},"/docs/legacy/v7/basics/rest-field-bff":{"__comp":"17896441","content":"d845213b"},"/docs/legacy/v7/basics/rest-route-9dc":{"__comp":"17896441","content":"a374712b"},"/docs/legacy/v7/basics/tips-tricks-2b2":{"__comp":"17896441","content":"39035dcb"},"/docs/legacy/v7/basics/webpack-fec":{"__comp":"17896441","content":"318b66a0"},"/docs/legacy/v7/basics/wp-cli-8f3":{"__comp":"17896441","content":"80796e9f"},"/docs/legacy/v7/basics/writing-styles-235":{"__comp":"17896441","content":"35847f85"},"/docs/legacy/v7/versions-e9f":{"__comp":"17896441","content":"ee1ed8c4"},"/docs/legacy/v8/basics/architecture-concepts-d7a":{"__comp":"17896441","content":"1622041d"},"/docs/legacy/v8/basics/autowiring-a8b":{"__comp":"17896441","content":"fdc13b44"},"/docs/legacy/v8/basics/backend-32b":{"__comp":"17896441","content":"b9355076"},"/docs/legacy/v8/basics/basics-intro-b29":{"__comp":"17896441","content":"79818576"},"/docs/legacy/v8/basics/block-manifest-7b2":{"__comp":"17896441","content":"4e946086"},"/docs/legacy/v8/basics/block-structure-d98":{"__comp":"17896441","content":"6156002b"},"/docs/legacy/v8/basics/blocks-c6d":{"__comp":"17896441","content":"6203860c"},"/docs/legacy/v8/basics/blocks-attributes-cd6":{"__comp":"17896441","content":"e6326b0c"},"/docs/legacy/v8/basics/blocks-component-in-block-c46":{"__comp":"17896441","content":"c3122f65"},"/docs/legacy/v8/basics/blocks-component-manifest-aa6":{"__comp":"17896441","content":"952356a8"},"/docs/legacy/v8/basics/blocks-component-structure-547":{"__comp":"17896441","content":"4cfcdd67"},"/docs/legacy/v8/basics/blocks-faq-8f8":{"__comp":"17896441","content":"ea645227"},"/docs/legacy/v8/basics/blocks-global-manifest-e77":{"__comp":"17896441","content":"76f2b92e"},"/docs/legacy/v8/basics/blocks-hooks-4a7":{"__comp":"17896441","content":"62284ec3"},"/docs/legacy/v8/basics/blocks-important-c6b":{"__comp":"17896441","content":"0058bf23"},"/docs/legacy/v8/basics/blocks-patterns-a51":{"__comp":"17896441","content":"d6a42b72"},"/docs/legacy/v8/basics/blocks-registration-737":{"__comp":"17896441","content":"39d8d90f"},"/docs/legacy/v8/basics/blocks-reusable-af3":{"__comp":"17896441","content":"9f724635"},"/docs/legacy/v8/basics/blocks-special-use-cases-57b":{"__comp":"17896441","content":"39b05d13"},"/docs/legacy/v8/basics/blocks-storybook-9ea":{"__comp":"17896441","content":"cec206a7"},"/docs/legacy/v8/basics/blocks-structure-cbd":{"__comp":"17896441","content":"0e617e7a"},"/docs/legacy/v8/basics/blocks-styles-ea6":{"__comp":"17896441","content":"3ed2c247"},"/docs/legacy/v8/basics/blocks-transforms-d42":{"__comp":"17896441","content":"641a79fb"},"/docs/legacy/v8/basics/blocks-variations-37b":{"__comp":"17896441","content":"88748759"},"/docs/legacy/v8/basics/blocks-wrapper-ab4":{"__comp":"17896441","content":"5be441ac"},"/docs/legacy/v8/basics/browser-sync-dce":{"__comp":"17896441","content":"ce0a947c"},"/docs/legacy/v8/basics/dynamic-import-847":{"__comp":"17896441","content":"bb95e167"},"/docs/legacy/v8/basics/example-class-c15":{"__comp":"17896441","content":"a56ad6f0"},"/docs/legacy/v8/basics/extending-classes-f67":{"__comp":"17896441","content":"9eec1b69"},"/docs/legacy/v8/basics/fonts-46a":{"__comp":"17896441","content":"36d70216"},"/docs/legacy/v8/basics/frontend-ffa":{"__comp":"17896441","content":"c2a527e7"},"/docs/legacy/v8/basics/global-settings-82f":{"__comp":"17896441","content":"2f2ad190"},"/docs/legacy/v8/basics/helpers-d63":{"__comp":"17896441","content":"63b7ed35"},"/docs/legacy/v8/basics/helpers-javascript-55b":{"__comp":"17896441","content":"9a04d7c3"},"/docs/legacy/v8/basics/helpers-php-dcd":{"__comp":"17896441","content":"1b63fe07"},"/docs/legacy/v8/basics/helpers-scss-5c3":{"__comp":"17896441","content":"fbd7f063"},"/docs/legacy/v8/basics/library-f5e":{"__comp":"17896441","content":"97cb0cff"},"/docs/legacy/v8/basics/manifest-b5d":{"__comp":"17896441","content":"533d3ffb"},"/docs/legacy/v8/basics/namespaces-9cb":{"__comp":"17896441","content":"4f057d99"},"/docs/legacy/v8/basics/rest-b82":{"__comp":"17896441","content":"ecf43748"},"/docs/legacy/v8/basics/rest-field-c77":{"__comp":"17896441","content":"769f10a0"},"/docs/legacy/v8/basics/rest-route-10a":{"__comp":"17896441","content":"e1f747d9"},"/docs/legacy/v8/basics/tips-tricks-ce0":{"__comp":"17896441","content":"fd6d4018"},"/docs/legacy/v8/basics/webpack-958":{"__comp":"17896441","content":"ed480930"},"/docs/legacy/v8/basics/wp-cli-2be":{"__comp":"17896441","content":"64042be6"},"/docs/legacy/v8/basics/writing-styles-1ea":{"__comp":"17896441","content":"1c82c718"},"/docs/legacy/v8/versions-99e":{"__comp":"17896441","content":"8364cffd"},"/docs/migrations/10-11-751":{"__comp":"17896441","content":"7a9c7a9a"},"/docs/migrations/5-6-d51":{"__comp":"17896441","content":"e8a4c7be"},"/docs/migrations/6-7-df2":{"__comp":"17896441","content":"f0ebaa7e"},"/docs/migrations/7-8-15c":{"__comp":"17896441","content":"e3792bbb"},"/docs/migrations/8-9-8d0":{"__comp":"17896441","content":"94335e76"},"/docs/migrations/9-10-77b":{"__comp":"17896441","content":"a45b31ec"},"/docs/plugin-c57":{"__comp":"17896441","content":"13c21afe"},"/docs/requirements-2a5":{"__comp":"17896441","content":"5ed3387d"},"/docs/theme-a6c":{"__comp":"17896441","content":"47a776f2"},"/docs/tutorials/intro-f36":{"__comp":"17896441","content":"c15d2dfd"},"/docs/versions-0bc":{"__comp":"17896441","content":"0fe8a02a"},"/docs/welcome-deb":{"__comp":"17896441","content":"ebfee794"},"/forms-4bc":{"__comp":"5e95c892","__context":{"plugin":"b322c2ef"}},"/forms-df2":{"__comp":"a7bd4aaa","__props":"00fb5982"},"/forms-0ee":{"__comp":"a94703ab"},"/forms/addons/create/addon-boilerplate-312":{"__comp":"17896441","content":"e4932c64"},"/forms/addons/create/intro-c9b":{"__comp":"17896441","content":"7cbc5997"},"/forms/addons/create/requirements-8c8":{"__comp":"17896441","content":"6b93e189"},"/forms/addons/create/utils-library-6cc":{"__comp":"17896441","content":"21c119bb"},"/forms/addons/free/intro-2d2":{"__comp":"17896441","content":"cf91d205"},"/forms/addons/intro-8f0":{"__comp":"17896441","content":"9ee0eb8a"},"/forms/addons/premium/computed-fields/blocks-4d6":{"__comp":"17896441","content":"5215d6a1"},"/forms/addons/premium/computed-fields/data-flow-6a4":{"__comp":"17896441","content":"3634820b"},"/forms/addons/premium/computed-fields/how-to-use-966":{"__comp":"17896441","content":"e93eaee1"},"/forms/addons/premium/computed-fields/intro-874":{"__comp":"17896441","content":"035d9dc3"},"/forms/addons/premium/computed-fields/settings-236":{"__comp":"17896441","content":"120f8e9c"},"/forms/addons/premium/intro-ed0":{"__comp":"17896441","content":"b7f27d80"},"/forms/basics-6bd":{"__comp":"17896441","content":"9f6545b7"},"/forms/features/cache-db7":{"__comp":"17896441","content":"066ec25f"},"/forms/features/cloudflare-248":{"__comp":"17896441","content":"ddb69969"},"/forms/features/conditional-tags-9d6":{"__comp":"17896441","content":"1698e1d1"},"/forms/features/country-list-37c":{"__comp":"17896441","content":"a3a64d88"},"/forms/features/dashboard-fc7":{"__comp":"17896441","content":"0a9768df"},"/forms/features/debug-16b":{"__comp":"17896441","content":"50c94cd7"},"/forms/features/enrichment-472":{"__comp":"17896441","content":"3e53f2d3"},"/forms/features/entries-2dc":{"__comp":"17896441","content":"f1a7576f"},"/forms/features/fallback-emails-e8f":{"__comp":"17896441","content":"4e418365"},"/forms/features/geolocation-a1f":{"__comp":"17896441","content":"1a6a2ec3"},"/forms/features/import-export-6ff":{"__comp":"17896441","content":"4ece2ef5"},"/forms/features/labels-b91":{"__comp":"17896441","content":"e37577e1"},"/forms/features/locations-42f":{"__comp":"17896441","content":"25539fcb"},"/forms/features/migrations-b7b":{"__comp":"17896441","content":"f218f265"},"/forms/features/multisteps-forms-277":{"__comp":"17896441","content":"a12ac645"},"/forms/features/result-output-c1b":{"__comp":"17896441","content":"bacc15ea"},"/forms/features/security-ce2":{"__comp":"17896441","content":"4aad33a5"},"/forms/features/show-as-2ea":{"__comp":"17896441","content":"42d5a18c"},"/forms/features/single-submit-456":{"__comp":"17896441","content":"14d8029e"},"/forms/features/spam-prevention-113":{"__comp":"17896441","content":"18ea4958"},"/forms/features/success-redirect-92a":{"__comp":"17896441","content":"9e8339c4"},"/forms/features/tracking-a29":{"__comp":"17896441","content":"dbfa0beb"},"/forms/features/validation-d74":{"__comp":"17896441","content":"22cdf000"},"/forms/features/wpml-18f":{"__comp":"17896441","content":"7c97d78d"},"/forms/first-form-075":{"__comp":"17896441","content":"e8854f45"},"/forms/integrations/active-campaign-31c":{"__comp":"17896441","content":"07b5dca2"},"/forms/integrations/airtable-cd3":{"__comp":"17896441","content":"56f8d3dd"},"/forms/integrations/calculator-e03":{"__comp":"17896441","content":"79cbe809"},"/forms/integrations/clearbit-e3a":{"__comp":"17896441","content":"d0b1075b"},"/forms/integrations/goodbits-1d6":{"__comp":"17896441","content":"3aebe9a9"},"/forms/integrations/greenhouse-105":{"__comp":"17896441","content":"5e3b00c5"},"/forms/integrations/hubspot-786":{"__comp":"17896441","content":"b8b55b85"},"/forms/integrations/intro-563":{"__comp":"17896441","content":"d5c4c4ae"},"/forms/integrations/jira-520":{"__comp":"17896441","content":"390b04b5"},"/forms/integrations/mailchimp-46a":{"__comp":"17896441","content":"4f6e5aff"},"/forms/integrations/mailer-36e":{"__comp":"17896441","content":"45a57db1"},"/forms/integrations/mailerlite-93a":{"__comp":"17896441","content":"a0d23381"},"/forms/integrations/moments-d72":{"__comp":"17896441","content":"dbd7356d"},"/forms/integrations/pipedrive-3df":{"__comp":"17896441","content":"62f60b5b"},"/forms/integrations/workable-bad":{"__comp":"17896441","content":"aee4c48a"},"/forms/javascript/events/available-events-4f2":{"__comp":"17896441","content":"d817bad3"},"/forms/javascript/events/how-to-use-4bb":{"__comp":"17896441","content":"83ce5e05"},"/forms/javascript/intro-a82":{"__comp":"17896441","content":"90151e6b"},"/forms/javascript/manual-initiation-6b9":{"__comp":"17896441","content":"b64e38ac"},"/forms/javascript/state/-6fe":{"__comp":"17896441","content":"3b7ac723"},"/forms/javascript/state/captcha-704":{"__comp":"17896441","content":"74bedbb6"},"/forms/javascript/state/conditional-tags-2f8":{"__comp":"17896441","content":"dc28c8db"},"/forms/javascript/state/enrichment-787":{"__comp":"17896441","content":"64793643"},"/forms/javascript/state/form-88f":{"__comp":"17896441","content":"d136d263"},"/forms/javascript/state/how-to-use-c10":{"__comp":"17896441","content":"600a6af1"},"/forms/javascript/state/step-8cf":{"__comp":"17896441","content":"cb7a22d0"},"/forms/javascript/state/store-f0d":{"__comp":"17896441","content":"435e79fb"},"/forms/javascript/state/utils-a6c":{"__comp":"17896441","content":"5025c75d"},"/forms/known-issues-42a":{"__comp":"17896441","content":"7ab92eb4"},"/forms/php/actions/how-to-use-f7e":{"__comp":"17896441","content":"af9ac9e0"},"/forms/php/actions/migrations-7d3":{"__comp":"17896441","content":"80d0bffa"},"/forms/php/filters/admin/settings-data-ccd":{"__comp":"17896441","content":"f92290a0"},"/forms/php/filters/block/checkboxes/additional-content-a87":{"__comp":"17896441","content":"44ef7d31"},"/forms/php/filters/block/country/additional-content-fa5":{"__comp":"17896441","content":"0c7b26d1"},"/forms/php/filters/block/country/alternative-data-set-a0f":{"__comp":"17896441","content":"e18eec83"},"/forms/php/filters/block/date/additional-content-677":{"__comp":"17896441","content":"5bd755c4"},"/forms/php/filters/block/field/additional-content-6e5":{"__comp":"17896441","content":"23464d23"},"/forms/php/filters/block/field/style-classes-63e":{"__comp":"17896441","content":"7fa80a78"},"/forms/php/filters/block/field/style-options-0f4":{"__comp":"17896441","content":"92621e92"},"/forms/php/filters/block/file/additional-content-965":{"__comp":"17896441","content":"beb2a160"},"/forms/php/filters/block/file/preview-remove-label-456":{"__comp":"17896441","content":"8cdd3050"},"/forms/php/filters/block/form-selector/additional-content-15e":{"__comp":"17896441","content":"adaf2bab"},"/forms/php/filters/block/form-selector/form-templates-246":{"__comp":"17896441","content":"72aadbbe"},"/forms/php/filters/block/form/additional-content-b49":{"__comp":"17896441","content":"8ddbe34c"},"/forms/php/filters/block/form/additional-hidden-fields-821":{"__comp":"17896441","content":"b11b48f8"},"/forms/php/filters/block/form/data-type-selector-108":{"__comp":"17896441","content":"b3760b7c"},"/forms/php/filters/block/form/global-msg-headings-653":{"__comp":"17896441","content":"c9f06a2a"},"/forms/php/filters/block/form/hide-global-msg-timeout-589":{"__comp":"17896441","content":"259bd0c5"},"/forms/php/filters/block/form/phone-sync-6b7":{"__comp":"17896441","content":"9dc56d2c"},"/forms/php/filters/block/form/pre-response-addon-data-438":{"__comp":"17896441","content":"85c52577"},"/forms/php/filters/block/form/pre-response-success-redirect-data-8aa":{"__comp":"17896441","content":"fda35176"},"/forms/php/filters/block/form/redirect-timeout-a42":{"__comp":"17896441","content":"07fb059b"},"/forms/php/filters/block/form/result-output-items-ac5":{"__comp":"17896441","content":"9d255f37"},"/forms/php/filters/block/form/result-output-parts-72c":{"__comp":"17896441","content":"0ce4c86c"},"/forms/php/filters/block/form/success-redirect-url-33b":{"__comp":"17896441","content":"9e3bbdc0"},"/forms/php/filters/block/form/success-redirect-variation-3a1":{"__comp":"17896441","content":"5add9946"},"/forms/php/filters/block/form/success-redirect-variation-options-013":{"__comp":"17896441","content":"bff0bad2"},"/forms/php/filters/block/form/tracking-additional-data-69d":{"__comp":"17896441","content":"f34f869b"},"/forms/php/filters/block/form/tracking-event-name-dd0":{"__comp":"17896441","content":"c78f4965"},"/forms/php/filters/block/forms/style-options-326":{"__comp":"17896441","content":"b22c1dac"},"/forms/php/filters/block/input/additional-content-ab1":{"__comp":"17896441","content":"d0301901"},"/forms/php/filters/block/phone/additional-content-c37":{"__comp":"17896441","content":"ff445556"},"/forms/php/filters/block/radios/additional-content-93f":{"__comp":"17896441","content":"b8283c8e"},"/forms/php/filters/block/rating/additional-content-358":{"__comp":"17896441","content":"ae06c6f1"},"/forms/php/filters/block/select/additional-content-71a":{"__comp":"17896441","content":"af8ed05f"},"/forms/php/filters/block/step/component-next-5c5":{"__comp":"17896441","content":"f0f0c9e0"},"/forms/php/filters/block/step/component-prev-18a":{"__comp":"17896441","content":"44b117b5"},"/forms/php/filters/block/submit/additional-content-ba3":{"__comp":"17896441","content":"cfae12a4"},"/forms/php/filters/block/submit/component-759":{"__comp":"17896441","content":"39c8d3f8"},"/forms/php/filters/block/textarea/additional-content-f2d":{"__comp":"17896441","content":"37f27a13"},"/forms/php/filters/blocks/additional-blocks-85c":{"__comp":"17896441","content":"4dad0b95"},"/forms/php/filters/blocks/allowed-blocks-e8b":{"__comp":"17896441","content":"8ddd1f69"},"/forms/php/filters/blocks/media-breakpoints-591":{"__comp":"17896441","content":"1a8da153"},"/forms/php/filters/enrichment/manual-map-469":{"__comp":"17896441","content":"be937143"},"/forms/php/filters/entries/pre-post-params-eaa":{"__comp":"17896441","content":"0c06981f"},"/forms/php/filters/general/http-request-timeout-835":{"__comp":"17896441","content":"64e3919b"},"/forms/php/filters/general/locale-eb5":{"__comp":"17896441","content":"d0ecf97a"},"/forms/php/filters/general/scripts-dependency-74b":{"__comp":"17896441","content":"7fbb6eb5"},"/forms/php/filters/geolocation/countries-c11":{"__comp":"17896441","content":"45159772"},"/forms/php/filters/geolocation/db-location-7b9":{"__comp":"17896441","content":"d3930d00"},"/forms/php/filters/geolocation/phar-location-954":{"__comp":"17896441","content":"9cc47562"},"/forms/php/filters/how-to-use-e71":{"__comp":"17896441","content":"a45434fa"},"/forms/php/filters/integrations/active-campaign-d32":{"__comp":"17896441","content":"715a66b3"},"/forms/php/filters/integrations/airtable-912":{"__comp":"17896441","content":"23002826"},"/forms/php/filters/integrations/calculator-1b3":{"__comp":"17896441","content":"e0b2cb26"},"/forms/php/filters/integrations/clearbit-ef3":{"__comp":"17896441","content":"d28f320b"},"/forms/php/filters/integrations/goodbits-1a3":{"__comp":"17896441","content":"0d27e988"},"/forms/php/filters/integrations/greenhouse-5f2":{"__comp":"17896441","content":"029c29d9"},"/forms/php/filters/integrations/hubspot-b09":{"__comp":"17896441","content":"c38062b9"},"/forms/php/filters/integrations/jira-88d":{"__comp":"17896441","content":"0205c089"},"/forms/php/filters/integrations/mailchimp-1cc":{"__comp":"17896441","content":"68c90bbc"},"/forms/php/filters/integrations/mailer-c91":{"__comp":"17896441","content":"092d0294"},"/forms/php/filters/integrations/mailerlite-a5f":{"__comp":"17896441","content":"7089c5e9"},"/forms/php/filters/integrations/moments-697":{"__comp":"17896441","content":"b6358757"},"/forms/php/filters/integrations/pipedrive-aa6":{"__comp":"17896441","content":"a112d798"},"/forms/php/filters/integrations/workable-b9d":{"__comp":"17896441","content":"35d3178b"},"/forms/php/filters/scripts/dependency-admin-31e":{"__comp":"17896441","content":"dea8b3ed"},"/forms/php/filters/scripts/dependency-blocks-editor-9c1":{"__comp":"17896441","content":"837a3e8d"},"/forms/php/filters/scripts/dependency-blocks-frontend-a86":{"__comp":"17896441","content":"6afb304f"},"/forms/php/filters/scripts/dependency-theme-1e4":{"__comp":"17896441","content":"110cdc73"},"/forms/php/filters/scripts/routes-private-7b2":{"__comp":"17896441","content":"795f4ac3"},"/forms/php/filters/scripts/routes-public-c5a":{"__comp":"17896441","content":"83ee1d6a"},"/forms/php/filters/validation/force-mimetype-from-fs-a8b":{"__comp":"17896441","content":"536309bb"},"/forms/php/global-variables/geolocation-217":{"__comp":"17896441","content":"6042c76a"},"/forms/php/global-variables/google-recaptcha-1f3":{"__comp":"17896441","content":"fae9d50a"},"/forms/php/global-variables/how-to-use-38f":{"__comp":"17896441","content":"4619ca6c"},"/forms/php/global-variables/integrations/active-campaign-beb":{"__comp":"17896441","content":"eaffcef6"},"/forms/php/global-variables/integrations/airtable-57a":{"__comp":"17896441","content":"679e6283"},"/forms/php/global-variables/integrations/clearbit-98e":{"__comp":"17896441","content":"1ab6957b"},"/forms/php/global-variables/integrations/goodbits-6dc":{"__comp":"17896441","content":"779187a6"},"/forms/php/global-variables/integrations/greenhouse-893":{"__comp":"17896441","content":"af09cb5f"},"/forms/php/global-variables/integrations/hubspot-d21":{"__comp":"17896441","content":"26b1dccf"},"/forms/php/global-variables/integrations/jira-ec9":{"__comp":"17896441","content":"c344252c"},"/forms/php/global-variables/integrations/mailchimp-6cf":{"__comp":"17896441","content":"c9815f8a"},"/forms/php/global-variables/integrations/mailerlite-bc2":{"__comp":"17896441","content":"5d41d0b6"},"/forms/php/global-variables/integrations/moments-38b":{"__comp":"17896441","content":"385e6aa6"},"/forms/php/global-variables/integrations/pipedrive-717":{"__comp":"17896441","content":"7dd4c8bc"},"/forms/php/global-variables/integrations/workable-329":{"__comp":"17896441","content":"889c25c7"},"/forms/php/helpers-c4b":{"__comp":"17896441","content":"92a392ff"},"/forms/php/intro-ab5":{"__comp":"17896441","content":"790fff8f"},"/forms/php/shortcodes-019":{"__comp":"17896441","content":"f17f4e68"},"/forms/php/wp-cli-07b":{"__comp":"17896441","content":"9bd02e6c"},"/forms/tutorials/playlist-6aa":{"__comp":"17896441","content":"8383ea83"},"/forms/welcome-0a8":{"__comp":"17896441","content":"43ab2c5c"},"/-2e1":{"__comp":"c4f5d8e4","__context":{"plugin":"a7456010"},"config":"5e9f5e1a"}}')}},e=>{e.O(0,[71869],(()=>{return t=38536,e(e.s=t);var t}));e.O()}]); \ No newline at end of file diff --git a/assets/js/main.85474ca9.js.LICENSE.txt b/assets/js/main.9b71ce22.js.LICENSE.txt similarity index 100% rename from assets/js/main.85474ca9.js.LICENSE.txt rename to assets/js/main.9b71ce22.js.LICENSE.txt diff --git a/assets/js/runtime~main.5f982d09.js b/assets/js/runtime~main.5f982d09.js new file mode 100644 index 000000000..819c526c5 --- /dev/null +++ b/assets/js/runtime~main.5f982d09.js @@ -0,0 +1 @@ +(()=>{"use strict";var e,a,c,d,b,f={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={exports:{}};return f[e].call(c.exports,c,c.exports,r),c.exports}r.m=f,e=[],r.O=(a,c,d,b)=>{if(!c){var f=1/0;for(i=0;i<e.length;i++){c=e[i][0],d=e[i][1],b=e[i][2];for(var t=!0,o=0;o<c.length;o++)(!1&b||f>=b)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,b<f&&(f=b));if(t){e.splice(i--,1);var n=d();void 0!==n&&(a=n)}}return a}b=b||0;for(var i=e.length;i>0&&e[i-1][2]>b;i--)e[i]=e[i-1];e[i]=[c,d,b]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var b=Object.create(null);r.r(b);var f={};a=a||[null,c({}),c([]),c(c)];for(var t=2&d&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>f[a]=()=>e[a]));return f.default=()=>e,r.d(b,f),b},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({79:"9eec1b69",102:"5d34a3e0",125:"d0c63040",505:"7b3a75e2",726:"be197d78",746:"e9beab12",1032:"7cf19012",1070:"ee924e36",2022:"a374712b",2107:"f34f869b",2603:"6cbda4b6",2872:"bce2f7e5",2998:"f26f0cdb",3089:"37f27a13",3430:"7dd4c8bc",3518:"c38fd7bd",4034:"25539fcb",4041:"9e4e2e8b",4203:"590322ab",4215:"39c8d3f8",4292:"c15d2dfd",4997:"aa47c437",5017:"e93eaee1",5276:"5215d6a1",5377:"ba4d70ca",5440:"fd6d4018",5620:"39035dcb",5843:"98c40af1",5996:"49403d8c",6261:"53a3e6dc",6551:"fd21cc65",6777:"7c7e3f2e",6831:"22e7b626",7243:"ce0a947c",7346:"9cd35a7e",7429:"4e946086",7530:"87f23a60",7878:"5c125432",8025:"9e3bbdc0",8150:"d845213b",8209:"01a85c17",8264:"efbb6268",8450:"21c119bb",8760:"07fb059b",8824:"b9355076",9085:"795f4ac3",9264:"1385dc12",9423:"45159772",9559:"46604707",9647:"5e95c892",9687:"f218f265",10042:"39447efc",10053:"92621e92",10120:"f1a7576f",10175:"536309bb",10176:"86405c0e",10287:"c2a527e7",10454:"8962d52c",10504:"3e53f2d3",10527:"b7f27d80",10572:"dbd7356d",10587:"9d107aac",10780:"9f7aca5a",10901:"4eaf1272",10940:"600a6af1",10984:"5239f41c",11097:"35847f85",11154:"48b9a430",11188:"9a04d7c3",11644:"7ddf2558",11953:"a45434fa",12084:"d5f39101",12086:"afb6799c",12090:"2554564d",12098:"0cde639a",12279:"ea645227",12946:"1698e1d1",12976:"adaf2bab",13100:"6b94b48b",13180:"26b1dccf",13198:"388ae04f",13259:"714feb36",13577:"7ab92eb4",13809:"c0779e58",14097:"259bd0c5",14346:"8c05f4d5",15052:"10c1e86a",15553:"b8b9d8e8",15782:"801f3f5d",15808:"9ec15741",16323:"d817bad3",16546:"385e6aa6",16586:"27c45671",17129:"a6d8baa7",17393:"19f0fe09",17606:"541d824c",17776:"31e124ed",17996:"c55525a9",18122:"ce7d450a",18128:"8df1c5c9",18401:"17896441",18465:"8d5ae15a",18602:"53a1ff94",18766:"ca69ab29",19646:"fdc13b44",19730:"6042c76a",19766:"5e3b00c5",19811:"5ba3e239",20031:"fea00b33",20140:"fda35176",20263:"790fff8f",20592:"9ca2f55b",20845:"a0d23381",21062:"842a1dd5",21082:"2c4528c6",21325:"02b9869f",21759:"44ef7d31",22118:"5fbdd67a",22292:"d0ecf97a",22383:"cf4609e7",22838:"25003e4f",22864:"dc5b4777",23101:"e7328bb1",23738:"e8a4c7be",23856:"794bc8f2",25092:"147ca104",25110:"9f25cf08",25173:"3fd111c7",25558:"52c25d1c",25632:"e90b4b34",25633:"09d8acdc",25642:"0c7b26d1",25786:"2a89e141",25994:"5eed5ded",26285:"0058bf23",26289:"7089c5e9",26294:"2d764dca",26315:"29014e21",26532:"963c8ac0",26546:"9d954fea",26659:"af9ac9e0",26950:"6eb5397d",27045:"619eeade",27062:"b8b55b85",27508:"f4a6cc60",27688:"e4399142",27722:"7cbc5997",28131:"7df6cfaa",28233:"ed3575d5",28638:"35d3178b",28658:"0655bd76",28767:"35144e55",28860:"9ac95129",28870:"5bf26d11",29005:"07af796b",29366:"0fe8a02a",29450:"2345a3b7",29487:"163b78fe",29629:"dc28c8db",29673:"120f8e9c",29701:"9f6545b7",29744:"230a0014",30003:"89c5f7f6",30083:"1a6a2ec3",30644:"7b2162ed",31199:"97cb0cff",31357:"eaffcef6",31438:"ddb69969",31532:"50c94cd7",31535:"e71b04e6",31671:"ef02483f",32046:"e12d4719",32173:"e00f1d66",32277:"0e617e7a",32851:"805db72d",32967:"b64e38ac",33049:"40bcb702",33373:"7a9c7a9a",33418:"035d9dc3",33587:"ac9ee971",33662:"6a5d09b2",33688:"2716246c",33839:"c72fb457",33856:"67644baa",34054:"e8854f45",34070:"3aebe9a9",35151:"3b7ac723",35175:"daf8bbf9",35176:"a2947dce",35512:"5be441ac",35742:"aba21aa0",35818:"962afcd6",35821:"092d0294",35999:"4e418365",36173:"bca46e3f",36321:"3f56b28d",36334:"f5d62c05",36372:"64042be6",36471:"3cc3f22b",36802:"5ed3387d",37074:"aebfde4b",37643:"a6aa9e1f",37712:"2b4fbe73",37752:"e110487c",37991:"adb54813",38018:"286194e8",38118:"0bea9cd5",38194:"b4f7c3fb",38812:"36d70216",38950:"5bd755c4",38993:"2747918f",39122:"4619ca6c",39130:"80d5addc",39446:"429e0b25",39645:"769f10a0",39891:"281e3fe0",39914:"8383ea83",40069:"13b613cc",40282:"390b04b5",40344:"76f2b92e",41009:"4b8950e9",41506:"bf7018cf",41665:"8ae4ee15",41835:"c3122f65",41874:"5fc994c2",42099:"8364cffd",42275:"518baa20",42332:"548faf69",42520:"62f60b5b",42529:"3d99f89d",42603:"59c340d8",42695:"4f057d99",42819:"027b80af",42849:"80796e9f",42862:"66092bc9",43099:"72aadbbe",43183:"749660c3",43635:"e4932c64",43761:"b3760b7c",44019:"1a8da153",44029:"1aa24188",44034:"435e79fb",44152:"9d255f37",44370:"d136d263",44390:"e6326b0c",44546:"39b05d13",44876:"8df52c09",45307:"048a2137",45451:"10db50b8",45473:"a737efbc",45474:"325ddbed",45488:"9cd71f2c",45597:"46ddaac3",45611:"23002826",46115:"9f724635",46150:"fae9d50a",46578:"d7756765",47103:"88748759",47934:"45a57db1",48420:"afdc90ee",48472:"18ea4958",48506:"7c97d78d",48533:"3784eb9f",48608:"de657462",48750:"8f5a650f",48812:"31b83fd6",48955:"d14f8ee5",49018:"1d1d00c8",49144:"51f93b96",49568:"b322c2ef",49876:"6b93e189",50252:"85d49e2b",50261:"dd059938",50383:"25b43794",51006:"938b8490",51093:"fbe6399d",51125:"0f1457e8",51127:"9a2d1e33",51166:"44c6aa62",51212:"7ee32c60",51318:"9bd54e26",51331:"e37577e1",51458:"5f22e924",51459:"7d1194b2",51867:"998cd6c6",52375:"ccea3a4d",52634:"c4f5d8e4",52693:"a45b31ec",52711:"9e4087bc",52741:"4aad33a5",52848:"41bc8270",53685:"0f187495",53721:"da81302a",53844:"9dd0e933",53883:"e18eec83",54077:"d1a0cea3",54083:"1f5f1faf",54207:"4f8601bc",54260:"f8bbda75",54286:"96795ae1",54752:"c62d4947",55513:"3ed2c247",55888:"f17f4e68",55923:"db98aa0c",56110:"79cbe809",56142:"f880b41b",56226:"01ee484b",56251:"b6915d5f",56344:"07a4eaaf",56561:"186bf65f",56661:"bc8a7ae5",57167:"83ce5e05",57515:"be937143",57594:"e97e5233",57865:"e8903528",57955:"7fa80a78",58239:"812444b5",58279:"ae06c6f1",58423:"029c29d9",58439:"641a79fb",58873:"3634820b",59483:"dba7b2ae",59594:"81d5dffa",59616:"41756ce8",59654:"889c25c7",59846:"ae5745cc",60536:"ed480930",60743:"c80bf43d",60908:"40adba6a",60967:"679e6283",61118:"8cdd3050",61152:"066ec25f",61235:"a7456010",61270:"0a9768df",61277:"74ea67e3",61315:"1ead2ae5",61362:"64e3919b",61422:"318b66a0",61593:"c78f4965",61602:"ab8fc1e5",61840:"2e99cb0e",62138:"1a4e3797",62625:"6156002b",62676:"06946b11",62757:"13c21afe",63166:"f0ebaa7e",63405:"5add9946",63498:"6299beff",63500:"a12ac645",63574:"a2d3b782",63900:"f0f0c9e0",64770:"1eef4415",64823:"47a776f2",64889:"50b72e32",64955:"f8d85197",64978:"d28f320b",65024:"d88895d1",65223:"110cdc73",65388:"acf35250",65587:"1b63fe07",65812:"326267d5",66599:"08cebe36",66613:"bb98611a",66660:"f92290a0",66670:"fbe7d2e8",66681:"2297cc0d",67036:"a97e7f15",67098:"a7bd4aaa",67144:"0cf6d2ee",67187:"74bedbb6",67199:"a5081791",67448:"85434a08",67472:"814f3328",67568:"4f6e5aff",67587:"7c673fac",67778:"30241ed8",67812:"fce92293",67819:"44b117b5",67843:"85c52577",67921:"d0301901",67937:"615207d7",67960:"404e42f6",67992:"20e43c84",68236:"22cdf000",68629:"add2b463",68749:"af09cb5f",68869:"07b5dca2",68963:"0ce4c86c",69170:"0cbbedcd",69192:"66151e3f",69700:"9bd02e6c",70010:"62284ec3",70073:"dbfa0beb",70160:"a112d798",70332:"beb2a160",70395:"8eb5a1d8",70652:"e801e723",71220:"24b57605",71222:"952356a8",71237:"7d66ff10",71328:"0205c089",71336:"e3792bbb",71338:"bacc15ea",71737:"44f6c623",72094:"4ec5858e",72238:"90c2c848",72349:"13362ea9",72379:"ecf43748",72821:"f00dda52",72888:"715a66b3",72947:"bcdc9a5c",73034:"795feea1",73080:"1c82c718",73114:"a2dbf4e7",73356:"d3930d00",73482:"2f2ad190",73614:"4ece2ef5",74165:"8ddd1f69",74672:"4dad0b95",74929:"d6a42b72",74939:"3124e7fd",74988:"79818576",75149:"c7fa2f29",75174:"426b1138",75292:"ec5d0804",75563:"56802612",75659:"f407a811",75826:"68c90bbc",75924:"0d27e988",76225:"19a6ffde",76297:"6b207c51",76537:"37703fea",76718:"e8ce9e6f",76835:"86a402cb",76877:"7c110bd0",77299:"56f8d3dd",77345:"b31b2138",77514:"410c21ec",77609:"0242a13a",78051:"2a615d1d",78101:"6f0e603d",78236:"14d8029e",78320:"837a3e8d",78547:"dea8b3ed",78684:"39d8d90f",78731:"067e78b9",79048:"a94703ab",79619:"2c773ba3",79643:"c344252c",79867:"6afb304f",80430:"5025c75d",80480:"2e9194de",80536:"da20989d",80675:"12d9b77d",80824:"bff0bad2",80957:"c141421f",81196:"43ab2c5c",81208:"1ab6957b",81319:"ad6305cb",81588:"0c06981f",81598:"aee4c48a",81903:"acecf23e",82316:"d5c4c4ae",82368:"ff445556",82682:"7c785ce9",82694:"901c0002",82729:"c6cd348e",83127:"9e004082",83249:"ccc49370",83276:"63b7ed35",83540:"b8283c8e",83546:"ee1ed8c4",83708:"c361232e",83990:"e4e082a8",84033:"39e353ee",84036:"b6358757",84319:"94335e76",84570:"83ee1d6a",84572:"3a244aec",84604:"43d76b0c",84682:"8ddbe34c",84741:"6203860c",84813:"6875c492",84915:"c0da0a5f",85176:"dc46868d",85417:"43adcc08",85538:"a3a64d88",85575:"92a392ff",85769:"5b767225",85891:"e0b2cb26",86207:"f92772a6",86513:"64793643",86594:"43ac2fb4",86610:"af8ed05f",86903:"00fb5982",87057:"5d41d0b6",87815:"341e5e63",87843:"c661d3f1",87869:"62a6c31f",88142:"cec206a7",88167:"9dc56d2c",88290:"56b8c1aa",88369:"41aa949a",88412:"fd4ea388",88517:"779187a6",88570:"9cc47562",88691:"7d063b53",88713:"1622041d",88873:"b22c1dac",89139:"fbd7f063",89858:"36994c47",89940:"db6287e5",90172:"f0b5617d",90501:"533d3ffb",90697:"6bcded04",90778:"9ee0eb8a",90988:"2bd83684",91303:"014fa81c",91425:"42d5a18c",91585:"01980361",92412:"7fbb6eb5",92526:"7cca0223",92553:"23464d23",92698:"bb95e167",93244:"e79e64be",93887:"b3636d59",94261:"cf91d205",94386:"ebfee794",94417:"ce4b3df7",94653:"4fec421e",94663:"b11b48f8",94835:"cb3c2681",94958:"5cda8f59",95211:"73699c74",95561:"bc5075fb",96015:"cfb00690",96328:"cfae12a4",96390:"c9815f8a",96541:"c9f06a2a",96813:"5024c8a9",96980:"cb7a22d0",97080:"4cfcdd67",97686:"c38062b9",97817:"cd521b29",98040:"80d0bffa",98402:"43085e7a",98466:"d0b1075b",98542:"e1f747d9",99024:"90151e6b",99195:"b4c9bdc9",99575:"688ea354",99726:"a56ad6f0",99903:"9e8339c4",99917:"0aeeb10b"}[e]||e)+"."+{79:"6fc7ee60",102:"0333978f",125:"aee7d308",505:"bf50ec2b",726:"fac5ebf2",746:"14abe946",1032:"d5a6560d",1070:"f7c91bb4",2022:"54d31d6e",2107:"1e12fc9d",2603:"41f49dd7",2872:"2be2fa0c",2998:"0e10b1fd",3089:"4bc207a3",3242:"cd3f1d89",3430:"415b6502",3518:"cc29e38a",4034:"54eb50d7",4041:"a5cb2b89",4203:"7cc7b5e1",4215:"c37dba9a",4292:"58997ea2",4997:"8f08150c",5017:"b66394cf",5276:"c59d3244",5377:"40c8c93a",5440:"52a8455b",5620:"6834fdf0",5843:"cbd470e9",5996:"bedf4b95",6261:"fcbc127f",6551:"f342e41a",6777:"6a4ad071",6831:"dd499a74",7243:"e5d57339",7346:"81004ed5",7429:"33c2217e",7530:"56eb0781",7878:"03c036af",8025:"f707c973",8150:"94738b47",8209:"e2212a97",8264:"541b9db7",8450:"4fd94938",8760:"da6df41f",8824:"9415904f",9085:"55f8cdfd",9264:"b3d7a1b6",9423:"1af6dc1c",9462:"58fd6b75",9559:"fcaacdc8",9647:"df3324cc",9687:"7105add7",10042:"979d8a62",10053:"cd1561cd",10120:"e47e68b4",10175:"ea813a9c",10176:"a0b09c4d",10287:"1b76a072",10454:"c8057e59",10504:"ad5a34ed",10527:"ed33d73b",10572:"e4dcab24",10587:"c253552f",10780:"ac77e64d",10901:"24507e79",10940:"7e1dfead",10984:"bdf6ce4d",11097:"3388c4fb",11154:"0f349890",11188:"b6305db3",11644:"f794ecf9",11953:"bcf38c57",12084:"7129def2",12086:"5391715e",12090:"7c6037b4",12098:"da7cc2ea",12279:"55097132",12447:"2e6cc110",12946:"00bf2827",12976:"55370b56",13100:"a0ae1595",13180:"881107ad",13198:"94585df0",13259:"8b91bd5a",13577:"2b69fea0",13809:"e8c3c357",14097:"f5e3f120",14346:"26203ba6",15052:"61776529",15394:"6afebeb8",15553:"41601984",15782:"c507012e",15808:"b070a7fd",16323:"688787f9",16546:"a5db1f05",16586:"7aebdba8",17129:"a10f8971",17393:"21b4eefb",17606:"0c7a0fd7",17776:"796cf260",17996:"1b46b071",18122:"a09092f7",18128:"d8658a04",18401:"20e753d8",18465:"3014dcfd",18602:"a8457c77",18766:"6c7ac1f7",19646:"536d0fb3",19730:"e0f7b719",19766:"87e66ee3",19811:"8556d97a",20031:"70f12efd",20140:"6f3beae3",20263:"515e9f4c",20592:"67b8b2fc",20845:"6459dab4",21062:"c7ea3d47",21082:"9ed8878f",21325:"c4fc41dc",21759:"26f7fe58",22118:"35c5303b",22292:"1573091b",22383:"e2b234c6",22838:"317e2114",22864:"8d6d8fab",23101:"12c9e4c2",23271:"4b6b167e",23738:"18f9aab7",23856:"587bf5b7",25092:"7941835c",25110:"42f234c5",25173:"c2d6104c",25558:"2377781e",25632:"837ed496",25633:"aca6e13a",25642:"be1b09db",25786:"53eee61b",25994:"f9aa4010",26285:"1b5d3d29",26289:"c3004f26",26294:"eae1b89d",26315:"e41232b7",26532:"8dcd9553",26546:"d8d7f9dd",26659:"cc7a60ef",26950:"f7d283db",27045:"dfd81105",27062:"7536394f",27508:"0050b02b",27688:"b729fa11",27722:"119c0e16",28131:"fe660973",28233:"d762f2f2",28638:"10ba0e70",28658:"a0b89c55",28767:"22b453fb",28860:"e3bf3bf9",28870:"ad4940f4",29005:"2fa66316",29366:"f0107c33",29450:"d55fc1e2",29487:"c47fdfef",29629:"05ec7998",29673:"268fa3ba",29701:"77c1f590",29744:"a1bbf158",30003:"250e76e8",30083:"e927700c",30644:"110a8902",31199:"d9e66526",31357:"09eec88b",31438:"c7967b2c",31532:"9344e0e4",31535:"c9f2dcbb",31671:"3ddb716a",32046:"76811104",32173:"dd9938d1",32277:"60922013",32851:"aed2fe6c",32967:"2e46f3f1",33049:"fd95683e",33373:"adbe089e",33418:"9bc46fc5",33587:"45d0d03b",33662:"cb546735",33688:"542f8243",33839:"39e61822",33856:"9ab547c8",34054:"dc496810",34070:"515314fa",35151:"686e46e9",35175:"8edbe8af",35176:"71f121c4",35512:"0b47e8c7",35742:"910111e0",35818:"cbf17982",35821:"29c02196",35999:"4b118a0a",36173:"3d1c71c7",36321:"51c0209c",36334:"89d612da",36372:"44aa3c9a",36471:"f60c9308",36802:"587c387a",37074:"b336db7f",37643:"6862bc3a",37712:"f489efe9",37752:"4e86de07",37991:"1ad3af7a",38018:"0602f655",38118:"3f3b194f",38194:"301f624e",38812:"639426e0",38950:"83a61bee",38993:"6bb1573b",39122:"21a3debd",39130:"fbbf48d1",39446:"fb2fbe9c",39645:"e674dcaa",39891:"b82e5403",39914:"ddb7f02c",40069:"56b95a6a",40282:"de5f8188",40344:"07221505",41009:"3b9f3c84",41506:"790b8c2d",41665:"504baa6c",41835:"2943ab07",41874:"92a4ff27",42099:"6a451a69",42275:"abd61344",42332:"c24616b3",42520:"1ab4727d",42529:"8355a63c",42603:"e969cdc4",42695:"2c7de8de",42819:"51d3cba9",42849:"57fee168",42862:"b5604431",43099:"2a415c55",43183:"57452ec6",43635:"90457b5d",43761:"1873f9a9",44019:"bdd2861f",44029:"04fd2d34",44034:"a36bb58e",44152:"5308c2ce",44370:"fa0a13bc",44390:"4f2415d7",44546:"a1a09c02",44876:"c2168224",45307:"475209ba",45451:"4bb274d4",45473:"36f83f15",45474:"1dbc786f",45488:"f0e6f71d",45597:"375c6a21",45611:"e36365a6",46115:"1b16520c",46150:"6a00c5dc",46578:"47c0660d",47103:"81ae03f0",47934:"ec72fc8d",48420:"edfb6869",48472:"9e13f509",48506:"5ae4d19a",48533:"55a17c2e",48608:"6df1cf7a",48750:"51910882",48812:"06d92948",48955:"50deb13d",49018:"51e124ef",49144:"e7ee00e4",49568:"5caeb8f5",49876:"87330980",50252:"8c021c0b",50261:"4d86f47a",50383:"32e71a0b",51006:"5ebbcd59",51093:"f21d1814",51125:"379bb953",51127:"039c0ca3",51166:"ad76e311",51212:"5129473e",51318:"bc1ad40e",51331:"6ae0980d",51458:"435eb0d5",51459:"95092552",51867:"2075a3b7",52375:"f28ad5a6",52634:"6b6e7ef6",52693:"9ac12935",52711:"daf8b6ed",52741:"e70174e0",52848:"b8deca78",53685:"20560d2a",53721:"96702422",53844:"b849b733",53883:"e4079da3",54077:"5edbfb54",54083:"8fc7006d",54207:"ee737517",54260:"a29e9cbd",54286:"5a4e8f70",54752:"a7ab527f",55513:"347aa45a",55888:"1c055e62",55923:"f95f83ca",56110:"1413dc71",56142:"16403589",56226:"eeb7ec00",56251:"242f74b6",56344:"2f524574",56561:"995bbe76",56661:"4dd53aa9",57167:"eb1906f1",57515:"d04329b8",57594:"a75deb19",57865:"4ec58dec",57955:"8edc4108",58239:"51a8fd4a",58279:"97e97ec2",58423:"17e1058b",58439:"9e5f88da",58873:"0202d154",58913:"0ad6999f",59483:"fb37df1d",59594:"07f0e0c7",59616:"437bcf34",59654:"1587162d",59846:"99865d7f",60536:"eafa0827",60743:"44831b3c",60908:"93bcba1e",60967:"27f463af",61118:"34ccad42",61152:"abe57ef4",61235:"179440eb",61270:"4a803e85",61277:"074bb9ba",61315:"c7cf0a94",61362:"1753628b",61422:"37ac6cf4",61593:"c94c2ad4",61602:"2ea64d3e",61840:"dd356078",62138:"02d466ff",62625:"08e340e6",62676:"d485d6a2",62757:"3dbc61d5",63166:"08b51e14",63405:"cb6cbb21",63498:"7106f5f1",63500:"63756c23",63574:"13a9166d",63900:"3ad6a737",64770:"9ec8a5d8",64823:"10d8e641",64889:"5f382e03",64955:"034c67b6",64978:"89f1e4e6",65024:"a102518c",65223:"30172ed7",65388:"2bb67939",65587:"0d73b3e0",65812:"2d4a3b45",66599:"e8a7202e",66613:"b8a34820",66660:"cc2f04da",66670:"0a2a20e2",66681:"ed9e25dd",67036:"d652204b",67098:"789479e6",67144:"bb053c7a",67187:"c8b97154",67199:"6f32536a",67448:"b03cc0db",67472:"437239d4",67568:"2682a278",67587:"a9c20a7b",67778:"68f75290",67812:"9a4028bb",67819:"99553c3b",67843:"285a6617",67921:"0a4b93b2",67937:"5affd8a6",67960:"0e01ab77",67992:"57babe6c",68236:"1e2f4b29",68629:"1e72f9ff",68749:"88fac98f",68869:"5c13277f",68963:"f4e91663",69170:"119df65e",69192:"2289baad",69700:"0dee9c7b",70010:"5daf6f2c",70073:"a5c842a2",70160:"2979a8e1",70332:"f17ed084",70395:"4d5b4494",70652:"1f119a39",71220:"e933661f",71222:"d78d5a2b",71237:"d85ac282",71328:"ef9b188f",71336:"37b3cc76",71338:"99478b49",71737:"7f54d482",72094:"64a65bf0",72238:"00573214",72349:"5b413e31",72379:"025c568f",72821:"25e3c984",72888:"af02c694",72947:"b9a8a55e",73034:"e4fbbe07",73080:"2c763c38",73114:"a8ff3d37",73356:"af4d567b",73482:"8c996570",73614:"81448106",74165:"fb069d7f",74672:"0b1243c1",74929:"c8fece50",74939:"31fcf2fb",74988:"d810b57e",75149:"e8a48dd4",75174:"7fd879fd",75292:"31c07a25",75563:"ad8d7e07",75659:"96b2db6c",75826:"55c6abe2",75924:"e7f7e837",76225:"b241b010",76297:"62948e26",76537:"d58e9104",76718:"cccdb810",76835:"6744cfd6",76877:"0463ff88",77299:"7a8916f3",77345:"8ed35abe",77514:"081ae75a",77609:"78d7aa90",78051:"38211f29",78101:"ed5411ae",78236:"e99f2c65",78320:"196d0d3a",78547:"36534c0d",78684:"93070d2f",78731:"2b2d4069",79048:"858efccd",79619:"c5cb8208",79643:"f6cc9c44",79867:"790611a5",80430:"c77df066",80480:"68d7711a",80536:"70dec98a",80675:"2f86ddc1",80824:"9527294f",80957:"1c331f34",81196:"97d464ad",81208:"8852b32d",81319:"5ed6fcef",81588:"def5cb9e",81598:"c883cd67",81903:"c013d728",82237:"44ea2061",82316:"50eb55b1",82368:"ccaa48b2",82682:"6459f154",82694:"2dcc0b77",82729:"bd8ff0b9",83127:"caf98d00",83249:"5b36cd41",83276:"d7d435dd",83540:"119f9dbb",83546:"83e9e892",83708:"90a471ae",83990:"1c36b2d4",84033:"51bdbe9f",84036:"f0f95930",84319:"2968ee4a",84570:"755975a9",84572:"59b943e6",84604:"f5eb98c5",84682:"faa42f87",84741:"e52ba783",84813:"0deae62f",84915:"615ca327",85176:"fea23441",85417:"09fd21f9",85538:"480a6a98",85575:"8d3370ca",85769:"d29f7530",85891:"3c02bda9",86207:"40de16ee",86513:"f7de8dfe",86594:"623f54ca",86610:"443148d9",86903:"98cf04bc",87057:"f6003611",87815:"50edc124",87843:"f287e086",87869:"175cca2c",88142:"8ad201c7",88167:"94803b06",88290:"40623883",88369:"3b12b61e",88412:"558e253e",88517:"544af079",88570:"531ce3c8",88691:"5841ee26",88713:"df39e35a",88873:"ca7ca915",89139:"6c99e7a4",89858:"96fbce5a",89940:"385be378",90172:"be183ee8",90416:"41be6ac6",90501:"64c16614",90697:"eb368e6d",90778:"50dc5da2",90988:"f5255914",91303:"6574a518",91425:"b3ed05b4",91585:"5f8581e9",92412:"4fa6809f",92526:"644fe250",92553:"c0ba3515",92698:"cd44fe36",93244:"96854502",93887:"c1d2043b",94261:"e5085325",94386:"16b8231f",94417:"655eba08",94653:"7364b89a",94663:"3f3fd8fd",94835:"3ae7479b",94958:"4435fe6d",95211:"1d78ac79",95561:"93069b71",96015:"e279c4b2",96328:"cfa310ba",96390:"223ce0a8",96541:"16d9cede",96813:"f866f81a",96980:"b851d07f",97080:"3a362a85",97686:"7847da0c",97817:"2256ab64",98040:"f1459adc",98402:"1c487d66",98466:"546f49c3",98542:"a1c1dd5a",99024:"923770c0",99195:"2288eead",99575:"6244c445",99726:"dfb5c143",99903:"a1de6690",99917:"a5745bfc"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),d={},b="@eightshift/docs:",r.l=(e,a,c,f)=>{if(d[e])d[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i<n.length;i++){var u=n[i];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==b+c){t=u;break}}t||(o=!0,(t=document.createElement("script")).charset="utf-8",t.timeout=120,r.nc&&t.setAttribute("nonce",r.nc),t.setAttribute("data-webpack",b+c),t.src=e),d[e]=[a];var l=(a,c)=>{t.onerror=t.onload=null,clearTimeout(s);var b=d[e];if(delete d[e],t.parentNode&&t.parentNode.removeChild(t),b&&b.forEach((e=>e(c))),a)return a(c)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"18401",23002826:"45611",45159772:"9423",46604707:"9559",56802612:"75563",64793643:"86513",79818576:"74988",88748759:"47103","9eec1b69":"79","5d34a3e0":"102",d0c63040:"125","7b3a75e2":"505",be197d78:"726",e9beab12:"746","7cf19012":"1032",ee924e36:"1070",a374712b:"2022",f34f869b:"2107","6cbda4b6":"2603",bce2f7e5:"2872",f26f0cdb:"2998","37f27a13":"3089","7dd4c8bc":"3430",c38fd7bd:"3518","25539fcb":"4034","9e4e2e8b":"4041","590322ab":"4203","39c8d3f8":"4215",c15d2dfd:"4292",aa47c437:"4997",e93eaee1:"5017","5215d6a1":"5276",ba4d70ca:"5377",fd6d4018:"5440","39035dcb":"5620","98c40af1":"5843","49403d8c":"5996","53a3e6dc":"6261",fd21cc65:"6551","7c7e3f2e":"6777","22e7b626":"6831",ce0a947c:"7243","9cd35a7e":"7346","4e946086":"7429","87f23a60":"7530","5c125432":"7878","9e3bbdc0":"8025",d845213b:"8150","01a85c17":"8209",efbb6268:"8264","21c119bb":"8450","07fb059b":"8760",b9355076:"8824","795f4ac3":"9085","1385dc12":"9264","5e95c892":"9647",f218f265:"9687","39447efc":"10042","92621e92":"10053",f1a7576f:"10120","536309bb":"10175","86405c0e":"10176",c2a527e7:"10287","8962d52c":"10454","3e53f2d3":"10504",b7f27d80:"10527",dbd7356d:"10572","9d107aac":"10587","9f7aca5a":"10780","4eaf1272":"10901","600a6af1":"10940","5239f41c":"10984","35847f85":"11097","48b9a430":"11154","9a04d7c3":"11188","7ddf2558":"11644",a45434fa:"11953",d5f39101:"12084",afb6799c:"12086","2554564d":"12090","0cde639a":"12098",ea645227:"12279","1698e1d1":"12946",adaf2bab:"12976","6b94b48b":"13100","26b1dccf":"13180","388ae04f":"13198","714feb36":"13259","7ab92eb4":"13577",c0779e58:"13809","259bd0c5":"14097","8c05f4d5":"14346","10c1e86a":"15052",b8b9d8e8:"15553","801f3f5d":"15782","9ec15741":"15808",d817bad3:"16323","385e6aa6":"16546","27c45671":"16586",a6d8baa7:"17129","19f0fe09":"17393","541d824c":"17606","31e124ed":"17776",c55525a9:"17996",ce7d450a:"18122","8df1c5c9":"18128","8d5ae15a":"18465","53a1ff94":"18602",ca69ab29:"18766",fdc13b44:"19646","6042c76a":"19730","5e3b00c5":"19766","5ba3e239":"19811",fea00b33:"20031",fda35176:"20140","790fff8f":"20263","9ca2f55b":"20592",a0d23381:"20845","842a1dd5":"21062","2c4528c6":"21082","02b9869f":"21325","44ef7d31":"21759","5fbdd67a":"22118",d0ecf97a:"22292",cf4609e7:"22383","25003e4f":"22838",dc5b4777:"22864",e7328bb1:"23101",e8a4c7be:"23738","794bc8f2":"23856","147ca104":"25092","9f25cf08":"25110","3fd111c7":"25173","52c25d1c":"25558",e90b4b34:"25632","09d8acdc":"25633","0c7b26d1":"25642","2a89e141":"25786","5eed5ded":"25994","0058bf23":"26285","7089c5e9":"26289","2d764dca":"26294","29014e21":"26315","963c8ac0":"26532","9d954fea":"26546",af9ac9e0:"26659","6eb5397d":"26950","619eeade":"27045",b8b55b85:"27062",f4a6cc60:"27508",e4399142:"27688","7cbc5997":"27722","7df6cfaa":"28131",ed3575d5:"28233","35d3178b":"28638","0655bd76":"28658","35144e55":"28767","9ac95129":"28860","5bf26d11":"28870","07af796b":"29005","0fe8a02a":"29366","2345a3b7":"29450","163b78fe":"29487",dc28c8db:"29629","120f8e9c":"29673","9f6545b7":"29701","230a0014":"29744","89c5f7f6":"30003","1a6a2ec3":"30083","7b2162ed":"30644","97cb0cff":"31199",eaffcef6:"31357",ddb69969:"31438","50c94cd7":"31532",e71b04e6:"31535",ef02483f:"31671",e12d4719:"32046",e00f1d66:"32173","0e617e7a":"32277","805db72d":"32851",b64e38ac:"32967","40bcb702":"33049","7a9c7a9a":"33373","035d9dc3":"33418",ac9ee971:"33587","6a5d09b2":"33662","2716246c":"33688",c72fb457:"33839","67644baa":"33856",e8854f45:"34054","3aebe9a9":"34070","3b7ac723":"35151",daf8bbf9:"35175",a2947dce:"35176","5be441ac":"35512",aba21aa0:"35742","962afcd6":"35818","092d0294":"35821","4e418365":"35999",bca46e3f:"36173","3f56b28d":"36321",f5d62c05:"36334","64042be6":"36372","3cc3f22b":"36471","5ed3387d":"36802",aebfde4b:"37074",a6aa9e1f:"37643","2b4fbe73":"37712",e110487c:"37752",adb54813:"37991","286194e8":"38018","0bea9cd5":"38118",b4f7c3fb:"38194","36d70216":"38812","5bd755c4":"38950","2747918f":"38993","4619ca6c":"39122","80d5addc":"39130","429e0b25":"39446","769f10a0":"39645","281e3fe0":"39891","8383ea83":"39914","13b613cc":"40069","390b04b5":"40282","76f2b92e":"40344","4b8950e9":"41009",bf7018cf:"41506","8ae4ee15":"41665",c3122f65:"41835","5fc994c2":"41874","8364cffd":"42099","518baa20":"42275","548faf69":"42332","62f60b5b":"42520","3d99f89d":"42529","59c340d8":"42603","4f057d99":"42695","027b80af":"42819","80796e9f":"42849","66092bc9":"42862","72aadbbe":"43099","749660c3":"43183",e4932c64:"43635",b3760b7c:"43761","1a8da153":"44019","1aa24188":"44029","435e79fb":"44034","9d255f37":"44152",d136d263:"44370",e6326b0c:"44390","39b05d13":"44546","8df52c09":"44876","048a2137":"45307","10db50b8":"45451",a737efbc:"45473","325ddbed":"45474","9cd71f2c":"45488","46ddaac3":"45597","9f724635":"46115",fae9d50a:"46150",d7756765:"46578","45a57db1":"47934",afdc90ee:"48420","18ea4958":"48472","7c97d78d":"48506","3784eb9f":"48533",de657462:"48608","8f5a650f":"48750","31b83fd6":"48812",d14f8ee5:"48955","1d1d00c8":"49018","51f93b96":"49144",b322c2ef:"49568","6b93e189":"49876","85d49e2b":"50252",dd059938:"50261","25b43794":"50383","938b8490":"51006",fbe6399d:"51093","0f1457e8":"51125","9a2d1e33":"51127","44c6aa62":"51166","7ee32c60":"51212","9bd54e26":"51318",e37577e1:"51331","5f22e924":"51458","7d1194b2":"51459","998cd6c6":"51867",ccea3a4d:"52375",c4f5d8e4:"52634",a45b31ec:"52693","9e4087bc":"52711","4aad33a5":"52741","41bc8270":"52848","0f187495":"53685",da81302a:"53721","9dd0e933":"53844",e18eec83:"53883",d1a0cea3:"54077","1f5f1faf":"54083","4f8601bc":"54207",f8bbda75:"54260","96795ae1":"54286",c62d4947:"54752","3ed2c247":"55513",f17f4e68:"55888",db98aa0c:"55923","79cbe809":"56110",f880b41b:"56142","01ee484b":"56226",b6915d5f:"56251","07a4eaaf":"56344","186bf65f":"56561",bc8a7ae5:"56661","83ce5e05":"57167",be937143:"57515",e97e5233:"57594",e8903528:"57865","7fa80a78":"57955","812444b5":"58239",ae06c6f1:"58279","029c29d9":"58423","641a79fb":"58439","3634820b":"58873",dba7b2ae:"59483","81d5dffa":"59594","41756ce8":"59616","889c25c7":"59654",ae5745cc:"59846",ed480930:"60536",c80bf43d:"60743","40adba6a":"60908","679e6283":"60967","8cdd3050":"61118","066ec25f":"61152",a7456010:"61235","0a9768df":"61270","74ea67e3":"61277","1ead2ae5":"61315","64e3919b":"61362","318b66a0":"61422",c78f4965:"61593",ab8fc1e5:"61602","2e99cb0e":"61840","1a4e3797":"62138","6156002b":"62625","06946b11":"62676","13c21afe":"62757",f0ebaa7e:"63166","5add9946":"63405","6299beff":"63498",a12ac645:"63500",a2d3b782:"63574",f0f0c9e0:"63900","1eef4415":"64770","47a776f2":"64823","50b72e32":"64889",f8d85197:"64955",d28f320b:"64978",d88895d1:"65024","110cdc73":"65223",acf35250:"65388","1b63fe07":"65587","326267d5":"65812","08cebe36":"66599",bb98611a:"66613",f92290a0:"66660",fbe7d2e8:"66670","2297cc0d":"66681",a97e7f15:"67036",a7bd4aaa:"67098","0cf6d2ee":"67144","74bedbb6":"67187",a5081791:"67199","85434a08":"67448","814f3328":"67472","4f6e5aff":"67568","7c673fac":"67587","30241ed8":"67778",fce92293:"67812","44b117b5":"67819","85c52577":"67843",d0301901:"67921","615207d7":"67937","404e42f6":"67960","20e43c84":"67992","22cdf000":"68236",add2b463:"68629",af09cb5f:"68749","07b5dca2":"68869","0ce4c86c":"68963","0cbbedcd":"69170","66151e3f":"69192","9bd02e6c":"69700","62284ec3":"70010",dbfa0beb:"70073",a112d798:"70160",beb2a160:"70332","8eb5a1d8":"70395",e801e723:"70652","24b57605":"71220","952356a8":"71222","7d66ff10":"71237","0205c089":"71328",e3792bbb:"71336",bacc15ea:"71338","44f6c623":"71737","4ec5858e":"72094","90c2c848":"72238","13362ea9":"72349",ecf43748:"72379",f00dda52:"72821","715a66b3":"72888",bcdc9a5c:"72947","795feea1":"73034","1c82c718":"73080",a2dbf4e7:"73114",d3930d00:"73356","2f2ad190":"73482","4ece2ef5":"73614","8ddd1f69":"74165","4dad0b95":"74672",d6a42b72:"74929","3124e7fd":"74939",c7fa2f29:"75149","426b1138":"75174",ec5d0804:"75292",f407a811:"75659","68c90bbc":"75826","0d27e988":"75924","19a6ffde":"76225","6b207c51":"76297","37703fea":"76537",e8ce9e6f:"76718","86a402cb":"76835","7c110bd0":"76877","56f8d3dd":"77299",b31b2138:"77345","410c21ec":"77514","0242a13a":"77609","2a615d1d":"78051","6f0e603d":"78101","14d8029e":"78236","837a3e8d":"78320",dea8b3ed:"78547","39d8d90f":"78684","067e78b9":"78731",a94703ab:"79048","2c773ba3":"79619",c344252c:"79643","6afb304f":"79867","5025c75d":"80430","2e9194de":"80480",da20989d:"80536","12d9b77d":"80675",bff0bad2:"80824",c141421f:"80957","43ab2c5c":"81196","1ab6957b":"81208",ad6305cb:"81319","0c06981f":"81588",aee4c48a:"81598",acecf23e:"81903",d5c4c4ae:"82316",ff445556:"82368","7c785ce9":"82682","901c0002":"82694",c6cd348e:"82729","9e004082":"83127",ccc49370:"83249","63b7ed35":"83276",b8283c8e:"83540",ee1ed8c4:"83546",c361232e:"83708",e4e082a8:"83990","39e353ee":"84033",b6358757:"84036","94335e76":"84319","83ee1d6a":"84570","3a244aec":"84572","43d76b0c":"84604","8ddbe34c":"84682","6203860c":"84741","6875c492":"84813",c0da0a5f:"84915",dc46868d:"85176","43adcc08":"85417",a3a64d88:"85538","92a392ff":"85575","5b767225":"85769",e0b2cb26:"85891",f92772a6:"86207","43ac2fb4":"86594",af8ed05f:"86610","00fb5982":"86903","5d41d0b6":"87057","341e5e63":"87815",c661d3f1:"87843","62a6c31f":"87869",cec206a7:"88142","9dc56d2c":"88167","56b8c1aa":"88290","41aa949a":"88369",fd4ea388:"88412","779187a6":"88517","9cc47562":"88570","7d063b53":"88691","1622041d":"88713",b22c1dac:"88873",fbd7f063:"89139","36994c47":"89858",db6287e5:"89940",f0b5617d:"90172","533d3ffb":"90501","6bcded04":"90697","9ee0eb8a":"90778","2bd83684":"90988","014fa81c":"91303","42d5a18c":"91425","01980361":"91585","7fbb6eb5":"92412","7cca0223":"92526","23464d23":"92553",bb95e167:"92698",e79e64be:"93244",b3636d59:"93887",cf91d205:"94261",ebfee794:"94386",ce4b3df7:"94417","4fec421e":"94653",b11b48f8:"94663",cb3c2681:"94835","5cda8f59":"94958","73699c74":"95211",bc5075fb:"95561",cfb00690:"96015",cfae12a4:"96328",c9815f8a:"96390",c9f06a2a:"96541","5024c8a9":"96813",cb7a22d0:"96980","4cfcdd67":"97080",c38062b9:"97686",cd521b29:"97817","80d0bffa":"98040","43085e7a":"98402",d0b1075b:"98466",e1f747d9:"98542","90151e6b":"99024",b4c9bdc9:"99195","688ea354":"99575",a56ad6f0:"99726","9e8339c4":"99903","0aeeb10b":"99917"}[e]||e,r.p+r.u(e)},(()=>{var e={45354:0,71869:0};r.f.j=(a,c)=>{var d=r.o(e,a)?e[a]:void 0;if(0!==d)if(d)c.push(d[2]);else if(/^(45354|71869)$/.test(a))e[a]=0;else{var b=new Promise(((c,b)=>d=e[a]=[c,b]));c.push(d[2]=b);var f=r.p+r.u(a),t=new Error;r.l(f,(c=>{if(r.o(e,a)&&(0!==(d=e[a])&&(e[a]=void 0),d)){var b=c&&("load"===c.type?"missing":c.type),f=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+b+": "+f+")",t.name="ChunkLoadError",t.type=b,t.request=f,d[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var d,b,f=c[0],t=c[1],o=c[2],n=0;if(f.some((a=>0!==e[a]))){for(d in t)r.o(t,d)&&(r.m[d]=t[d]);if(o)var i=o(r)}for(a&&a(c);n<f.length;n++)b=f[n],r.o(e,b)&&e[b]&&e[b][0](),e[b]=0;return r.O(i)},c=self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[];c.forEach(a.bind(null,0)),c.push=a.bind(null,c.push.bind(c))})()})(); \ No newline at end of file diff --git a/assets/js/runtime~main.b2d922db.js b/assets/js/runtime~main.b2d922db.js deleted file mode 100644 index 005f9bd8e..000000000 --- a/assets/js/runtime~main.b2d922db.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{"use strict";var e,c,a,d,b,f={},t={};function r(e){var c=t[e];if(void 0!==c)return c.exports;var a=t[e]={exports:{}};return f[e].call(a.exports,a,a.exports,r),a.exports}r.m=f,e=[],r.O=(c,a,d,b)=>{if(!a){var f=1/0;for(i=0;i<e.length;i++){a=e[i][0],d=e[i][1],b=e[i][2];for(var t=!0,o=0;o<a.length;o++)(!1&b||f>=b)&&Object.keys(r.O).every((e=>r.O[e](a[o])))?a.splice(o--,1):(t=!1,b<f&&(f=b));if(t){e.splice(i--,1);var n=d();void 0!==n&&(c=n)}}return c}b=b||0;for(var i=e.length;i>0&&e[i-1][2]>b;i--)e[i]=e[i-1];e[i]=[a,d,b]},r.n=e=>{var c=e&&e.__esModule?()=>e.default:()=>e;return r.d(c,{a:c}),c},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var b=Object.create(null);r.r(b);var f={};c=c||[null,a({}),a([]),a(a)];for(var t=2&d&&e;"object"==typeof t&&!~c.indexOf(t);t=a(t))Object.getOwnPropertyNames(t).forEach((c=>f[c]=()=>e[c]));return f.default=()=>e,r.d(b,f),b},r.d=(e,c)=>{for(var a in c)r.o(c,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:c[a]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((c,a)=>(r.f[a](e,c),c)),[])),r.u=e=>"assets/js/"+({79:"9eec1b69",102:"5d34a3e0",125:"d0c63040",505:"7b3a75e2",647:"a9ff9f98",726:"be197d78",746:"e9beab12",1032:"7cf19012",1070:"ee924e36",2008:"3b5edcc4",2022:"a374712b",2107:"f34f869b",2384:"96c3e083",2603:"6cbda4b6",2872:"bce2f7e5",2998:"f26f0cdb",3089:"37f27a13",3430:"7dd4c8bc",3518:"c38fd7bd",4034:"25539fcb",4041:"9e4e2e8b",4122:"a372a63b",4203:"590322ab",4215:"39c8d3f8",4264:"ae8e07b1",4292:"c15d2dfd",4866:"32030e6f",4997:"aa47c437",5017:"e93eaee1",5276:"5215d6a1",5377:"ba4d70ca",5440:"fd6d4018",5620:"39035dcb",5843:"98c40af1",5996:"49403d8c",6551:"fd21cc65",6777:"7c7e3f2e",6831:"22e7b626",7243:"ce0a947c",7346:"9cd35a7e",7429:"4e946086",7530:"87f23a60",7878:"5c125432",8025:"9e3bbdc0",8150:"d845213b",8209:"01a85c17",8264:"efbb6268",8450:"21c119bb",8760:"07fb059b",8824:"b9355076",9085:"795f4ac3",9264:"1385dc12",9423:"45159772",9559:"46604707",9647:"5e95c892",9687:"f218f265",10042:"39447efc",10053:"92621e92",10120:"f1a7576f",10175:"536309bb",10176:"86405c0e",10287:"c2a527e7",10454:"8962d52c",10504:"3e53f2d3",10527:"b7f27d80",10559:"5422c2e3",10572:"dbd7356d",10587:"9d107aac",10780:"9f7aca5a",10901:"4eaf1272",10940:"600a6af1",11030:"5b027e06",11097:"35847f85",11188:"9a04d7c3",11257:"752c6bfa",11405:"89df0009",11644:"7ddf2558",11953:"a45434fa",11991:"b2b675dd",12084:"d5f39101",12086:"afb6799c",12090:"2554564d",12098:"0cde639a",12279:"ea645227",12946:"1698e1d1",12976:"adaf2bab",13100:"6b94b48b",13180:"26b1dccf",13198:"388ae04f",13259:"714feb36",13577:"7ab92eb4",13991:"c709f244",14097:"259bd0c5",14346:"8c05f4d5",14530:"183053be",14731:"67da9612",15052:"10c1e86a",15553:"b8b9d8e8",15782:"801f3f5d",15792:"54305ae0",15808:"9ec15741",16323:"d817bad3",16536:"60d85392",16546:"385e6aa6",16586:"27c45671",17589:"103a101a",17606:"541d824c",17668:"ee85e3b6",17776:"31e124ed",17996:"c55525a9",18122:"ce7d450a",18128:"8df1c5c9",18401:"17896441",18465:"8d5ae15a",18602:"53a1ff94",18766:"ca69ab29",19383:"b78e77f8",19386:"b3b90a5e",19646:"fdc13b44",19730:"6042c76a",19766:"5e3b00c5",19811:"5ba3e239",20031:"fea00b33",20140:"fda35176",20263:"790fff8f",20272:"23da3c05",20592:"9ca2f55b",20802:"73496ed9",20845:"a0d23381",21082:"2c4528c6",21325:"02b9869f",21759:"44ef7d31",22118:"5fbdd67a",22292:"d0ecf97a",22383:"cf4609e7",22864:"dc5b4777",23101:"e7328bb1",23737:"31d6ca5c",23738:"e8a4c7be",23856:"794bc8f2",25092:"147ca104",25110:"9f25cf08",25123:"8b535be0",25173:"3fd111c7",25186:"ed133f89",25558:"52c25d1c",25632:"e90b4b34",25633:"09d8acdc",25642:"0c7b26d1",25786:"2a89e141",25994:"5eed5ded",26285:"0058bf23",26289:"7089c5e9",26294:"2d764dca",26315:"29014e21",26532:"963c8ac0",26546:"9d954fea",26659:"af9ac9e0",26950:"6eb5397d",26984:"f162eb70",27045:"619eeade",27062:"b8b55b85",27508:"f4a6cc60",27688:"e4399142",27722:"7cbc5997",27879:"f6aef24f",27991:"30e34e97",28131:"7df6cfaa",28233:"ed3575d5",28320:"cd0300a2",28638:"35d3178b",28658:"0655bd76",28766:"e0d892c2",28767:"35144e55",28801:"2067e39b",28860:"9ac95129",28870:"5bf26d11",29005:"07af796b",29366:"0fe8a02a",29450:"2345a3b7",29487:"163b78fe",29629:"dc28c8db",29673:"120f8e9c",29701:"9f6545b7",29744:"230a0014",30003:"89c5f7f6",30083:"1a6a2ec3",30644:"7b2162ed",30739:"81faadf7",31199:"97cb0cff",31357:"eaffcef6",31438:"ddb69969",31532:"50c94cd7",31535:"e71b04e6",31671:"ef02483f",32046:"e12d4719",32129:"b101fbec",32173:"e00f1d66",32277:"0e617e7a",32282:"6b8dfc08",32851:"805db72d",32967:"b64e38ac",33049:"40bcb702",33373:"7a9c7a9a",33418:"035d9dc3",33662:"6a5d09b2",33688:"2716246c",33839:"c72fb457",33856:"67644baa",34054:"e8854f45",34070:"3aebe9a9",35151:"3b7ac723",35175:"daf8bbf9",35176:"a2947dce",35512:"5be441ac",35818:"962afcd6",35821:"092d0294",35999:"4e418365",36164:"9a46388f",36173:"bca46e3f",36321:"3f56b28d",36334:"f5d62c05",36372:"64042be6",36471:"3cc3f22b",36802:"5ed3387d",37074:"aebfde4b",37261:"72822034",37643:"a6aa9e1f",37712:"2b4fbe73",37752:"e110487c",37798:"ffc0ac08",37991:"adb54813",38018:"286194e8",38118:"0bea9cd5",38194:"b4f7c3fb",38696:"369bf9e9",38812:"36d70216",38950:"5bd755c4",38993:"2747918f",39122:"4619ca6c",39130:"80d5addc",39535:"d2dc1d28",39645:"769f10a0",39891:"281e3fe0",39914:"8383ea83",40069:"13b613cc",40282:"390b04b5",40344:"76f2b92e",41009:"4b8950e9",41506:"bf7018cf",41665:"8ae4ee15",41835:"c3122f65",41874:"5fc994c2",42099:"8364cffd",42275:"518baa20",42332:"548faf69",42468:"6f52e085",42520:"62f60b5b",42529:"3d99f89d",42603:"59c340d8",42695:"4f057d99",42849:"80796e9f",43099:"72aadbbe",43183:"749660c3",43635:"e4932c64",43761:"b3760b7c",44019:"1a8da153",44029:"1aa24188",44034:"435e79fb",44152:"9d255f37",44370:"d136d263",44390:"e6326b0c",44546:"39b05d13",44574:"f7b99134",44876:"8df52c09",45307:"048a2137",45451:"10db50b8",45473:"a737efbc",45474:"325ddbed",45488:"9cd71f2c",45597:"46ddaac3",45611:"23002826",45985:"54b7d866",46115:"9f724635",46150:"fae9d50a",46353:"9962ee1e",46578:"d7756765",47010:"acacc2b4",47103:"88748759",47934:"45a57db1",48420:"afdc90ee",48472:"18ea4958",48506:"7c97d78d",48608:"de657462",48750:"8f5a650f",48812:"31b83fd6",48955:"d14f8ee5",49018:"1d1d00c8",49144:"51f93b96",49163:"ce19f7d3",49876:"6b93e189",50252:"85d49e2b",50261:"dd059938",50383:"25b43794",50499:"3481c063",51006:"938b8490",51093:"fbe6399d",51125:"0f1457e8",51166:"44c6aa62",51212:"7ee32c60",51318:"9bd54e26",51331:"e37577e1",51454:"c87de583",51458:"5f22e924",51459:"7d1194b2",51867:"998cd6c6",52292:"8d063d8d",52375:"ccea3a4d",52634:"c4f5d8e4",52693:"a45b31ec",52711:"9e4087bc",52741:"4aad33a5",52848:"41bc8270",53685:"0f187495",53721:"da81302a",53883:"e18eec83",54077:"d1a0cea3",54083:"1f5f1faf",54207:"4f8601bc",54260:"f8bbda75",54286:"96795ae1",54752:"c62d4947",55513:"3ed2c247",55888:"f17f4e68",55923:"db98aa0c",56110:"79cbe809",56142:"f880b41b",56251:"b6915d5f",56561:"186bf65f",56661:"bc8a7ae5",57167:"83ce5e05",57388:"e4af6a2d",57515:"be937143",57865:"e8903528",57955:"7fa80a78",58239:"812444b5",58279:"ae06c6f1",58371:"a43c0a1c",58423:"029c29d9",58439:"641a79fb",58873:"3634820b",59594:"81d5dffa",59654:"889c25c7",59846:"ae5745cc",60536:"ed480930",60574:"8e0a64cf",60743:"c80bf43d",60908:"40adba6a",60967:"679e6283",61118:"8cdd3050",61152:"066ec25f",61270:"0a9768df",61362:"64e3919b",61422:"318b66a0",61593:"c78f4965",61602:"ab8fc1e5",61840:"2e99cb0e",62138:"1a4e3797",62625:"6156002b",62676:"06946b11",62757:"13c21afe",62996:"8e2e6ad6",63166:"f0ebaa7e",63405:"5add9946",63498:"6299beff",63500:"a12ac645",63574:"a2d3b782",63900:"f0f0c9e0",64770:"1eef4415",64823:"47a776f2",64955:"f8d85197",64978:"d28f320b",65024:"d88895d1",65223:"110cdc73",65587:"1b63fe07",65767:"8eb4e46b",65812:"326267d5",66131:"2176bd9e",66599:"08cebe36",66613:"bb98611a",66660:"f92290a0",66670:"fbe7d2e8",66681:"2297cc0d",67036:"a97e7f15",67098:"a7bd4aaa",67144:"0cf6d2ee",67187:"74bedbb6",67448:"85434a08",67472:"814f3328",67568:"4f6e5aff",67587:"7c673fac",67743:"ee4eba04",67778:"30241ed8",67812:"fce92293",67819:"44b117b5",67843:"85c52577",67921:"d0301901",67992:"20e43c84",68236:"22cdf000",68629:"add2b463",68749:"af09cb5f",68869:"07b5dca2",68963:"0ce4c86c",69170:"0cbbedcd",69192:"66151e3f",69700:"9bd02e6c",70010:"62284ec3",70073:"dbfa0beb",70160:"a112d798",70332:"beb2a160",70395:"8eb5a1d8",70652:"e801e723",71198:"b9979bed",71220:"24b57605",71222:"952356a8",71237:"7d66ff10",71266:"e2bba919",71328:"0205c089",71336:"e3792bbb",71338:"bacc15ea",71567:"29c85621",71737:"44f6c623",72094:"4ec5858e",72238:"90c2c848",72349:"13362ea9",72379:"ecf43748",72530:"f7aec19e",72821:"f00dda52",72888:"715a66b3",72947:"bcdc9a5c",73034:"795feea1",73080:"1c82c718",73114:"a2dbf4e7",73356:"d3930d00",73482:"2f2ad190",73614:"4ece2ef5",74165:"8ddd1f69",74672:"4dad0b95",74929:"d6a42b72",74939:"3124e7fd",74988:"79818576",75149:"c7fa2f29",75174:"426b1138",75292:"ec5d0804",75563:"56802612",75659:"f407a811",75826:"68c90bbc",75924:"0d27e988",76225:"19a6ffde",76297:"6b207c51",76347:"c9c3a302",76537:"37703fea",76693:"6e870323",77299:"56f8d3dd",77345:"b31b2138",77609:"0242a13a",77618:"499ba0c7",78051:"2a615d1d",78101:"6f0e603d",78236:"14d8029e",78320:"837a3e8d",78547:"dea8b3ed",78684:"39d8d90f",79048:"a94703ab",79619:"2c773ba3",79643:"c344252c",79867:"6afb304f",80081:"d9cc83f8",80430:"5025c75d",80480:"2e9194de",80536:"da20989d",80790:"0dcc1e01",80824:"bff0bad2",81196:"43ab2c5c",81208:"1ab6957b",81319:"ad6305cb",81588:"0c06981f",81598:"aee4c48a",82245:"b6d824a3",82316:"d5c4c4ae",82368:"ff445556",82682:"7c785ce9",82694:"901c0002",82729:"c6cd348e",83249:"ccc49370",83276:"63b7ed35",83540:"b8283c8e",83546:"ee1ed8c4",83708:"c361232e",84033:"39e353ee",84036:"b6358757",84319:"94335e76",84570:"83ee1d6a",84572:"3a244aec",84604:"43d76b0c",84682:"8ddbe34c",84741:"6203860c",84813:"6875c492",85176:"dc46868d",85329:"4293ef56",85417:"43adcc08",85538:"a3a64d88",85575:"92a392ff",85769:"5b767225",85891:"e0b2cb26",86207:"f92772a6",86417:"759f3f6b",86513:"64793643",86594:"43ac2fb4",86610:"af8ed05f",87057:"5d41d0b6",87490:"8b62c48f",87815:"341e5e63",87843:"c661d3f1",87869:"62a6c31f",88142:"cec206a7",88167:"9dc56d2c",88290:"56b8c1aa",88369:"41aa949a",88412:"fd4ea388",88447:"640b2864",88517:"779187a6",88570:"9cc47562",88691:"7d063b53",88713:"1622041d",88873:"b22c1dac",89139:"fbd7f063",89267:"a7023ddc",89302:"a6e1df93",89340:"883d241c",89940:"db6287e5",90072:"d0e59ab5",90172:"f0b5617d",90501:"533d3ffb",90697:"6bcded04",90778:"9ee0eb8a",90988:"2bd83684",91303:"014fa81c",91425:"42d5a18c",91585:"01980361",92091:"42478870",92412:"7fbb6eb5",92526:"7cca0223",92553:"23464d23",92698:"bb95e167",93244:"e79e64be",93887:"b3636d59",94e3:"0810f675",94261:"cf91d205",94386:"ebfee794",94417:"ce4b3df7",94663:"b11b48f8",94835:"cb3c2681",94958:"5cda8f59",95211:"73699c74",95561:"bc5075fb",95894:"b2f554cd",96328:"cfae12a4",96390:"c9815f8a",96541:"c9f06a2a",96813:"5024c8a9",96980:"cb7a22d0",97080:"4cfcdd67",97515:"a5dd7d10",97686:"c38062b9",97817:"cd521b29",98040:"80d0bffa",98466:"d0b1075b",98542:"e1f747d9",98581:"935f2afb",98731:"430a0c78",99024:"90151e6b",99195:"b4c9bdc9",99575:"688ea354",99726:"a56ad6f0",99903:"9e8339c4",99917:"0aeeb10b"}[e]||e)+"."+{79:"6fc7ee60",102:"0333978f",125:"d073050d",505:"bf50ec2b",647:"febb3c79",726:"44fd34a0",746:"14abe946",1032:"d5a6560d",1070:"f7c91bb4",2008:"5a5355a5",2022:"54d31d6e",2107:"1e12fc9d",2384:"06a7549e",2603:"41f49dd7",2872:"2be2fa0c",2998:"0e10b1fd",3089:"4bc207a3",3430:"415b6502",3518:"db631651",4034:"54eb50d7",4041:"a5cb2b89",4122:"dd02277a",4203:"814d05a8",4215:"c37dba9a",4264:"e59b6aae",4292:"58997ea2",4866:"7b0a5eb1",4997:"8f08150c",5017:"b66394cf",5276:"c59d3244",5377:"40c8c93a",5440:"52a8455b",5620:"6834fdf0",5843:"cbd470e9",5996:"0b3501f3",6551:"f342e41a",6777:"6a4ad071",6831:"dd499a74",7243:"e5d57339",7346:"81004ed5",7429:"33c2217e",7530:"56eb0781",7878:"03c036af",8025:"f707c973",8150:"94738b47",8209:"8a26c531",8264:"57905df0",8450:"4fd94938",8760:"da6df41f",8824:"9415904f",9085:"55f8cdfd",9264:"b3d7a1b6",9423:"1af6dc1c",9462:"fe5d8b03",9559:"fcaacdc8",9647:"27bf0ee7",9687:"7105add7",10042:"5574e495",10053:"cd1561cd",10120:"e47e68b4",10175:"ea813a9c",10176:"a0b09c4d",10287:"1b76a072",10454:"996c4b1a",10504:"ad5a34ed",10527:"ed33d73b",10559:"434cea54",10572:"e4dcab24",10587:"c253552f",10780:"ac77e64d",10901:"24507e79",10940:"7e1dfead",11030:"5f67e512",11097:"3388c4fb",11188:"b6305db3",11257:"aa4b8d4e",11405:"5a0f4240",11644:"f794ecf9",11953:"bcf38c57",11991:"24c31e82",12084:"7129def2",12086:"5391715e",12090:"7c6037b4",12098:"da7cc2ea",12279:"55097132",12946:"00bf2827",12976:"55370b56",13100:"a0ae1595",13180:"881107ad",13198:"94585df0",13259:"8b91bd5a",13577:"2b69fea0",13991:"4e14ff73",14097:"f5e3f120",14346:"26203ba6",14530:"df7e8c57",14731:"1b1e1c9f",15052:"61776529",15394:"1d8f3f43",15553:"41601984",15782:"cc89d1f5",15792:"30361cc1",15808:"b070a7fd",16323:"688787f9",16536:"fd07ea4e",16546:"a5db1f05",16586:"7aebdba8",17589:"ddb93205",17606:"0c7a0fd7",17668:"593d95cf",17776:"796cf260",17996:"1b46b071",18122:"a09092f7",18128:"d8658a04",18401:"20e753d8",18465:"3014dcfd",18602:"badfc858",18766:"6c7ac1f7",19383:"b78ad862",19386:"075754df",19646:"536d0fb3",19730:"e0f7b719",19766:"87e66ee3",19811:"a9cfad90",20031:"70f12efd",20140:"6f3beae3",20263:"515e9f4c",20272:"70bf51d0",20592:"4a755c8a",20802:"974ab08b",20845:"6459dab4",21082:"9ed8878f",21325:"c4fc41dc",21759:"26f7fe58",22118:"35c5303b",22292:"1573091b",22383:"e2b234c6",22864:"9e4aa68f",23101:"12c9e4c2",23271:"9dc8a4dd",23737:"fc30bf09",23738:"fbee7b8a",23856:"5869f9eb",25022:"8a6dd94b",25092:"7941835c",25110:"42f234c5",25123:"3c6ca3d5",25173:"457afa21",25186:"4884b168",25558:"87d5c03b",25632:"837ed496",25633:"aca6e13a",25642:"be1b09db",25786:"53eee61b",25994:"c8d6b5be",26285:"1b5d3d29",26289:"c3004f26",26294:"eae1b89d",26315:"e41232b7",26532:"8dcd9553",26546:"d8d7f9dd",26659:"cc7a60ef",26950:"f7d283db",26984:"ea847cf4",27045:"dfd81105",27062:"7536394f",27508:"0050b02b",27688:"b729fa11",27722:"119c0e16",27879:"b70ca5d0",27991:"14443240",28131:"3c4cfe81",28233:"d762f2f2",28320:"713832ed",28638:"10ba0e70",28658:"a0b89c55",28747:"8d3274b5",28766:"d7e32b95",28767:"22b453fb",28801:"8048a327",28860:"e3bf3bf9",28870:"ad4940f4",29005:"2fa66316",29366:"f0107c33",29450:"d55fc1e2",29487:"c47fdfef",29629:"05ec7998",29673:"268fa3ba",29701:"77c1f590",29744:"a1bbf158",30003:"250e76e8",30083:"e927700c",30644:"110a8902",30739:"2547d5c3",31199:"d9e66526",31357:"09eec88b",31438:"c7967b2c",31532:"9344e0e4",31535:"c9f2dcbb",31671:"3ddb716a",32046:"76811104",32129:"5e6178d3",32173:"80c381d2",32277:"60922013",32282:"4071eaeb",32851:"aed2fe6c",32967:"2e46f3f1",33049:"fd95683e",33373:"adbe089e",33418:"9bc46fc5",33662:"cb546735",33688:"542f8243",33839:"39e61822",33856:"9ab547c8",34054:"dc496810",34070:"515314fa",35151:"686e46e9",35175:"6beaa5eb",35176:"71f121c4",35512:"0b47e8c7",35818:"cbf17982",35821:"29c02196",35999:"4b118a0a",36164:"4450420d",36173:"1d7e87eb",36321:"51c0209c",36334:"89d612da",36372:"44aa3c9a",36471:"f60c9308",36802:"587c387a",37074:"b336db7f",37261:"75809a29",37643:"93b71935",37712:"f489efe9",37752:"4e86de07",37798:"b0ee0e62",37991:"5bc0f56c",38018:"0602f655",38118:"3f3b194f",38194:"301f624e",38696:"dee1995c",38812:"639426e0",38950:"83a61bee",38993:"6197492d",39122:"21a3debd",39130:"fbbf48d1",39535:"96ade4d2",39645:"e674dcaa",39891:"b82e5403",39914:"ddb7f02c",40069:"832e94da",40282:"de5f8188",40344:"07221505",41009:"3b9f3c84",41506:"790b8c2d",41665:"504baa6c",41835:"2943ab07",41874:"92a4ff27",42099:"6a451a69",42275:"abd61344",42332:"c24616b3",42468:"5914dfd3",42520:"1ab4727d",42529:"c265abe6",42603:"e969cdc4",42695:"2c7de8de",42849:"57fee168",43099:"2a415c55",43183:"57452ec6",43635:"90457b5d",43761:"1873f9a9",44019:"bdd2861f",44029:"04fd2d34",44034:"a36bb58e",44152:"5308c2ce",44370:"fa0a13bc",44390:"4f2415d7",44546:"a1a09c02",44574:"356303ad",44876:"c2168224",45307:"475209ba",45451:"4bb274d4",45473:"36f83f15",45474:"1dbc786f",45488:"f0e6f71d",45597:"375c6a21",45611:"e36365a6",45985:"cdfde82e",46115:"1b16520c",46150:"6a00c5dc",46353:"41c956e0",46578:"47c0660d",47010:"2bda05e8",47103:"81ae03f0",47934:"ec72fc8d",48420:"edfb6869",48472:"9e13f509",48506:"5ae4d19a",48608:"6df1cf7a",48750:"51910882",48812:"06d92948",48955:"50deb13d",49018:"51e124ef",49144:"e7ee00e4",49163:"09d7cf00",49876:"87330980",50252:"8c021c0b",50261:"4d86f47a",50383:"32e71a0b",50499:"763d490b",51006:"def59c98",51093:"f21d1814",51125:"379bb953",51166:"ad76e311",51212:"5129473e",51318:"bc1ad40e",51331:"6ae0980d",51454:"9cff642f",51458:"435eb0d5",51459:"95092552",51867:"2075a3b7",52292:"397b8d44",52375:"f28ad5a6",52634:"6b6e7ef6",52693:"9ac12935",52711:"50f79813",52741:"e70174e0",52848:"b8deca78",53685:"20560d2a",53721:"96702422",53883:"e4079da3",54077:"5edbfb54",54083:"8fc7006d",54207:"ae8126a2",54260:"a29e9cbd",54286:"5486154c",54752:"a7ab527f",55513:"347aa45a",55888:"1c055e62",55923:"f95f83ca",56110:"1413dc71",56142:"2af81a44",56251:"242f74b6",56561:"995bbe76",56661:"4dd53aa9",57167:"eb1906f1",57388:"b3929043",57515:"d04329b8",57865:"4ec58dec",57955:"8edc4108",58239:"51a8fd4a",58279:"97e97ec2",58371:"07df539f",58423:"17e1058b",58439:"9e5f88da",58873:"0202d154",58913:"0ad6999f",59594:"07f0e0c7",59654:"1587162d",59846:"99865d7f",60536:"eafa0827",60574:"113b7e5e",60743:"fe6e719d",60908:"93bcba1e",60967:"27f463af",61118:"34ccad42",61152:"abe57ef4",61270:"4a803e85",61362:"1753628b",61422:"37ac6cf4",61593:"c94c2ad4",61602:"2ea64d3e",61840:"dd356078",62138:"ad4bdf33",62625:"08e340e6",62676:"d485d6a2",62757:"3dbc61d5",62996:"387a5947",63166:"08b51e14",63405:"cb6cbb21",63498:"13579aec",63500:"63756c23",63574:"13a9166d",63900:"3ad6a737",64770:"9ec8a5d8",64823:"10d8e641",64955:"034c67b6",64978:"89f1e4e6",65024:"a102518c",65223:"30172ed7",65587:"0d73b3e0",65767:"3d3a31a9",65812:"2d4a3b45",66131:"c5f85e4e",66599:"e8a7202e",66613:"b8a34820",66660:"cc2f04da",66670:"0a2a20e2",66681:"ed9e25dd",67036:"d652204b",67098:"023549c1",67144:"bb053c7a",67187:"c8b97154",67448:"b03cc0db",67472:"437239d4",67568:"2682a278",67587:"d5c2efc2",67743:"facb6445",67778:"68f75290",67812:"9a4028bb",67819:"99553c3b",67843:"285a6617",67921:"0a4b93b2",67992:"57babe6c",68236:"1e2f4b29",68629:"1e72f9ff",68749:"88fac98f",68869:"5c13277f",68963:"f4e91663",69170:"119df65e",69192:"2289baad",69700:"0dee9c7b",70010:"5daf6f2c",70073:"a5c842a2",70160:"2979a8e1",70332:"f17ed084",70395:"4d5b4494",70652:"7c5d025a",71198:"ff8023df",71220:"e933661f",71222:"d78d5a2b",71237:"d85ac282",71266:"075d6df9",71328:"ef9b188f",71336:"37b3cc76",71338:"99478b49",71567:"152d993b",71737:"7f54d482",72094:"64a65bf0",72238:"00573214",72349:"5b413e31",72379:"025c568f",72530:"606d4612",72821:"25e3c984",72888:"af02c694",72947:"b9a8a55e",73034:"e4fbbe07",73080:"2c763c38",73114:"a8ff3d37",73356:"af4d567b",73482:"8c996570",73614:"81448106",74165:"fb069d7f",74672:"0b1243c1",74929:"c8fece50",74939:"31fcf2fb",74988:"d810b57e",75149:"e8a48dd4",75174:"7fd879fd",75292:"31c07a25",75563:"ad8d7e07",75659:"96b2db6c",75826:"55c6abe2",75924:"e7f7e837",76225:"b241b010",76297:"62948e26",76347:"a64dccf5",76537:"d58e9104",76693:"c9afa332",77299:"7a8916f3",77345:"8ed35abe",77609:"78d7aa90",77618:"cce6eed6",78051:"38211f29",78101:"ed5411ae",78236:"e99f2c65",78320:"196d0d3a",78547:"36534c0d",78684:"93070d2f",79048:"0de576bc",79619:"c5cb8208",79643:"f6cc9c44",79867:"790611a5",80081:"9d95e193",80430:"c77df066",80480:"68d7711a",80536:"70dec98a",80790:"d5fef93a",80824:"9527294f",81196:"97d464ad",81208:"8852b32d",81319:"5ed6fcef",81588:"def5cb9e",81598:"c883cd67",82237:"9818c8ff",82245:"163875cb",82316:"50eb55b1",82368:"ccaa48b2",82682:"6459f154",82694:"2dcc0b77",82729:"bd8ff0b9",83249:"e9b8ec61",83276:"d7d435dd",83540:"119f9dbb",83546:"83e9e892",83708:"90a471ae",84033:"cc346187",84036:"f0f95930",84319:"2968ee4a",84570:"755975a9",84572:"59b943e6",84604:"f5eb98c5",84682:"faa42f87",84741:"e52ba783",84813:"109e2a6b",85176:"fea23441",85329:"0e6ce6c9",85417:"09fd21f9",85538:"480a6a98",85575:"8d3370ca",85769:"d29f7530",85891:"3c02bda9",86207:"40de16ee",86417:"592d453f",86513:"f7de8dfe",86594:"623f54ca",86610:"443148d9",87057:"f6003611",87490:"bd4ab001",87815:"50edc124",87843:"f287e086",87869:"bcf95723",88142:"8ad201c7",88167:"94803b06",88290:"40623883",88369:"3b12b61e",88412:"558e253e",88447:"83c5954b",88517:"544af079",88570:"531ce3c8",88691:"5841ee26",88713:"df39e35a",88873:"ca7ca915",89139:"6c99e7a4",89267:"b9081ede",89302:"b31bc595",89340:"c933b18f",89940:"385be378",90072:"703a83fd",90172:"be183ee8",90416:"41be6ac6",90501:"64c16614",90697:"eb368e6d",90778:"50dc5da2",90988:"f5255914",91303:"6574a518",91425:"b3ed05b4",91585:"5f8581e9",92091:"3c7ac60b",92412:"4fa6809f",92526:"644fe250",92553:"c0ba3515",92698:"cd44fe36",93244:"96854502",93887:"c1d2043b",94e3:"a2652d2e",94261:"e5085325",94386:"16b8231f",94417:"655eba08",94663:"3f3fd8fd",94835:"3ae7479b",94958:"4435fe6d",95211:"1d78ac79",95561:"93069b71",95894:"f3f09ff6",96328:"cfa310ba",96390:"223ce0a8",96541:"16d9cede",96813:"f866f81a",96980:"b851d07f",97080:"3a362a85",97515:"dde18711",97686:"7847da0c",97817:"bceb1fda",98040:"f1459adc",98466:"546f49c3",98542:"a1c1dd5a",98581:"80fff279",98731:"28c3342b",99024:"923770c0",99195:"2288eead",99575:"6244c445",99726:"dfb5c143",99903:"a1de6690",99917:"a5745bfc"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,c)=>Object.prototype.hasOwnProperty.call(e,c),d={},b="@eightshift/docs:",r.l=(e,c,a,f)=>{if(d[e])d[e].push(c);else{var t,o;if(void 0!==a)for(var n=document.getElementsByTagName("script"),i=0;i<n.length;i++){var u=n[i];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==b+a){t=u;break}}t||(o=!0,(t=document.createElement("script")).charset="utf-8",t.timeout=120,r.nc&&t.setAttribute("nonce",r.nc),t.setAttribute("data-webpack",b+a),t.src=e),d[e]=[c];var l=(c,a)=>{t.onerror=t.onload=null,clearTimeout(s);var b=d[e];if(delete d[e],t.parentNode&&t.parentNode.removeChild(t),b&&b.forEach((e=>e(a))),c)return c(a)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"18401",23002826:"45611",42478870:"92091",45159772:"9423",46604707:"9559",56802612:"75563",64793643:"86513",72822034:"37261",79818576:"74988",88748759:"47103","9eec1b69":"79","5d34a3e0":"102",d0c63040:"125","7b3a75e2":"505",a9ff9f98:"647",be197d78:"726",e9beab12:"746","7cf19012":"1032",ee924e36:"1070","3b5edcc4":"2008",a374712b:"2022",f34f869b:"2107","96c3e083":"2384","6cbda4b6":"2603",bce2f7e5:"2872",f26f0cdb:"2998","37f27a13":"3089","7dd4c8bc":"3430",c38fd7bd:"3518","25539fcb":"4034","9e4e2e8b":"4041",a372a63b:"4122","590322ab":"4203","39c8d3f8":"4215",ae8e07b1:"4264",c15d2dfd:"4292","32030e6f":"4866",aa47c437:"4997",e93eaee1:"5017","5215d6a1":"5276",ba4d70ca:"5377",fd6d4018:"5440","39035dcb":"5620","98c40af1":"5843","49403d8c":"5996",fd21cc65:"6551","7c7e3f2e":"6777","22e7b626":"6831",ce0a947c:"7243","9cd35a7e":"7346","4e946086":"7429","87f23a60":"7530","5c125432":"7878","9e3bbdc0":"8025",d845213b:"8150","01a85c17":"8209",efbb6268:"8264","21c119bb":"8450","07fb059b":"8760",b9355076:"8824","795f4ac3":"9085","1385dc12":"9264","5e95c892":"9647",f218f265:"9687","39447efc":"10042","92621e92":"10053",f1a7576f:"10120","536309bb":"10175","86405c0e":"10176",c2a527e7:"10287","8962d52c":"10454","3e53f2d3":"10504",b7f27d80:"10527","5422c2e3":"10559",dbd7356d:"10572","9d107aac":"10587","9f7aca5a":"10780","4eaf1272":"10901","600a6af1":"10940","5b027e06":"11030","35847f85":"11097","9a04d7c3":"11188","752c6bfa":"11257","89df0009":"11405","7ddf2558":"11644",a45434fa:"11953",b2b675dd:"11991",d5f39101:"12084",afb6799c:"12086","2554564d":"12090","0cde639a":"12098",ea645227:"12279","1698e1d1":"12946",adaf2bab:"12976","6b94b48b":"13100","26b1dccf":"13180","388ae04f":"13198","714feb36":"13259","7ab92eb4":"13577",c709f244:"13991","259bd0c5":"14097","8c05f4d5":"14346","183053be":"14530","67da9612":"14731","10c1e86a":"15052",b8b9d8e8:"15553","801f3f5d":"15782","54305ae0":"15792","9ec15741":"15808",d817bad3:"16323","60d85392":"16536","385e6aa6":"16546","27c45671":"16586","103a101a":"17589","541d824c":"17606",ee85e3b6:"17668","31e124ed":"17776",c55525a9:"17996",ce7d450a:"18122","8df1c5c9":"18128","8d5ae15a":"18465","53a1ff94":"18602",ca69ab29:"18766",b78e77f8:"19383",b3b90a5e:"19386",fdc13b44:"19646","6042c76a":"19730","5e3b00c5":"19766","5ba3e239":"19811",fea00b33:"20031",fda35176:"20140","790fff8f":"20263","23da3c05":"20272","9ca2f55b":"20592","73496ed9":"20802",a0d23381:"20845","2c4528c6":"21082","02b9869f":"21325","44ef7d31":"21759","5fbdd67a":"22118",d0ecf97a:"22292",cf4609e7:"22383",dc5b4777:"22864",e7328bb1:"23101","31d6ca5c":"23737",e8a4c7be:"23738","794bc8f2":"23856","147ca104":"25092","9f25cf08":"25110","8b535be0":"25123","3fd111c7":"25173",ed133f89:"25186","52c25d1c":"25558",e90b4b34:"25632","09d8acdc":"25633","0c7b26d1":"25642","2a89e141":"25786","5eed5ded":"25994","0058bf23":"26285","7089c5e9":"26289","2d764dca":"26294","29014e21":"26315","963c8ac0":"26532","9d954fea":"26546",af9ac9e0:"26659","6eb5397d":"26950",f162eb70:"26984","619eeade":"27045",b8b55b85:"27062",f4a6cc60:"27508",e4399142:"27688","7cbc5997":"27722",f6aef24f:"27879","30e34e97":"27991","7df6cfaa":"28131",ed3575d5:"28233",cd0300a2:"28320","35d3178b":"28638","0655bd76":"28658",e0d892c2:"28766","35144e55":"28767","2067e39b":"28801","9ac95129":"28860","5bf26d11":"28870","07af796b":"29005","0fe8a02a":"29366","2345a3b7":"29450","163b78fe":"29487",dc28c8db:"29629","120f8e9c":"29673","9f6545b7":"29701","230a0014":"29744","89c5f7f6":"30003","1a6a2ec3":"30083","7b2162ed":"30644","81faadf7":"30739","97cb0cff":"31199",eaffcef6:"31357",ddb69969:"31438","50c94cd7":"31532",e71b04e6:"31535",ef02483f:"31671",e12d4719:"32046",b101fbec:"32129",e00f1d66:"32173","0e617e7a":"32277","6b8dfc08":"32282","805db72d":"32851",b64e38ac:"32967","40bcb702":"33049","7a9c7a9a":"33373","035d9dc3":"33418","6a5d09b2":"33662","2716246c":"33688",c72fb457:"33839","67644baa":"33856",e8854f45:"34054","3aebe9a9":"34070","3b7ac723":"35151",daf8bbf9:"35175",a2947dce:"35176","5be441ac":"35512","962afcd6":"35818","092d0294":"35821","4e418365":"35999","9a46388f":"36164",bca46e3f:"36173","3f56b28d":"36321",f5d62c05:"36334","64042be6":"36372","3cc3f22b":"36471","5ed3387d":"36802",aebfde4b:"37074",a6aa9e1f:"37643","2b4fbe73":"37712",e110487c:"37752",ffc0ac08:"37798",adb54813:"37991","286194e8":"38018","0bea9cd5":"38118",b4f7c3fb:"38194","369bf9e9":"38696","36d70216":"38812","5bd755c4":"38950","2747918f":"38993","4619ca6c":"39122","80d5addc":"39130",d2dc1d28:"39535","769f10a0":"39645","281e3fe0":"39891","8383ea83":"39914","13b613cc":"40069","390b04b5":"40282","76f2b92e":"40344","4b8950e9":"41009",bf7018cf:"41506","8ae4ee15":"41665",c3122f65:"41835","5fc994c2":"41874","8364cffd":"42099","518baa20":"42275","548faf69":"42332","6f52e085":"42468","62f60b5b":"42520","3d99f89d":"42529","59c340d8":"42603","4f057d99":"42695","80796e9f":"42849","72aadbbe":"43099","749660c3":"43183",e4932c64:"43635",b3760b7c:"43761","1a8da153":"44019","1aa24188":"44029","435e79fb":"44034","9d255f37":"44152",d136d263:"44370",e6326b0c:"44390","39b05d13":"44546",f7b99134:"44574","8df52c09":"44876","048a2137":"45307","10db50b8":"45451",a737efbc:"45473","325ddbed":"45474","9cd71f2c":"45488","46ddaac3":"45597","54b7d866":"45985","9f724635":"46115",fae9d50a:"46150","9962ee1e":"46353",d7756765:"46578",acacc2b4:"47010","45a57db1":"47934",afdc90ee:"48420","18ea4958":"48472","7c97d78d":"48506",de657462:"48608","8f5a650f":"48750","31b83fd6":"48812",d14f8ee5:"48955","1d1d00c8":"49018","51f93b96":"49144",ce19f7d3:"49163","6b93e189":"49876","85d49e2b":"50252",dd059938:"50261","25b43794":"50383","3481c063":"50499","938b8490":"51006",fbe6399d:"51093","0f1457e8":"51125","44c6aa62":"51166","7ee32c60":"51212","9bd54e26":"51318",e37577e1:"51331",c87de583:"51454","5f22e924":"51458","7d1194b2":"51459","998cd6c6":"51867","8d063d8d":"52292",ccea3a4d:"52375",c4f5d8e4:"52634",a45b31ec:"52693","9e4087bc":"52711","4aad33a5":"52741","41bc8270":"52848","0f187495":"53685",da81302a:"53721",e18eec83:"53883",d1a0cea3:"54077","1f5f1faf":"54083","4f8601bc":"54207",f8bbda75:"54260","96795ae1":"54286",c62d4947:"54752","3ed2c247":"55513",f17f4e68:"55888",db98aa0c:"55923","79cbe809":"56110",f880b41b:"56142",b6915d5f:"56251","186bf65f":"56561",bc8a7ae5:"56661","83ce5e05":"57167",e4af6a2d:"57388",be937143:"57515",e8903528:"57865","7fa80a78":"57955","812444b5":"58239",ae06c6f1:"58279",a43c0a1c:"58371","029c29d9":"58423","641a79fb":"58439","3634820b":"58873","81d5dffa":"59594","889c25c7":"59654",ae5745cc:"59846",ed480930:"60536","8e0a64cf":"60574",c80bf43d:"60743","40adba6a":"60908","679e6283":"60967","8cdd3050":"61118","066ec25f":"61152","0a9768df":"61270","64e3919b":"61362","318b66a0":"61422",c78f4965:"61593",ab8fc1e5:"61602","2e99cb0e":"61840","1a4e3797":"62138","6156002b":"62625","06946b11":"62676","13c21afe":"62757","8e2e6ad6":"62996",f0ebaa7e:"63166","5add9946":"63405","6299beff":"63498",a12ac645:"63500",a2d3b782:"63574",f0f0c9e0:"63900","1eef4415":"64770","47a776f2":"64823",f8d85197:"64955",d28f320b:"64978",d88895d1:"65024","110cdc73":"65223","1b63fe07":"65587","8eb4e46b":"65767","326267d5":"65812","2176bd9e":"66131","08cebe36":"66599",bb98611a:"66613",f92290a0:"66660",fbe7d2e8:"66670","2297cc0d":"66681",a97e7f15:"67036",a7bd4aaa:"67098","0cf6d2ee":"67144","74bedbb6":"67187","85434a08":"67448","814f3328":"67472","4f6e5aff":"67568","7c673fac":"67587",ee4eba04:"67743","30241ed8":"67778",fce92293:"67812","44b117b5":"67819","85c52577":"67843",d0301901:"67921","20e43c84":"67992","22cdf000":"68236",add2b463:"68629",af09cb5f:"68749","07b5dca2":"68869","0ce4c86c":"68963","0cbbedcd":"69170","66151e3f":"69192","9bd02e6c":"69700","62284ec3":"70010",dbfa0beb:"70073",a112d798:"70160",beb2a160:"70332","8eb5a1d8":"70395",e801e723:"70652",b9979bed:"71198","24b57605":"71220","952356a8":"71222","7d66ff10":"71237",e2bba919:"71266","0205c089":"71328",e3792bbb:"71336",bacc15ea:"71338","29c85621":"71567","44f6c623":"71737","4ec5858e":"72094","90c2c848":"72238","13362ea9":"72349",ecf43748:"72379",f7aec19e:"72530",f00dda52:"72821","715a66b3":"72888",bcdc9a5c:"72947","795feea1":"73034","1c82c718":"73080",a2dbf4e7:"73114",d3930d00:"73356","2f2ad190":"73482","4ece2ef5":"73614","8ddd1f69":"74165","4dad0b95":"74672",d6a42b72:"74929","3124e7fd":"74939",c7fa2f29:"75149","426b1138":"75174",ec5d0804:"75292",f407a811:"75659","68c90bbc":"75826","0d27e988":"75924","19a6ffde":"76225","6b207c51":"76297",c9c3a302:"76347","37703fea":"76537","6e870323":"76693","56f8d3dd":"77299",b31b2138:"77345","0242a13a":"77609","499ba0c7":"77618","2a615d1d":"78051","6f0e603d":"78101","14d8029e":"78236","837a3e8d":"78320",dea8b3ed:"78547","39d8d90f":"78684",a94703ab:"79048","2c773ba3":"79619",c344252c:"79643","6afb304f":"79867",d9cc83f8:"80081","5025c75d":"80430","2e9194de":"80480",da20989d:"80536","0dcc1e01":"80790",bff0bad2:"80824","43ab2c5c":"81196","1ab6957b":"81208",ad6305cb:"81319","0c06981f":"81588",aee4c48a:"81598",b6d824a3:"82245",d5c4c4ae:"82316",ff445556:"82368","7c785ce9":"82682","901c0002":"82694",c6cd348e:"82729",ccc49370:"83249","63b7ed35":"83276",b8283c8e:"83540",ee1ed8c4:"83546",c361232e:"83708","39e353ee":"84033",b6358757:"84036","94335e76":"84319","83ee1d6a":"84570","3a244aec":"84572","43d76b0c":"84604","8ddbe34c":"84682","6203860c":"84741","6875c492":"84813",dc46868d:"85176","4293ef56":"85329","43adcc08":"85417",a3a64d88:"85538","92a392ff":"85575","5b767225":"85769",e0b2cb26:"85891",f92772a6:"86207","759f3f6b":"86417","43ac2fb4":"86594",af8ed05f:"86610","5d41d0b6":"87057","8b62c48f":"87490","341e5e63":"87815",c661d3f1:"87843","62a6c31f":"87869",cec206a7:"88142","9dc56d2c":"88167","56b8c1aa":"88290","41aa949a":"88369",fd4ea388:"88412","640b2864":"88447","779187a6":"88517","9cc47562":"88570","7d063b53":"88691","1622041d":"88713",b22c1dac:"88873",fbd7f063:"89139",a7023ddc:"89267",a6e1df93:"89302","883d241c":"89340",db6287e5:"89940",d0e59ab5:"90072",f0b5617d:"90172","533d3ffb":"90501","6bcded04":"90697","9ee0eb8a":"90778","2bd83684":"90988","014fa81c":"91303","42d5a18c":"91425","01980361":"91585","7fbb6eb5":"92412","7cca0223":"92526","23464d23":"92553",bb95e167:"92698",e79e64be:"93244",b3636d59:"93887","0810f675":"94000",cf91d205:"94261",ebfee794:"94386",ce4b3df7:"94417",b11b48f8:"94663",cb3c2681:"94835","5cda8f59":"94958","73699c74":"95211",bc5075fb:"95561",b2f554cd:"95894",cfae12a4:"96328",c9815f8a:"96390",c9f06a2a:"96541","5024c8a9":"96813",cb7a22d0:"96980","4cfcdd67":"97080",a5dd7d10:"97515",c38062b9:"97686",cd521b29:"97817","80d0bffa":"98040",d0b1075b:"98466",e1f747d9:"98542","935f2afb":"98581","430a0c78":"98731","90151e6b":"99024",b4c9bdc9:"99195","688ea354":"99575",a56ad6f0:"99726","9e8339c4":"99903","0aeeb10b":"99917"}[e]||e,r.p+r.u(e)},(()=>{var e={45354:0,71869:0};r.f.j=(c,a)=>{var d=r.o(e,c)?e[c]:void 0;if(0!==d)if(d)a.push(d[2]);else if(/^(45354|71869)$/.test(c))e[c]=0;else{var b=new Promise(((a,b)=>d=e[c]=[a,b]));a.push(d[2]=b);var f=r.p+r.u(c),t=new Error;r.l(f,(a=>{if(r.o(e,c)&&(0!==(d=e[c])&&(e[c]=void 0),d)){var b=a&&("load"===a.type?"missing":a.type),f=a&&a.target&&a.target.src;t.message="Loading chunk "+c+" failed.\n("+b+": "+f+")",t.name="ChunkLoadError",t.type=b,t.request=f,d[1](t)}}),"chunk-"+c,c)}},r.O.j=c=>0===e[c];var c=(c,a)=>{var d,b,f=a[0],t=a[1],o=a[2],n=0;if(f.some((c=>0!==e[c]))){for(d in t)r.o(t,d)&&(r.m[d]=t[d]);if(o)var i=o(r)}for(c&&c(a);n<f.length;n++)b=f[n],r.o(e,b)&&e[b]&&e[b][0](),e[b]=0;return r.O(i)},a=self.webpackChunk_eightshift_docs=self.webpackChunk_eightshift_docs||[];a.forEach(c.bind(null,0)),a.push=c.bind(null,a.push.bind(a))})()})(); \ No newline at end of file diff --git a/blog/acf-in-a-project/index.html b/blog/acf-in-a-project/index.html index 7f4002858..902b74a9b 100644 --- a/blog/acf-in-a-project/index.html +++ b/blog/acf-in-a-project/index.html @@ -2,8 +2,8 @@ <html lang="en" dir="ltr" class="blog-wrapper blog-post-page plugin-blog plugin-id-default" data-has-hydrated="false"> <head> <meta charset="UTF-8"> -<meta name="generator" content="Docusaurus v3.1.1"> -<title data-rh="true">How to use ACF in your project | Eightshift Development kit + +How to use ACF in your project | Eightshift Development kit @@ -15,12 +15,12 @@ - - - + + + -
Skip to main content

How to use ACF in your project

· 6 min read
Igor Obradović

If you've worked with WordPress for a long time, you've heard of the Advanced Custom Fields plugin (ACF for short). While the use of blocks has simplified content editing, thus making meta fields less of a necessity, there are still cases in which meta fields are very useful.

+

How to use ACF in your project

· 6 min read
Igor Obradović
WordPress Engineer

If you've worked with WordPress for a long time, you've heard of the Advanced Custom Fields plugin (ACF for short). While the use of blocks has simplified content editing, thus making meta fields less of a necessity, there are still cases in which meta fields are very useful.

Ways of registering ACF fields

There are multiple approaches to ACF field registration. The easiest way to register fields is using the WP admin interface, but this approach has a few drawbacks. If you have many fields, this can impact performance because you are registering fields dynamically (information about registered fields is stored in the database). Another drawback is if you have multiple environments (e.g. local, staging, production), you'll have to export the fields and import them to other environments.

Other ways of registering ACF fields are either via PHP (code) or by reading from a JSON file. We prefer to use PHP because you can use OPcache to speed up field registration even more. If you are using Git, this approach is even better because you can commit the PHP code used for registering fields for easier portability across different environments. For that reason, Eightshift Development kit already has some goodies which will make field registration a breeze.

@@ -63,6 +63,6 @@

  • add a method getThemeOption which only accepts one argument, the field name, and the second argument is hardcoded
  • use early returns in your methods
  • -
    if (!function_exists('get_field')) {
    return '';
    }

    +
    if (!function_exists('get_field')) {
    return '';
    }
    \ No newline at end of file diff --git a/blog/adding-blocks-wpcli/index.html b/blog/adding-blocks-wpcli/index.html index d5e4613c4..4c84aff89 100644 --- a/blog/adding-blocks-wpcli/index.html +++ b/blog/adding-blocks-wpcli/index.html @@ -2,8 +2,8 @@ - -Adding components and blocks with WP-CLI | Eightshift Development kit + +Adding components and blocks with WP-CLI | Eightshift Development kit @@ -15,12 +15,12 @@ - - - + + + -
    Skip to main content

    Adding components and blocks with WP-CLI

    · 3 min read
    Igor Obradović

    Although there are a few basic blocks available after creating a project, there are a lot more blocks available in the dev kit. However, you have to add them to your project using WP-CLI (the simplest method). To see the complete list of available components and blocks, visit our Storybook.

    +

    Adding components and blocks with WP-CLI

    · 3 min read
    Igor Obradović
    WordPress Engineer

    Although there are a few basic blocks available after creating a project, there are a lot more blocks available in the dev kit. However, you have to add them to your project using WP-CLI (the simplest method). To see the complete list of available components and blocks, visit our Storybook.

    These can be used out-of-the-box, but also as a good starting point if you need similar blocks in your projects. It will also speed up your development time since you don't have to build everything from scratch.

    Last update

    August 23, 2022

    Storybook

    @@ -45,6 +45,6 @@

    Further read
  • Architecture concepts
  • Block Structure
  • Component Structure
  • -

    +
    \ No newline at end of file diff --git a/blog/adding-fonts/index.html b/blog/adding-fonts/index.html index 008f62280..484a2e53a 100644 --- a/blog/adding-fonts/index.html +++ b/blog/adding-fonts/index.html @@ -2,8 +2,8 @@ - -Adding fonts | Eightshift Development kit + +Adding fonts | Eightshift Development kit @@ -15,12 +15,12 @@ - - - + + + -
    Skip to main content

    Adding fonts

    · 7 min read
    Igor Obradović

    Every project is unique. Logo, colors, fonts, etc. are what define the visual identity of your website. In this post, we'll cover adding fonts to a project.

    +

    Adding fonts

    · 7 min read
    Igor Obradović
    WordPress Engineer

    Every project is unique. Logo, colors, fonts, etc. are what define the visual identity of your website. In this post, we'll cover adding fonts to a project.

    Importing fonts into your project

    Our documentation covers the necessary steps to add a font to your project, but here we'll cover the process in a bit more detail. To start, we need a font (or two). For this example, I'll use Source Sans Pro and Noto Serif which I've downloaded from Google Fonts. They are in the .ttf format (you may find some which are .otf, which will work in the same way), so you need to convert them to .woff and .woff2. Whatever approach you use is okay - we recommend the following tools:

      @@ -68,6 +68,6 @@

      Adding

      After adding this single line of CSS code, your new option for selecting fonts will now be fully functional.

      Closing thoughts

      Adding fonts to a project is something you will usually only do when setting up a new project and then forget about it. As you could see in this blog post, this isn't a complicated process, but it has a specific set of steps that have to be taken in order for custom fonts to work in your project.

      -

      Of course, there are other ways to include fonts in your project, but the described process is what we recommend and use. This is the (Eightshift) Way.

    +

    Of course, there are other ways to include fonts in your project, but the described process is what we recommend and use. This is the (Eightshift) Way.

    \ No newline at end of file diff --git a/blog/archive/index.html b/blog/archive/index.html index 5f5969e95..6157907d5 100644 --- a/blog/archive/index.html +++ b/blog/archive/index.html @@ -2,7 +2,7 @@ - + Archive | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + - + \ No newline at end of file diff --git a/blog/block-patterns/index.html b/blog/block-patterns/index.html index ba513c93d..91b517d1d 100644 --- a/blog/block-patterns/index.html +++ b/blog/block-patterns/index.html @@ -2,8 +2,8 @@ - -Block Patterns | Eightshift Development kit + +Block Patterns | Eightshift Development kit @@ -15,12 +15,12 @@ - - - + + + -
    Skip to main content

    Block Patterns

    · 4 min read
    Igor Obradović

    Although Block Patterns may be similar to Block Variations, there are some differences between the two. This blog post will cover what Block Patterns are and how to use them.

    +

    Block Patterns

    · 4 min read
    Igor Obradović
    WordPress Engineer

    Although Block Patterns may be similar to Block Variations, there are some differences between the two. This blog post will cover what Block Patterns are and how to use them.

    What are Block Patterns and why use them?

    Block Patterns are predefined block layouts which allow you to add content faster and make it look more consistent. The basic idea is to have a ready-made template which consists of multiple blocks, that have options predefined, and all you have to do is add content to these blocks.

    They can be used in multiple ways. You can create sections composed of few blocks which you can then easily insert anywhere on the site. You can also create complex page layouts which could be used for writing blog posts, for example.

    @@ -57,6 +57,6 @@

    In editor, in the Pattern tab, you should now see your new pattern category and the Intro Pattern.

    New pattern category and block pattern

    Things to keep in mind

    -

    Block patterns add layout and content which you can then modify at will per instance. These instances are not synchronised with the codebase so it becomes an issue if you've already used a pattern on multiple places on the site and then notice you've missed something in the pattern configuration phase. Fixing the pattern in the codebase will apply the changes on all newly added instances, but you will have to fix the misconfigured instances manually.

    +

    Block patterns add layout and content which you can then modify at will per instance. These instances are not synchronised with the codebase so it becomes an issue if you've already used a pattern on multiple places on the site and then notice you've missed something in the pattern configuration phase. Fixing the pattern in the codebase will apply the changes on all newly added instances, but you will have to fix the misconfigured instances manually.

    \ No newline at end of file diff --git a/blog/block-variations/index.html b/blog/block-variations/index.html index 1875b4063..d3fcbde5b 100644 --- a/blog/block-variations/index.html +++ b/blog/block-variations/index.html @@ -2,8 +2,8 @@ - -Block Variations | Eightshift Development kit + +Block Variations | Eightshift Development kit @@ -15,12 +15,12 @@ - - - + + + -
    Skip to main content

    Block Variations

    · 4 min read
    Igor Obradović

    Let's picture the following scenario: You just created a block with many options and now you want multiple versions of that block available with pre-set options. That's where variations come in handy!

    +

    Block Variations

    · 4 min read
    Igor Obradović
    WordPress Engineer

    Let's picture the following scenario: You just created a block with many options and now you want multiple versions of that block available with pre-set options. That's where variations come in handy!

    What are variations?

    Block variations allow us to override default block attributes. We can select a variation from the block list with all preset options instead of manually setting them.

    Note

    You cannot add new attributes in variations. Only attributes that exist in the parent block can be used.

    @@ -50,6 +50,6 @@

    P

    We will also add some placeholder images so you can immediately test the Carousel block variation. Here is the code you can add to the manifest.json file for that variation.

    {
    "$schema": "https://raw.githubusercontent.com/infinum/eightshift-frontend-libs/develop/schemas/variation.json",
    "parentName": "carousel",
    "name": "carousel-loop",
    "title": "Carousel Loop",
    "description" : "Carousel block variation with loop and pagination enabled, along with multiple image blocks with placeholders. Displays two images per slide.",
    "icon": {
    "src": "es-card"
    },
    "attributes": {
    "carouselIsLoop": true,
    "carouselShowPagination": true,
    "carouselShowItems": 2
    },
    "innerBlocks": [
    {
    "name": "eightshift-boilerplate/image",
    "attributes": {
    "imageImageFull":true,
    "imageImageUrl": "https://loremflickr.com/400/400"
    }
    },
    {
    "name": "eightshift-boilerplate/image",
    "attributes": {
    "imageImageFull":true,
    "imageImageUrl": "https://loremflickr.com/400/400"
    }
    },
    {
    "name": "eightshift-boilerplate/image",
    "attributes": {
    "imageImageFull":true,
    "imageImageUrl": "https://loremflickr.com/400/400"
    }
    },
    {
    "name": "eightshift-boilerplate/image",
    "attributes": {
    "imageImageFull":true,
    "imageImageUrl": "https://loremflickr.com/400/400"
    }
    }
    ],
    "scope": [
    "inserter"
    ]
    }

    After adding this code, you should see the Carousel Loop variation in your block list. After adding it in the editor, the Carousel attributes will be already set to the ones you provided, as well as two images that are added as inner blocks.

    -

    Block list with variations

    +

    Block list with variations

    \ No newline at end of file diff --git a/blog/components-and-blocks/index.html b/blog/components-and-blocks/index.html index 418fa09f9..9f85266d3 100644 --- a/blog/components-and-blocks/index.html +++ b/blog/components-and-blocks/index.html @@ -2,8 +2,8 @@ - -Components and blocks | Eightshift Development kit + +Components and blocks | Eightshift Development kit @@ -15,12 +15,12 @@ - - - + + + -
    Skip to main content

    Components and blocks

    · 4 min read
    Igor Obradović

    In this blog post, we'll give you a practical explanation about the difference between components and blocks. For a truly in-depth explanation about components and blocks, you can refer to our documentation. A more specific explanation about using components in a block can be found in the Component in a Block section.

    +

    Components and blocks

    · 4 min read
    Igor Obradović
    WordPress Engineer

    In this blog post, we'll give you a practical explanation about the difference between components and blocks. For a truly in-depth explanation about components and blocks, you can refer to our documentation. A more specific explanation about using components in a block can be found in the Component in a Block section.

    One of the things that is really confusing to newcomers is the difference between components and blocks. Let's break it all down.

    Component

    A component is like a blank slate, a template without context.

    @@ -58,6 +58,6 @@

    BlockTo do that, we'll add a new attribute called featuredPosts which will define which posts will be displayed in our block. For each selected post, another card-simple component is added, and featured image and post title are dynamically added to its image and heading components. More about the query logic and adding new options in a block will be covered in a future post.

    You may be wondering, can you have a block that allows you to use all options of the card-simple component? Of course! You can create a block that allows you to set all available options in the editor and manually add content to the image and heading. There are also block variations, which allow you to set up predefined attributes for a block. More about setting up block variations may be covered in one of the future posts.

    Conclusion

    -

    Hopefully, these examples helped you get a better understanding of the difference between components and blocks. It may take a bit more time or practical use to understand the difference and reasoning behind it. Our next post will walk you through downloading one of our components and blocks with WP CLI and modifying it.

    +

    Hopefully, these examples helped you get a better understanding of the difference between components and blocks. It may take a bit more time or practical use to understand the difference and reasoning behind it. Our next post will walk you through downloading one of our components and blocks with WP CLI and modifying it.

    \ No newline at end of file diff --git a/blog/index.html b/blog/index.html index 0275fd2b6..545c06efe 100644 --- a/blog/index.html +++ b/blog/index.html @@ -2,7 +2,7 @@ - + Tutorials and articles about Eightshift development kit | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + -
    Skip to main content

    Typing as we code

    · 5 min read
    Igor Obradović

    WordPress offers two default ways to group content by content type - using posts or pages. Posts and pages are registered as default post types in the WordPress app. But sometimes, that is not enough. That's where custom post types (CPT) and custom taxonomies come in. This blog post will cover the basics of registering CPTs and taxonomies using Eightshift Dev Kit.

    Find more libraries, tools, and design assets free for everyone to use.

    Open-source freebies
    +
    Skip to main content

    Typing as we code

    Using Custom Post Types and Taxonomies

    · 5 min read
    Igor Obradović
    WordPress Engineer

    WordPress offers two default ways to group content by content type - using posts or pages. Posts and pages are registered as default post types in the WordPress app. But sometimes, that is not enough. That's where custom post types (CPT) and custom taxonomies come in. This blog post will cover the basics of registering CPTs and taxonomies using Eightshift Dev Kit.

    Find more libraries, tools, and design assets free for everyone to use.

    Open-source freebies
    \ No newline at end of file diff --git a/blog/initial-setup/index.html b/blog/initial-setup/index.html index fff8f51b0..f4bb226c9 100644 --- a/blog/initial-setup/index.html +++ b/blog/initial-setup/index.html @@ -2,8 +2,8 @@ - -Initial setup and first steps | Eightshift Development kit + +Initial setup and first steps | Eightshift Development kit @@ -15,12 +15,12 @@ - - - + + + -
    Skip to main content

    Initial setup and first steps

    · 3 min read
    Igor Obradović

    As is often the case when trying out something new, you might encounter some hiccups. You're trying out our Eightshift Boilerplate, but can't get it to work? Worry not, we'll go through the setup and the most common issues that may occur.

    +

    Initial setup and first steps

    · 3 min read
    Igor Obradović
    WordPress Engineer

    As is often the case when trying out something new, you might encounter some hiccups. You're trying out our Eightshift Boilerplate, but can't get it to work? Worry not, we'll go through the setup and the most common issues that may occur.

    Last update

    August 23, 2022

    If you haven't already, be sure to read our official Eightshift Docs.

    Setup

    @@ -54,6 +54,6 @@

    What
  • adding custom queries which we'll use in one of our blocks
  • and many more...
  • -

    So stay tuned.

    +

    So stay tuned.

    \ No newline at end of file diff --git a/blog/making-your-project-multilingual/index.html b/blog/making-your-project-multilingual/index.html index 62a7df346..d4eeeca00 100644 --- a/blog/making-your-project-multilingual/index.html +++ b/blog/making-your-project-multilingual/index.html @@ -2,8 +2,8 @@ - -Making your project multilingual | Eightshift Development kit + +Making your project multilingual | Eightshift Development kit @@ -15,12 +15,12 @@ - - - + + + -
    Skip to main content

    Making your project multilingual

    · 6 min read
    Igor Obradović

    Tools like Google Translate can automatically translate websites with reasonable quality. However, users will have a much better experience if you add support for multiple languages in your project and manage the translations yourself.

    +

    Making your project multilingual

    · 6 min read
    Igor Obradović
    WordPress Engineer

    Tools like Google Translate can automatically translate websites with reasonable quality. However, users will have a much better experience if you add support for multiple languages in your project and manage the translations yourself.

    Making strings translatable in PHP

    A good practice is to use one of the I18n (internationalization) functions for your hardcoded strings, even if your website starts with a single language. This way, you can add multilingual support more easily later.

    If you've worked on a multilanguage-capable project, you most likely came across __() and _e() functions. The main difference between the __() and _e() is that __() returns the value, while _e() echoes it. Both functions take two arguments: the first one is the string to be translated, and the second one is the textdomain that identifies the translation file.

    @@ -98,6 +98,6 @@

    Additio
  • WordPress Codex - I18n for WordPress Developers
  • Eightshift Development kit documentation - Tips & Tricks
  • Infinum WordPress Handbook - Localization
  • -

    +
    \ No newline at end of file diff --git a/blog/modifying-blocks-color-theme/index.html b/blog/modifying-blocks-color-theme/index.html index cd0d466c9..6b3c9b778 100644 --- a/blog/modifying-blocks-color-theme/index.html +++ b/blog/modifying-blocks-color-theme/index.html @@ -2,8 +2,8 @@ - -Modifying blocks - Color Theme | Eightshift Development kit + +Modifying blocks - Color Theme | Eightshift Development kit @@ -15,12 +15,12 @@ - - - + + + -
    Skip to main content

    Modifying blocks - Color Theme

    · 9 min read
    Igor Obradović

    In our previous post, we covered how to use Storybook and WP-CLI to add additional blocks to your project. This post will walk you through modifying an existing block step-by-step.

    +

    Modifying blocks - Color Theme

    · 9 min read
    Igor Obradović
    WordPress Engineer

    In our previous post, we covered how to use Storybook and WP-CLI to add additional blocks to your project. This post will walk you through modifying an existing block step-by-step.

    Since Eightshift Development kit is a starter theme, made for developers to jumpstart and speed up their development, you're welcome to modify files in it directly. There is no need to create a child theme to protect changes from updates.

    Modifying a block or a component?

    Because we used the Quote block in our previous post, we will continue using it as an example as it's a fairly simple one. One of the first questions you may ask yourself could be: "Should I modify a component or a block?". And the answer is - it depends.

    @@ -91,6 +91,6 @@

    Closing thoughts

    In this post, we've covered the whole process of adding a new attribute. It involves a lot of steps and things to keep in mind, but once you get used to it, you'll be able to add quite powerful features to your blocks.

    One more important thing to keep in mind is the expandability of your attributes. When adding new attributes, don't think just about what you need now, keep in mind that you may need to expand it later.

    -

    The way we built Color Theme functionality makes adding additional color themes a breeze and can be done in a matter of minutes. For "homework", try adding two more color themes of your choice. Good luck!

    +

    The way we built Color Theme functionality makes adding additional color themes a breeze and can be done in a matter of minutes. For "homework", try adding two more color themes of your choice. Good luck!

    \ No newline at end of file diff --git a/blog/multiple-same-components/index.html b/blog/multiple-same-components/index.html index 16bd75bc2..dadcdfcc5 100644 --- a/blog/multiple-same-components/index.html +++ b/blog/multiple-same-components/index.html @@ -2,8 +2,8 @@ - -Using multiple same components | Eightshift Development kit + +Using multiple same components | Eightshift Development kit @@ -15,12 +15,12 @@ - - - + + + -
    Skip to main content

    Using multiple same components

    · 7 min read
    Igor Obradović

    From time to time, you may need to create a block or a more complex component that uses more than one instance of the same component. In this blog post, we'll explain how this works in a bit more detail.

    +

    Using multiple same components

    · 7 min read
    Igor Obradović
    WordPress Engineer

    From time to time, you may need to create a block or a more complex component that uses more than one instance of the same component. In this blog post, we'll explain how this works in a bit more detail.

    An example of this use case is the Card component, which uses two heading components. You may get the general idea by just going through the code and trying to reverse-engineer it, but this example will give you a much better understanding of how it works and how to use it. First, let's cover some basics.

    Manifest and attributes

    The way multiple same components work is by having a different key. Here is an example of the Card component:

    @@ -65,6 +65,6 @@

    A ste

    If you’re ever in doubt of what is the exact attribute name, you can always var_dump the props helper for that component and you will see the full attribute names as the keys.

    Array
    (
    [prefix] => comparisonSecondaryLists
    // ...
    [comparisonSecondaryListsOrdered] => ul
    [comparisonSecondaryListsSize] => body:regular
    [comparisonSecondaryListsColor] => milano-red
    [comparisonSecondaryListsColorOnlyMarker] =>
    [comparisonSecondaryListsUse] => 1
    // ...
    )

    Conclusion

    -

    Although this was a simple example, we covered the most important things to have in mind when using multiple same components in a block. For additional practice, you can add some more attributes or go through some of our pre-made blocks which use multiple same components. Some components/blocks you can look into are Card and Quote.

    +

    Although this was a simple example, we covered the most important things to have in mind when using multiple same components in a block. For additional practice, you can add some more attributes or go through some of our pre-made blocks which use multiple same components. Some components/blocks you can look into are Card and Quote.

    \ No newline at end of file diff --git a/blog/page/2/index.html b/blog/page/2/index.html index ca8f4128f..475372705 100644 --- a/blog/page/2/index.html +++ b/blog/page/2/index.html @@ -2,7 +2,7 @@ - + Tutorials and articles about Eightshift development kit | Eightshift Development kit @@ -15,12 +15,12 @@ - - - + + + -
    Skip to main content

    Typing as we code

    · 3 min read
    Igor Obradović

    Although there are a few basic blocks available after creating a project, there are a lot more blocks available in the dev kit. However, you have to add them to your project using WP-CLI (the simplest method). To see the complete list of available components and blocks, visit our Storybook.

    -

    These can be used out-of-the-box, but also as a good starting point if you need similar blocks in your projects. It will also speed up your development time since you don't have to build everything from scratch.

    Find more libraries, tools, and design assets free for everyone to use.

    Open-source freebies
    +
    Skip to main content

    Typing as we code

    Adding components and blocks with WP-CLI

    · 3 min read
    Igor Obradović
    WordPress Engineer

    Although there are a few basic blocks available after creating a project, there are a lot more blocks available in the dev kit. However, you have to add them to your project using WP-CLI (the simplest method). To see the complete list of available components and blocks, visit our Storybook.

    +

    These can be used out-of-the-box, but also as a good starting point if you need similar blocks in your projects. It will also speed up your development time since you don't have to build everything from scratch.

    Find more libraries, tools, and design assets free for everyone to use.

    Open-source freebies
    \ No newline at end of file diff --git a/blog/tags/acf/index.html b/blog/tags/acf/index.html index ed6b5bca4..7df081a49 100644 --- a/blog/tags/acf/index.html +++ b/blog/tags/acf/index.html @@ -2,7 +2,7 @@ - + One post tagged with "acf" | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + -
    Skip to main content

    One post tagged with "acf"

    View All Tags
    +
    Skip to main content

    One post tagged with "acf"

    View All Tags
    \ No newline at end of file diff --git a/blog/tags/advanced-custom-fields/index.html b/blog/tags/advanced-custom-fields/index.html index b090a1abb..e7d7adb28 100644 --- a/blog/tags/advanced-custom-fields/index.html +++ b/blog/tags/advanced-custom-fields/index.html @@ -2,7 +2,7 @@ - + One post tagged with "advanced custom fields" | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + -
    Skip to main content

    One post tagged with "advanced custom fields"

    View All Tags
    +
    Skip to main content

    One post tagged with "advanced custom fields"

    View All Tags
    \ No newline at end of file diff --git a/blog/tags/assets/index.html b/blog/tags/assets/index.html index 0ab2152b8..16295c78f 100644 --- a/blog/tags/assets/index.html +++ b/blog/tags/assets/index.html @@ -2,7 +2,7 @@ - + One post tagged with "assets" | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + -
    Skip to main content

    One post tagged with "assets"

    View All Tags
    +
    Skip to main content

    One post tagged with "assets"

    View All Tags
    \ No newline at end of file diff --git a/blog/tags/block/index.html b/blog/tags/block/index.html index 93d936de5..d64893c7c 100644 --- a/blog/tags/block/index.html +++ b/blog/tags/block/index.html @@ -2,7 +2,7 @@ - + 2 posts tagged with "block" | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + -
    Skip to main content

    2 posts tagged with "block"

    View All Tags
    +
    Skip to main content

    2 posts tagged with "block"

    View All Tags
    \ No newline at end of file diff --git a/blog/tags/blocks/index.html b/blog/tags/blocks/index.html index 1a2fbd849..530b28164 100644 --- a/blog/tags/blocks/index.html +++ b/blog/tags/blocks/index.html @@ -2,7 +2,7 @@ - + 5 posts tagged with "blocks" | Eightshift Development kit @@ -15,12 +15,12 @@ - - - + + + -
    Skip to main content

    5 posts tagged with "blocks"

    View All Tags

    · 3 min read
    Igor Obradović

    Although there are a few basic blocks available after creating a project, there are a lot more blocks available in the dev kit. However, you have to add them to your project using WP-CLI (the simplest method). To see the complete list of available components and blocks, visit our Storybook.

    -

    These can be used out-of-the-box, but also as a good starting point if you need similar blocks in your projects. It will also speed up your development time since you don't have to build everything from scratch.

    +
    Skip to main content

    5 posts tagged with "blocks"

    View All Tags

    Adding components and blocks with WP-CLI

    · 3 min read
    Igor Obradović
    WordPress Engineer

    Although there are a few basic blocks available after creating a project, there are a lot more blocks available in the dev kit. However, you have to add them to your project using WP-CLI (the simplest method). To see the complete list of available components and blocks, visit our Storybook.

    +

    These can be used out-of-the-box, but also as a good starting point if you need similar blocks in your projects. It will also speed up your development time since you don't have to build everything from scratch.

    \ No newline at end of file diff --git a/blog/tags/boilerplate/index.html b/blog/tags/boilerplate/index.html index 4148330cb..9abc86709 100644 --- a/blog/tags/boilerplate/index.html +++ b/blog/tags/boilerplate/index.html @@ -2,7 +2,7 @@ - + 17 posts tagged with "boilerplate" | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + -
    Skip to main content

    17 posts tagged with "boilerplate"

    View All Tags

    · 5 min read
    Igor Obradović

    WordPress offers two default ways to group content by content type - using posts or pages. Posts and pages are registered as default post types in the WordPress app. But sometimes, that is not enough. That's where custom post types (CPT) and custom taxonomies come in. This blog post will cover the basics of registering CPTs and taxonomies using Eightshift Dev Kit.

    +
    Skip to main content

    17 posts tagged with "boilerplate"

    View All Tags

    Using Custom Post Types and Taxonomies

    · 5 min read
    Igor Obradović
    WordPress Engineer

    WordPress offers two default ways to group content by content type - using posts or pages. Posts and pages are registered as default post types in the WordPress app. But sometimes, that is not enough. That's where custom post types (CPT) and custom taxonomies come in. This blog post will cover the basics of registering CPTs and taxonomies using Eightshift Dev Kit.

    \ No newline at end of file diff --git a/blog/tags/boilerplate/page/2/index.html b/blog/tags/boilerplate/page/2/index.html index c9a76258e..63c23adb3 100644 --- a/blog/tags/boilerplate/page/2/index.html +++ b/blog/tags/boilerplate/page/2/index.html @@ -2,7 +2,7 @@ - + 17 posts tagged with "boilerplate" | Eightshift Development kit @@ -15,12 +15,12 @@ - - - + + + -
    Skip to main content

    17 posts tagged with "boilerplate"

    View All Tags

    · 3 min read
    Igor Obradović

    Although there are a few basic blocks available after creating a project, there are a lot more blocks available in the dev kit. However, you have to add them to your project using WP-CLI (the simplest method). To see the complete list of available components and blocks, visit our Storybook.

    -

    These can be used out-of-the-box, but also as a good starting point if you need similar blocks in your projects. It will also speed up your development time since you don't have to build everything from scratch.

    +
    Skip to main content

    17 posts tagged with "boilerplate"

    View All Tags

    Adding components and blocks with WP-CLI

    · 3 min read
    Igor Obradović
    WordPress Engineer

    Although there are a few basic blocks available after creating a project, there are a lot more blocks available in the dev kit. However, you have to add them to your project using WP-CLI (the simplest method). To see the complete list of available components and blocks, visit our Storybook.

    +

    These can be used out-of-the-box, but also as a good starting point if you need similar blocks in your projects. It will also speed up your development time since you don't have to build everything from scratch.

    \ No newline at end of file diff --git a/blog/tags/class/index.html b/blog/tags/class/index.html index 074a8a019..799c0b02e 100644 --- a/blog/tags/class/index.html +++ b/blog/tags/class/index.html @@ -2,7 +2,7 @@ - + One post tagged with "class" | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + -
    Skip to main content

    One post tagged with "class"

    View All Tags
    +
    Skip to main content

    One post tagged with "class"

    View All Tags
    \ No newline at end of file diff --git a/blog/tags/classes/index.html b/blog/tags/classes/index.html index 3c6d14422..2767a77b5 100644 --- a/blog/tags/classes/index.html +++ b/blog/tags/classes/index.html @@ -2,7 +2,7 @@ - + One post tagged with "classes" | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + -
    Skip to main content

    One post tagged with "classes"

    View All Tags
    +
    Skip to main content

    One post tagged with "classes"

    View All Tags
    \ No newline at end of file diff --git a/blog/tags/colors/index.html b/blog/tags/colors/index.html index efd07e848..5c2b9639a 100644 --- a/blog/tags/colors/index.html +++ b/blog/tags/colors/index.html @@ -2,7 +2,7 @@ - + One post tagged with "colors" | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + -
    Skip to main content

    One post tagged with "colors"

    View All Tags
    +
    Skip to main content

    One post tagged with "colors"

    View All Tags
    \ No newline at end of file diff --git a/blog/tags/components/index.html b/blog/tags/components/index.html index 1699b7653..95f666a7a 100644 --- a/blog/tags/components/index.html +++ b/blog/tags/components/index.html @@ -2,7 +2,7 @@ - + 5 posts tagged with "components" | Eightshift Development kit @@ -15,12 +15,12 @@ - - - + + + -
    Skip to main content

    5 posts tagged with "components"

    View All Tags

    · 3 min read
    Igor Obradović

    Although there are a few basic blocks available after creating a project, there are a lot more blocks available in the dev kit. However, you have to add them to your project using WP-CLI (the simplest method). To see the complete list of available components and blocks, visit our Storybook.

    -

    These can be used out-of-the-box, but also as a good starting point if you need similar blocks in your projects. It will also speed up your development time since you don't have to build everything from scratch.

    +
    Skip to main content

    5 posts tagged with "components"

    View All Tags

    Adding components and blocks with WP-CLI

    · 3 min read
    Igor Obradović
    WordPress Engineer

    Although there are a few basic blocks available after creating a project, there are a lot more blocks available in the dev kit. However, you have to add them to your project using WP-CLI (the simplest method). To see the complete list of available components and blocks, visit our Storybook.

    +

    These can be used out-of-the-box, but also as a good starting point if you need similar blocks in your projects. It will also speed up your development time since you don't have to build everything from scratch.

    \ No newline at end of file diff --git a/blog/tags/cpt/index.html b/blog/tags/cpt/index.html index 42115cffa..adfccebb4 100644 --- a/blog/tags/cpt/index.html +++ b/blog/tags/cpt/index.html @@ -2,7 +2,7 @@ - + One post tagged with "cpt" | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + -
    Skip to main content

    One post tagged with "cpt"

    View All Tags

    · 5 min read
    Igor Obradović

    WordPress offers two default ways to group content by content type - using posts or pages. Posts and pages are registered as default post types in the WordPress app. But sometimes, that is not enough. That's where custom post types (CPT) and custom taxonomies come in. This blog post will cover the basics of registering CPTs and taxonomies using Eightshift Dev Kit.

    +
    Skip to main content

    One post tagged with "cpt"

    View All Tags

    Using Custom Post Types and Taxonomies

    · 5 min read
    Igor Obradović
    WordPress Engineer

    WordPress offers two default ways to group content by content type - using posts or pages. Posts and pages are registered as default post types in the WordPress app. But sometimes, that is not enough. That's where custom post types (CPT) and custom taxonomies come in. This blog post will cover the basics of registering CPTs and taxonomies using Eightshift Dev Kit.

    \ No newline at end of file diff --git a/blog/tags/custom-post-type/index.html b/blog/tags/custom-post-type/index.html index 3a007740e..eaed3b129 100644 --- a/blog/tags/custom-post-type/index.html +++ b/blog/tags/custom-post-type/index.html @@ -2,7 +2,7 @@ - + One post tagged with "custom post type" | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + -
    Skip to main content

    One post tagged with "custom post type"

    View All Tags

    · 5 min read
    Igor Obradović

    WordPress offers two default ways to group content by content type - using posts or pages. Posts and pages are registered as default post types in the WordPress app. But sometimes, that is not enough. That's where custom post types (CPT) and custom taxonomies come in. This blog post will cover the basics of registering CPTs and taxonomies using Eightshift Dev Kit.

    +
    Skip to main content

    One post tagged with "custom post type"

    View All Tags

    Using Custom Post Types and Taxonomies

    · 5 min read
    Igor Obradović
    WordPress Engineer

    WordPress offers two default ways to group content by content type - using posts or pages. Posts and pages are registered as default post types in the WordPress app. But sometimes, that is not enough. That's where custom post types (CPT) and custom taxonomies come in. This blog post will cover the basics of registering CPTs and taxonomies using Eightshift Dev Kit.

    \ No newline at end of file diff --git a/blog/tags/eightshift/index.html b/blog/tags/eightshift/index.html index 2dbf1eee3..5ea245288 100644 --- a/blog/tags/eightshift/index.html +++ b/blog/tags/eightshift/index.html @@ -2,7 +2,7 @@ - + 17 posts tagged with "eightshift" | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + -
    Skip to main content

    17 posts tagged with "eightshift"

    View All Tags

    · 5 min read
    Igor Obradović

    WordPress offers two default ways to group content by content type - using posts or pages. Posts and pages are registered as default post types in the WordPress app. But sometimes, that is not enough. That's where custom post types (CPT) and custom taxonomies come in. This blog post will cover the basics of registering CPTs and taxonomies using Eightshift Dev Kit.

    +
    Skip to main content

    17 posts tagged with "eightshift"

    View All Tags

    Using Custom Post Types and Taxonomies

    · 5 min read
    Igor Obradović
    WordPress Engineer

    WordPress offers two default ways to group content by content type - using posts or pages. Posts and pages are registered as default post types in the WordPress app. But sometimes, that is not enough. That's where custom post types (CPT) and custom taxonomies come in. This blog post will cover the basics of registering CPTs and taxonomies using Eightshift Dev Kit.

    \ No newline at end of file diff --git a/blog/tags/eightshift/page/2/index.html b/blog/tags/eightshift/page/2/index.html index 004930680..ba6538080 100644 --- a/blog/tags/eightshift/page/2/index.html +++ b/blog/tags/eightshift/page/2/index.html @@ -2,7 +2,7 @@ - + 17 posts tagged with "eightshift" | Eightshift Development kit @@ -15,12 +15,12 @@ - - - + + + -
    Skip to main content

    17 posts tagged with "eightshift"

    View All Tags

    · 3 min read
    Igor Obradović

    Although there are a few basic blocks available after creating a project, there are a lot more blocks available in the dev kit. However, you have to add them to your project using WP-CLI (the simplest method). To see the complete list of available components and blocks, visit our Storybook.

    -

    These can be used out-of-the-box, but also as a good starting point if you need similar blocks in your projects. It will also speed up your development time since you don't have to build everything from scratch.

    +
    Skip to main content

    17 posts tagged with "eightshift"

    View All Tags

    Adding components and blocks with WP-CLI

    · 3 min read
    Igor Obradović
    WordPress Engineer

    Although there are a few basic blocks available after creating a project, there are a lot more blocks available in the dev kit. However, you have to add them to your project using WP-CLI (the simplest method). To see the complete list of available components and blocks, visit our Storybook.

    +

    These can be used out-of-the-box, but also as a good starting point if you need similar blocks in your projects. It will also speed up your development time since you don't have to build everything from scratch.

    \ No newline at end of file diff --git a/blog/tags/fonts/index.html b/blog/tags/fonts/index.html index 5df26f5b7..f993bfd31 100644 --- a/blog/tags/fonts/index.html +++ b/blog/tags/fonts/index.html @@ -2,7 +2,7 @@ - + One post tagged with "fonts" | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + -
    Skip to main content

    One post tagged with "fonts"

    View All Tags
    +
    Skip to main content

    One post tagged with "fonts"

    View All Tags
    \ No newline at end of file diff --git a/blog/tags/i-18-n/index.html b/blog/tags/i-18-n/index.html index 3ba9d05a2..9e8998c45 100644 --- a/blog/tags/i-18-n/index.html +++ b/blog/tags/i-18-n/index.html @@ -2,7 +2,7 @@ - + One post tagged with "i18n" | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + -
    Skip to main content

    One post tagged with "i18n"

    View All Tags
    +
    Skip to main content

    One post tagged with "i18n"

    View All Tags
    \ No newline at end of file diff --git a/blog/tags/icons/index.html b/blog/tags/icons/index.html index 95c73ad37..fa96525f0 100644 --- a/blog/tags/icons/index.html +++ b/blog/tags/icons/index.html @@ -2,7 +2,7 @@ - + One post tagged with "icons" | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + -
    Skip to main content

    One post tagged with "icons"

    View All Tags
    +
    Skip to main content

    One post tagged with "icons"

    View All Tags
    \ No newline at end of file diff --git a/blog/tags/images/index.html b/blog/tags/images/index.html index b7e119e7f..aae776f87 100644 --- a/blog/tags/images/index.html +++ b/blog/tags/images/index.html @@ -2,7 +2,7 @@ - + 2 posts tagged with "images" | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + -
    Skip to main content

    2 posts tagged with "images"

    View All Tags
    +
    Skip to main content

    2 posts tagged with "images"

    View All Tags
    \ No newline at end of file diff --git a/blog/tags/index.html b/blog/tags/index.html index 0aa94f67e..e6d327037 100644 --- a/blog/tags/index.html +++ b/blog/tags/index.html @@ -2,7 +2,7 @@ - + Tags | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + - + \ No newline at end of file diff --git a/blog/tags/inner-blocks/index.html b/blog/tags/inner-blocks/index.html index d8ccea669..9ba315ae0 100644 --- a/blog/tags/inner-blocks/index.html +++ b/blog/tags/inner-blocks/index.html @@ -2,7 +2,7 @@ - + One post tagged with "inner blocks" | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + -
    Skip to main content

    One post tagged with "inner blocks"

    View All Tags
    +
    Skip to main content

    One post tagged with "inner blocks"

    View All Tags
    \ No newline at end of file diff --git a/blog/tags/multilingual/index.html b/blog/tags/multilingual/index.html index 85a0a2e08..0db21fbbe 100644 --- a/blog/tags/multilingual/index.html +++ b/blog/tags/multilingual/index.html @@ -2,7 +2,7 @@ - + One post tagged with "multilingual" | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + -
    Skip to main content

    One post tagged with "multilingual"

    View All Tags
    +
    Skip to main content

    One post tagged with "multilingual"

    View All Tags
    \ No newline at end of file diff --git a/blog/tags/patterns/index.html b/blog/tags/patterns/index.html index 110b9050e..46db846bd 100644 --- a/blog/tags/patterns/index.html +++ b/blog/tags/patterns/index.html @@ -2,7 +2,7 @@ - + One post tagged with "patterns" | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + -
    Skip to main content

    One post tagged with "patterns"

    View All Tags
    +
    Skip to main content

    One post tagged with "patterns"

    View All Tags
    \ No newline at end of file diff --git a/blog/tags/plugins/index.html b/blog/tags/plugins/index.html index 2a33c10fe..d31b63591 100644 --- a/blog/tags/plugins/index.html +++ b/blog/tags/plugins/index.html @@ -2,7 +2,7 @@ - + One post tagged with "plugins" | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + -
    Skip to main content

    One post tagged with "plugins"

    View All Tags
    +
    Skip to main content

    One post tagged with "plugins"

    View All Tags
    \ No newline at end of file diff --git a/blog/tags/query/index.html b/blog/tags/query/index.html index 5287e2afc..aa1eb3ffb 100644 --- a/blog/tags/query/index.html +++ b/blog/tags/query/index.html @@ -2,7 +2,7 @@ - + One post tagged with "query" | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + -
    Skip to main content

    One post tagged with "query"

    View All Tags
    +
    Skip to main content

    One post tagged with "query"

    View All Tags
    \ No newline at end of file diff --git a/blog/tags/service/index.html b/blog/tags/service/index.html index c9460a691..9f04132b3 100644 --- a/blog/tags/service/index.html +++ b/blog/tags/service/index.html @@ -2,7 +2,7 @@ - + One post tagged with "service" | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + -
    Skip to main content

    One post tagged with "service"

    View All Tags
    +
    Skip to main content

    One post tagged with "service"

    View All Tags
    \ No newline at end of file diff --git a/blog/tags/setup/index.html b/blog/tags/setup/index.html index 4edcdedf5..cd5f64a07 100644 --- a/blog/tags/setup/index.html +++ b/blog/tags/setup/index.html @@ -2,7 +2,7 @@ - + One post tagged with "setup" | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + -
    Skip to main content

    One post tagged with "setup"

    View All Tags
    +
    Skip to main content

    One post tagged with "setup"

    View All Tags
    \ No newline at end of file diff --git a/blog/tags/taxonomies/index.html b/blog/tags/taxonomies/index.html index 84c5f610a..4bac88731 100644 --- a/blog/tags/taxonomies/index.html +++ b/blog/tags/taxonomies/index.html @@ -2,7 +2,7 @@ - + One post tagged with "taxonomies" | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + -
    Skip to main content

    One post tagged with "taxonomies"

    View All Tags

    · 5 min read
    Igor Obradović

    WordPress offers two default ways to group content by content type - using posts or pages. Posts and pages are registered as default post types in the WordPress app. But sometimes, that is not enough. That's where custom post types (CPT) and custom taxonomies come in. This blog post will cover the basics of registering CPTs and taxonomies using Eightshift Dev Kit.

    +
    Skip to main content

    One post tagged with "taxonomies"

    View All Tags

    Using Custom Post Types and Taxonomies

    · 5 min read
    Igor Obradović
    WordPress Engineer

    WordPress offers two default ways to group content by content type - using posts or pages. Posts and pages are registered as default post types in the WordPress app. But sometimes, that is not enough. That's where custom post types (CPT) and custom taxonomies come in. This blog post will cover the basics of registering CPTs and taxonomies using Eightshift Dev Kit.

    \ No newline at end of file diff --git a/blog/tags/taxonomy/index.html b/blog/tags/taxonomy/index.html index fb93a9d16..207252c5d 100644 --- a/blog/tags/taxonomy/index.html +++ b/blog/tags/taxonomy/index.html @@ -2,7 +2,7 @@ - + One post tagged with "taxonomy" | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + -
    Skip to main content

    One post tagged with "taxonomy"

    View All Tags

    · 5 min read
    Igor Obradović

    WordPress offers two default ways to group content by content type - using posts or pages. Posts and pages are registered as default post types in the WordPress app. But sometimes, that is not enough. That's where custom post types (CPT) and custom taxonomies come in. This blog post will cover the basics of registering CPTs and taxonomies using Eightshift Dev Kit.

    +
    Skip to main content

    One post tagged with "taxonomy"

    View All Tags

    Using Custom Post Types and Taxonomies

    · 5 min read
    Igor Obradović
    WordPress Engineer

    WordPress offers two default ways to group content by content type - using posts or pages. Posts and pages are registered as default post types in the WordPress app. But sometimes, that is not enough. That's where custom post types (CPT) and custom taxonomies come in. This blog post will cover the basics of registering CPTs and taxonomies using Eightshift Dev Kit.

    \ No newline at end of file diff --git a/blog/tags/templates/index.html b/blog/tags/templates/index.html index 2b6d5a9c2..b8804b101 100644 --- a/blog/tags/templates/index.html +++ b/blog/tags/templates/index.html @@ -2,7 +2,7 @@ - + One post tagged with "templates" | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + -
    Skip to main content

    One post tagged with "templates"

    View All Tags
    +
    Skip to main content

    One post tagged with "templates"

    View All Tags
    \ No newline at end of file diff --git a/blog/tags/terms/index.html b/blog/tags/terms/index.html index fae818e74..b8ae026de 100644 --- a/blog/tags/terms/index.html +++ b/blog/tags/terms/index.html @@ -2,7 +2,7 @@ - + One post tagged with "terms" | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + -
    Skip to main content

    One post tagged with "terms"

    View All Tags

    · 5 min read
    Igor Obradović

    WordPress offers two default ways to group content by content type - using posts or pages. Posts and pages are registered as default post types in the WordPress app. But sometimes, that is not enough. That's where custom post types (CPT) and custom taxonomies come in. This blog post will cover the basics of registering CPTs and taxonomies using Eightshift Dev Kit.

    +
    Skip to main content

    One post tagged with "terms"

    View All Tags

    Using Custom Post Types and Taxonomies

    · 5 min read
    Igor Obradović
    WordPress Engineer

    WordPress offers two default ways to group content by content type - using posts or pages. Posts and pages are registered as default post types in the WordPress app. But sometimes, that is not enough. That's where custom post types (CPT) and custom taxonomies come in. This blog post will cover the basics of registering CPTs and taxonomies using Eightshift Dev Kit.

    \ No newline at end of file diff --git a/blog/tags/theme-options/index.html b/blog/tags/theme-options/index.html index bcd81b6af..7986a75e8 100644 --- a/blog/tags/theme-options/index.html +++ b/blog/tags/theme-options/index.html @@ -2,7 +2,7 @@ - + One post tagged with "theme options" | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + -
    Skip to main content

    One post tagged with "theme options"

    View All Tags
    +
    Skip to main content

    One post tagged with "theme options"

    View All Tags
    \ No newline at end of file diff --git a/blog/tags/variations/index.html b/blog/tags/variations/index.html index 4a5463ce1..fcc5c0032 100644 --- a/blog/tags/variations/index.html +++ b/blog/tags/variations/index.html @@ -2,7 +2,7 @@ - + One post tagged with "variations" | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + -
    Skip to main content

    One post tagged with "variations"

    View All Tags
    +
    Skip to main content

    One post tagged with "variations"

    View All Tags
    \ No newline at end of file diff --git a/blog/tags/wpcli/index.html b/blog/tags/wpcli/index.html index c8f0e3c5b..d10f900ac 100644 --- a/blog/tags/wpcli/index.html +++ b/blog/tags/wpcli/index.html @@ -2,7 +2,7 @@ - + One post tagged with "wpcli" | Eightshift Development kit @@ -15,12 +15,12 @@ - - - + + + -
    Skip to main content

    One post tagged with "wpcli"

    View All Tags

    · 3 min read
    Igor Obradović

    Although there are a few basic blocks available after creating a project, there are a lot more blocks available in the dev kit. However, you have to add them to your project using WP-CLI (the simplest method). To see the complete list of available components and blocks, visit our Storybook.

    +

    One post tagged with "wpcli"

    View All Tags

    Adding components and blocks with WP-CLI

    · 3 min read
    Igor Obradović
    WordPress Engineer

    Although there are a few basic blocks available after creating a project, there are a lot more blocks available in the dev kit. However, you have to add them to your project using WP-CLI (the simplest method). To see the complete list of available components and blocks, visit our Storybook.

    These can be used out-of-the-box, but also as a good starting point if you need similar blocks in your projects. It will also speed up your development time since you don't have to build everything from scratch.

    \ No newline at end of file diff --git a/blog/tags/wrapper/index.html b/blog/tags/wrapper/index.html index 2e667e26b..bfc1355cc 100644 --- a/blog/tags/wrapper/index.html +++ b/blog/tags/wrapper/index.html @@ -2,7 +2,7 @@ - + One post tagged with "wrapper" | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + -

    One post tagged with "wrapper"

    View All Tags
    +

    One post tagged with "wrapper"

    View All Tags
    \ No newline at end of file diff --git a/blog/tips-useful-features/index.html b/blog/tips-useful-features/index.html index d6dc78fec..6d0ca8279 100644 --- a/blog/tips-useful-features/index.html +++ b/blog/tips-useful-features/index.html @@ -2,8 +2,8 @@ - -Tips & useful features | Eightshift Development kit + +Tips & useful features | Eightshift Development kit @@ -15,12 +15,12 @@ - - - + + + -

    Tips & useful features

    · 6 min read
    Igor Obradović

    Eightshift DevKit has lots of features that can make your development experience easier. These are mostly minor features which can’t be a blog post of its own, so they’ll be listed here. This isn’t a complete list, so there may be a part 2 in the future.

    +

    Tips & useful features

    · 6 min read
    Igor Obradović
    WordPress Engineer

    Eightshift DevKit has lots of features that can make your development experience easier. These are mostly minor features which can’t be a blog post of its own, so they’ll be listed here. This isn’t a complete list, so there may be a part 2 in the future.

    Using only Eightshift blocks

    If you want to remove the default Gutenberg blocks and use only Eightshift blocks, it’s as easy as adding the following code in your src/Blocks/Blocks.php file:

    // Limits the usage of only custom project blocks.
    \add_filter('allowed_block_types_all', [$this, 'getAllBlocksList'], 10, 2);
    @@ -88,6 +88,6 @@

    +
    \ No newline at end of file diff --git a/blog/using-assets/index.html b/blog/using-assets/index.html index 6183271e6..22d86eee4 100644 --- a/blog/using-assets/index.html +++ b/blog/using-assets/index.html @@ -2,8 +2,8 @@ - -Using assets in a project | Eightshift Development kit + +Using assets in a project | Eightshift Development kit @@ -15,12 +15,12 @@ - - - + + + -

    Using assets in a project

    · 4 min read
    Igor Obradović

    Previously, we went through the process of adding fonts to your project. While the process of adding additional assets like images or icons has some similarities to adding fonts, it also has its unique steps. In this post, we'll cover multiple ways of adding assets and using them on your site.

    +

    Using assets in a project

    · 4 min read
    Igor Obradović
    WordPress Engineer

    Previously, we went through the process of adding fonts to your project. While the process of adding additional assets like images or icons has some similarities to adding fonts, it also has its unique steps. In this post, we'll cover multiple ways of adding assets and using them on your site.

    Adding images

    Similar to fonts, there is also a dedicated folder for adding images that will be used in a theme. The location of this folder is assets/images. The procedure to add images is even simpler than fonts, which you can read about in Adding fonts blog post. Just follow these steps to add a new image:

      @@ -56,6 +56,6 @@

      Conclusion

      -

      As you could see in this blog post, there are multiple ways of adding assets to a project. It all depends on how these will be used and what the scope of their use will be.

    +

    As you could see in this blog post, there are multiple ways of adding assets to a project. It all depends on how these will be used and what the scope of their use will be.

    \ No newline at end of file diff --git a/blog/using-cpts-and-taxonomies/index.html b/blog/using-cpts-and-taxonomies/index.html index 2d4967746..1109b8d33 100644 --- a/blog/using-cpts-and-taxonomies/index.html +++ b/blog/using-cpts-and-taxonomies/index.html @@ -2,8 +2,8 @@ - -Using Custom Post Types and Taxonomies | Eightshift Development kit + +Using Custom Post Types and Taxonomies | Eightshift Development kit @@ -15,12 +15,12 @@ - - - + + + -

    Using Custom Post Types and Taxonomies

    · 5 min read
    Igor Obradović

    WordPress offers two default ways to group content by content type - using posts or pages. Posts and pages are registered as default post types in the WordPress app. But sometimes, that is not enough. That's where custom post types (CPT) and custom taxonomies come in. This blog post will cover the basics of registering CPTs and taxonomies using Eightshift Dev Kit.

    +

    Using Custom Post Types and Taxonomies

    · 5 min read
    Igor Obradović
    WordPress Engineer

    WordPress offers two default ways to group content by content type - using posts or pages. Posts and pages are registered as default post types in the WordPress app. But sometimes, that is not enough. That's where custom post types (CPT) and custom taxonomies come in. This blog post will cover the basics of registering CPTs and taxonomies using Eightshift Dev Kit.

    Why should you use CPTs?

    The great thing about WordPress is how extensible it is. With projects becoming more complex, the need for additional post types and taxonomies increases. Sure, you can cram everything into default posts or pages, but this can become very chaotic. Using custom post types allows you to manage your content much better. You can separate events and projects from news articles for instance.

    Post category and tag are taxonomies - a grouping you can further separate by terms belonging to that taxonomy. WordPress, since version 2.3.0 offers a way to register your own, custom taxonomies.

    @@ -49,6 +49,6 @@

    Clashing slug

    Something that can happen when working on your project is that you have the same slugs for your custom post type and your page, for example. Let's say you have a page with a slug project, and a custom post type with a slug project. When trying to access the page, you'll keep getting the Project CPT archive. To fix it, you have to change one of the slugs or write a custom redirection rule (which we don't recommend, as the redirections are tricky to handle in WordPress).

    Further reading

    For the best overview of all the options you have when registering your custom post type or taxonomy, we recommend checking the official WordPress docs for the register_post_type() and register_taxonomy() functions.

    -

    If you would like to know more about taxonomies and terms, along with how they are stored in the database, you can read more about it in the Categories, Tags, & Custom Taxonomies page of the WordPress docs.

    +

    If you would like to know more about taxonomies and terms, along with how they are stored in the database, you can read more about it in the Categories, Tags, & Custom Taxonomies page of the WordPress docs.

    \ No newline at end of file diff --git a/blog/using-inner-blocks/index.html b/blog/using-inner-blocks/index.html index 42ac5ae39..9163b775c 100644 --- a/blog/using-inner-blocks/index.html +++ b/blog/using-inner-blocks/index.html @@ -2,8 +2,8 @@ - -Using inner blocks | Eightshift Development kit + +Using inner blocks | Eightshift Development kit @@ -15,12 +15,12 @@ - - - + + + -

    Using inner blocks

    · 5 min read
    Igor Obradović

    InnerBlocks in WordPress enable the creation of nested block structures within the Gutenberg editor, allowing for the development of more complex and customizable content layouts.

    +

    Using inner blocks

    · 5 min read
    Igor Obradović
    WordPress Engineer

    InnerBlocks in WordPress enable the creation of nested block structures within the Gutenberg editor, allowing for the development of more complex and customizable content layouts.

    Why use inner blocks?

    Use of inner blocks allows for more flexibility when building content. Let’s say you’re building a simple two-column layout with image on one side and content on the other side. You can define the components that will be used (e.g. header, paragraph, list, button) and then just toggle the ones you don’t need.

    This approach works perfectly fine when you have a strict layout and don’t need larger content structure variations. Using inner blocks may introduce a bit more complexity - both for developers and content editors, but ultimately gives the editors much more freedom.

    @@ -60,6 +60,6 @@

    Conclusioncolumn
  • carousel
  • group
  • -

    +
    \ No newline at end of file diff --git a/blog/using-post-templates/index.html b/blog/using-post-templates/index.html index 9af0dcf9a..211f35804 100644 --- a/blog/using-post-templates/index.html +++ b/blog/using-post-templates/index.html @@ -2,8 +2,8 @@ - -Using post templates | Eightshift Development kit + +Using post templates | Eightshift Development kit @@ -15,12 +15,12 @@ - - - + + + -

    Using post templates

    · 6 min read
    Igor Obradović

    Sometimes you need your posts to follow a specific structure, or you simply want to provide a good starting point for the editors. This blog post will cover what post templates are, how to set them up, and what options they offer.

    +

    Using post templates

    · 6 min read
    Igor Obradović
    WordPress Engineer

    Sometimes you need your posts to follow a specific structure, or you simply want to provide a good starting point for the editors. This blog post will cover what post templates are, how to set them up, and what options they offer.

    A simple use case of post templates can be a review or a testimonial. For example, if you want each review to be a separate post and to use a single Quote block.

    If you don’t have the new post type registered, you can refer to one of the previous blog posts which explains how to register Custom Post Types. Once the new post type is registered, you can set the template_lock argument.

    Template locking options

    @@ -65,6 +65,6 @@

    +

    Reviews - use a single quote block for displaying user reviews. To make it work with the Featured Content block, you can modify the Featured Content block to render the Reviews CPT content directly, instead of rendering cards.

    \ No newline at end of file diff --git a/blog/working-with-custom-queries/index.html b/blog/working-with-custom-queries/index.html index 7d20ce0b3..65a41ef49 100644 --- a/blog/working-with-custom-queries/index.html +++ b/blog/working-with-custom-queries/index.html @@ -2,8 +2,8 @@ - -Working with custom queries | Eightshift Development kit + +Working with custom queries | Eightshift Development kit @@ -15,12 +15,12 @@ - - - + + + -

    Working with custom queries

    · 4 min read
    Igor Obradović

    Eightshift DevKit offers some blocks with query logic out of the box, but what is the best approach when you need to add a custom query to a block you’ve been working on?

    +

    Working with custom queries

    · 4 min read
    Igor Obradović
    WordPress Engineer

    Eightshift DevKit offers some blocks with query logic out of the box, but what is the best approach when you need to add a custom query to a block you’ve been working on?

    Usage in built-in blocks

    One of the Eightshift blocks that already uses WP_Query is the Featured Content block. In that block, you can see the query logic is inside the block. However, there is a much better way to do it. The reason it was done like this was to simplify this block and to have an already functioning block available with one WP-CLI command.

    A much better approach would be to separate the query logic from the block. Other than following the MVC architecture more closely, this will also make the query logic more reusable. To do this, we’re gonna create a service class.

    @@ -53,6 +53,6 @@

    $postData = [];

    if ($queryData->have_posts()) {
    while($queryData->have_posts()) {
    $queryData->the_post();

    $postData[] = [
    'id' => get_the_ID(),
    'title' => get_the_title(),
    'url' => get_permalink(),
    'image' => get_the_post_thumbnail_url(),
    'date' => get_the_time('d.m.Y.'),
    'excerpt' => get_the_excerpt(),
    ];
    }
    }

    wp_reset_postdata();

    return $postData;

    Best practices for queries

    -

    It’s important to have query optimisation in mind. Some queries may be a lot slower and you have to see if there is any way to follow the best practices for database queries.

    +

    It’s important to have query optimisation in mind. Some queries may be a lot slower and you have to see if there is any way to follow the best practices for database queries.

    \ No newline at end of file diff --git a/blog/wrapper-as-a-standalone-component/index.html b/blog/wrapper-as-a-standalone-component/index.html index 5131f6c06..15445c597 100644 --- a/blog/wrapper-as-a-standalone-component/index.html +++ b/blog/wrapper-as-a-standalone-component/index.html @@ -2,8 +2,8 @@ - -How to use the Wrapper as a standalone component | Eightshift Development kit + +How to use the Wrapper as a standalone component | Eightshift Development kit @@ -15,12 +15,12 @@ - - - + + + -
    Skip to main content

    How to use the Wrapper as a standalone component

    · 4 min read
    Ivan Kancijan

    As one of the most powerful features in the Eightshift DevKit, the Wrapper is a part of every Eightshift block in the Gutenberg editor, but what about WordPress templates?

    +

    How to use the Wrapper as a standalone component

    · 4 min read
    Ivan Kancijan
    WordPress Engineer

    As one of the most powerful features in the Eightshift DevKit, the Wrapper is a part of every Eightshift block in the Gutenberg editor, but what about WordPress templates?

    Note

    Wrapper is designed to be the ultimate top-level component that controls how your block behaves in the website layout. It is a sort of a 'section' in traditional builders. By default, you can control a whole lot of stuff, but there is an option to add custom attributes and tailor the Wrapper to the needs of your project.

    What are WordPress templates?

    Before the days of Full Site Editing in WordPress, we used template files to add custom layouts to a blog page or post archives.

    @@ -52,6 +52,6 @@

    Final result
    <?php

    /**
    * Display regular index/home page
    *
    * @package InfinumLibs
    */

    use InfinumLibsVendor\EightshiftLibs\Helpers\Components;

    get_header();

    if (have_posts()) {
    while (have_posts()) {
    the_post();

    echo Components::render(
    'wrapper.php',
    [
    'wrapperOnlyOutput' => true,
    'wrapperManualContent' => Components::render('card', [
    'introContent' => sprintf(__('On %1$s by %2$s', 'eightshift'), get_the_date(), get_the_author_meta('display_name')),
    'headingContent' => get_the_title(),
    'paragraphContent' => apply_filters('the_content', get_the_excerpt()),
    'buttonContent' => __('View more', 'eightshift'),
    'buttonUrl' => get_permalink(),
    ]),
    'wrapperSpacingTopLarge' => 50,
    'wrapperSpacingBottomLarge' => 50,
    ],
    '',
    true
    );
    }
    }

    get_footer();

    Wrapper with content

    Conclusion

    -

    Although the Wrapper is (usually) not intended to be used as a standalone component, there is a nice benefit to having a time-saving, out-of-the-box solution for displaying content in a grid already defined in your project.

    +

    Although the Wrapper is (usually) not intended to be used as a standalone component, there is a nice benefit to having a time-saving, out-of-the-box solution for displaying content in a grid already defined in your project.

    \ No newline at end of file diff --git a/devkit-components.zip b/devkit-components.zip index 90f6424ae..bbe0d8b3c 100644 Binary files a/devkit-components.zip and b/devkit-components.zip differ diff --git a/devkit-components/index.html b/devkit-components/index.html index dec276abf..54dff6cc6 100644 --- a/devkit-components/index.html +++ b/devkit-components/index.html @@ -2,7 +2,7 @@ - + Playground | Eightshift Development kit @@ -15,11 +15,11 @@ - - - + + + -
    Skip to main content

    Preparing docs, please wait

    +
    Skip to main content

    Preparing component docs

    Initializing
    \ No newline at end of file diff --git a/devkittest.zip b/devkittest.zip index daeba532d..f75695a0c 100644 Binary files a/devkittest.zip and b/devkittest.zip differ diff --git a/docs/additional-libraries/boilerplate-plugin/index.html b/docs/additional-libraries/boilerplate-plugin/index.html index 52520b685..8cece1e33 100644 --- a/docs/additional-libraries/boilerplate-plugin/index.html +++ b/docs/additional-libraries/boilerplate-plugin/index.html @@ -2,7 +2,7 @@ - + Eightshift Boilerplate Plugin | Eightshift Development kit @@ -15,12 +15,12 @@ - - - + + + -
    Skip to main content

    Eightshift Boilerplate Plugin

    GitHub tag

    +

    Eightshift Boilerplate Plugin

    GitHub tag

    The same as Eightshift Boilerplate but if you need plugin setup in your project.